Unity3D自帶動畫係(xì)統(tǒng)教程
導入人物模型,模(mó)型是(shì)不會動的,因(yīn)為沒有添加動畫
首先給模型添加Animator組件
有的模型上自帶組件,是因為我們給他設置成了人形動畫,如果是普通動畫就需要自己添(tiān)加。添(tiān)加好(hǎo)組件以後,我們發現上麵缺少了一個(gè)animator controller(動畫控製器),我們需要添加一個拖進去(qù)。在controller裏麵添加動(dòng)畫剪輯。點擊進入animator視圖,找到文件中的Idle動畫,拖進去。橘黃為默認動畫。再拖進(jìn)一個攻擊動畫Atrrack,右鍵Make Transition(創建過(guò)渡(dù)),此時運行會發現動(dòng)畫自動播(bō)放(fàng)了,如(rú)果我們不想讓動畫(huà)自動過渡,我(wǒ)們(men)需要給過渡添加一個條件,點(diǎn)擊過渡線,選項卡中有一個過渡條件
但(dàn)是現在過渡條件是空的,所以我(wǒ)們要自己創建一個過渡條件,回到(dào)左麵的Parameters選項中,我們給他(tā)添(tiān)加一個Triggerr(觸發)條件,然(rán)後在Conditions中設置。現在Attack是(shì)一次性的動作(zuò),不會重複,所以這個動作播放完就會停止(zhǐ),所以我們要讓Attackk回到Idle狀態。連回去。我們會發現當點擊Trigger後,並不會馬上從Idle狀態跳轉到(dào)Atrrack狀態,這是因為我們默認勾選了Has Exit Time
如果勾(gōu)選了這個按鈕,動(dòng)畫就會默認播(bō)放完才會播放下一個(gè)動畫,如果不(bú)勾選,就(jiù)會馬上播放。
用代碼去控製(zhì)人物攻擊觸發條件。給人物添加(jiā)C#腳本。
public class controller: MonoBehaviour {
private Animator animator;
void start(){
animator = GetCompenent();
}
void Update(){
if(Input.GetMouseButtonDown(0))
{
animator.SetTrigger("New Trigger");
}
}
} //MonoBehaviour
再添加一個(gè)人物(wù)跑動的動畫並用代碼控製(Run動畫),因為跑是一個持續性動作,當我按住W的時候他就應該持續的跑,所以我們要設置一個Bool類型的條件。跑和停都是要馬上完成,所(suǒ)以都不應該勾選Has Exiit Time。代碼實現 :
if(Input.GetKeyDown(KeyCode.W))
{
animatorSetBool("isBool", true);
}
if(Input.GetKeyUp(KeyCode.W))
{
animatorSetBool("isBool", false);
}
- 上一篇:3DS MAX SDK插件開發(1) 2017/9/1
- 下一篇(piān):Unity3D係統創建人(rén)物骨(gǔ)骼動畫模(mó)型 2017/8/9