Unity3d 中Legacy動畫系統-劍聖的動畫

LoL中大家應該都玩過劍聖,其實很多技能以及動作都是根據動畫截取出來的,今天我們就通過動畫來實現劍聖的一些動作。
首先我們在場景中拖入模型,點擊一下名字,右邊Inspector面板會出來幾個幾個選項,我們首先點擊select選項
這裏寫圖片描述
然後點擊Animations這裏就是截取動畫
下面的Run First就是博主的跑的技能還有第一個技能的意思。其他類似 +-號就是添加新的動畫
這裏寫圖片描述
這裏是操作,例如你選的跑的過程是0到20幀,那麼在觀看動畫的時候就從頭看,發現這是一個動作的時候End就改成20,然後Apply以下就好。注意因爲跑是一個連續的動作,所以Warp Mode裏我們要改成Loop選項
這裏寫圖片描述
然後我們點擊Animations旁邊的的Rig 選項,Type 改成Legacy,然後Apply,如果在運行狀態下沒有動作,很有可能是這裏的Type不是Legacy。
這裏寫圖片描述
然後我們要在Inspector面板添加組件Animation,圖中Stay所對應的Animation代表默認狀態時Stay的狀態,下面的Size 代表你要添加的動畫有幾個
這裏寫圖片描述
然後我點擊下運行,看看默認的狀態是不是stay;
一頓一頓是博主動畫沒有截取好的原因,下一個動作被我截取了一點
這裏寫圖片描述
然後我們通過代碼來實現動畫的實現
privata Animation m_animation;
//首先聲明一個變量
void Start()
{
m_animation=transform.GetComponent();
獲取Animation組件
}
void Update()
{
if(Input.GetKey(KeyCode.W))
{
m_animation.CrossFade(“Run”);
}
if(Input.GetKeyUp(KeyCode.W))
{
m_animation.CrossFade(“Stay”);
}
If(Input.GetKeyDown(Key.Code.Alpha1)&&m_animation..IsPlaying(“First”)==false)
//如果按下1並且沒有運行這個技能
{
m_animation.PlayQueud(“First”,QueueMode.PlayNow,Play.StopAll);
//先運行這個技能停止其他的 一切
}
if (Input.GetKeyUp(KeyCode.Alpha1))
{
m_animation.PlayQueued(“Stay”,QueueMode.CompleteOthers,PlayMode.StopSameLayer);
//先運行其他的,在運行自己;
}
}
這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章