• Unity3D自帶動畫係(xì)統(tǒng)教程

    2017/8/9      點擊:

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

    首(shǒu)先給模型添加Animator組件

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

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

    如果勾選了這個按鈕,動畫就會默認播放完才會播放下一個動(dòng)畫,如果(guǒ)不勾選,就會馬(mǎ)上(shàng)播放。

    用代碼(mǎ)去控製(zhì)人物(wù)攻擊觸發條件。給人物添加C#腳本。

    public class controller: MonoBehaviour {

    private Animator animator;

    void start(){
    animator = GetCompenent();

    }

    void Update(){

    if(Input.GetMouseButtonDown(0))

    {

    animator.SetTrigger("New Trigger");

    }

    }

    } //MonoBehaviour

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

    if(Input.GetKeyDown(KeyCode.W))

    {

        animatorSetBool("isBool", true);

    }


    if(Input.GetKeyUp(KeyCode.W))

    {

        animatorSetBool("isBool", false);

    }


    日本中出视频|午夜免费福利在线|亚洲精品亚洲人成在线下载|国产高潮流白浆免费观看不卡|偷拍亚洲欧美|亚洲中文字幕久爱亚洲伊人|久久久久香蕉视频|国产欧美日韩一区|久久国产成人亚洲精品影院老金|久久久久中文字幕