• 您(nín)的位置:首頁 > 新聞動態(tài) > Unity3D

    Unity3D自帶(dài)動畫係(xì)統教程

    2017/8/9      點擊:

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

    首先給模型添加Animator組件

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

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

    如果勾選了這個按鈕,動畫就會默(mò)認(rèn)播(bō)放完才會播放下一個動畫,如果不勾選,就會馬上播放。

    用代碼去控製人物攻擊觸發(fā)條件。給人物添(tiān)加C#腳本。

    public class controller: MonoBehaviour {

    private Animator animator;

    void start(){
    animator = GetCompenent();

    }

    void Update(){

    if(Input.GetMouseButtonDown(0))

    {

    animator.SetTrigger("New Trigger");

    }

    }

    } //MonoBehaviour

    再添加一個人物跑動的動畫(huà)並用代碼控製(Run動畫),因為跑是(shì)一個持續性動作,當我按住W的時候他就應該(gāi)持續的跑,所以我們要設置一個Bool類型(xíng)的條件。跑和停(tíng)都是要馬上完成(chéng),所以都不應該勾選Has Exiit Time。代碼(mǎ)實現 :

    if(Input.GetKeyDown(KeyCode.W))

    {

        animatorSetBool("isBool", true);

    }


    if(Input.GetKeyUp(KeyCode.W))

    {

        animatorSetBool("isBool", false);

    }


    网站地图 正能量网-传播正能量弘扬主旋律-免费正能量网站www正能量-免费正能量网站www正能量下载在线观看官网