• 您的位(wèi)置:首頁 > 新聞動態 > Unity3D

    Unity3D自帶動(dòng)畫係(xì)統教程

    2017/8/9      點擊:

    導入人物模(mó)型,模型是不會動的,因為沒有添加動畫

    首先給模(mó)型添加Animator組件

    有的模型上自帶組件,是因為我們給他設置(zhì)成了人形動畫,如果是普通動畫就需要自己添加。添加好組件以後(hòu),我們發現(xiàn)上麵(miàn)缺少了一個(gè)animator controller(動畫控製(zhì)器),我們需要添加一個拖進(jìn)去。在controller裏麵添加動畫剪(jiǎn)輯。點擊進入animator視圖,找(zhǎo)到文件中的Idle動畫,拖進去。橘黃為默認動畫。再拖進一個攻擊動畫Atrrack,右鍵Make Transition(創建(jiàn)過渡),此時運行會發現動畫自動播放了,如果我們不想讓動畫自動過渡,我們需要給過渡添加一個條件,點擊(jī)過渡線,選項卡(kǎ)中有(yǒu)一個過渡條件

    但是現在過渡條件是空的(de),所以我(wǒ)們要自己(jǐ)創建一(yī)個過(guò)渡(dù)條件,回到左(zuǒ)麵的Parameters選項中,我們給他添加一個(gè)Triggerr(觸發)條件,然後(hòu)在Conditions中(zhōng)設置。現在Attack是一次性的動作(zuò),不會重複,所以這個動作播放完就會停止,所以我們要讓Attackk回(huí)到Idle狀態。連回去。我們會發現當點擊Trigger後,並不會馬上從Idle狀態跳轉到Atrrack狀態,這是因為我們默認勾選了Has Exit Time

    如果(guǒ)勾選了這個(gè)按鈕,動畫(huà)就會默認播放完才會播放下(xià)一個動畫,如果(guǒ)不勾選,就會馬上播放。

    用代碼去控(kòng)製(zhì)人物攻擊觸發條件。給人物添加C#腳本。

    public class controller: MonoBehaviour {

    private Animator animator;

    void start(){
    animator = GetCompenent();

    }

    void Update(){

    if(Input.GetMouseButtonDown(0))

    {

    animator.SetTrigger("New Trigger");

    }

    }

    } //MonoBehaviour

    再添加(jiā)一個人物跑動的動(dòng)畫並用代碼控製(Run動畫),因為跑是一個持續性動作,當(dāng)我按住W的時候他(tā)就應(yīng)該持(chí)續的跑,所以我們(men)要設置(zhì)一個Bool類型的條(tiáo)件。跑和停都是要馬上完成,所以都不應該勾選Has Exiit Time。代碼實現 :

    if(Input.GetKeyDown(KeyCode.W))

    {

        animatorSetBool("isBool", true);

    }


    if(Input.GetKeyUp(KeyCode.W))

    {

        animatorSetBool("isBool", false);

    }


    密桃直播-密桃直播手机版下载-蜜桃直播app下载安装-蜜桃直播官方版下载