Spine學習三 - 同時播放兩個動畫

這個效果和 Unity的動畫分層有點兒像,好比 一我的有一個跑的動畫,還有一個站在原地揮手的動畫,Unity能夠經過動畫分層,讓人物只須要使用這兩個動畫實現邊跑邊揮手的動畫效果。dom

 

首先介紹一下Spine的 AnimationReferenceAsset 組件。這個組件須要指定兩個東西,動畫

1.Skeleton Data Asset:也就是須要播放的動畫資源spa

2.Animation Name:須要播放的動畫code

這個東西喃,能夠將一個動畫提取出來,作成一個資源,這樣就能夠動態加載了,不過也能夠直接使用動畫名字,以下圖:blog

 

而後播放動畫代碼具體以下:資源

 1     public AnimationReferenceAsset walk;//製做的移動 AnimationReferenceAsset組件  2        public AnimationReferenceAsset gungrab;//同上  3        public AnimationReferenceAsset gunkeep;//同上 
 6  SkeletonAnimation skeletonAnimation;//播放組件  7 
 8        void Start () {  9             skeletonAnimation = GetComponent<SkeletonAnimation>();//獲取播放組件 10  StartCoroutine(GunGrabRoutine());//開始播放 11  } 12 
13  IEnumerator GunGrabRoutine () { 14             // Play the walk animation on track 0.在0層播放移動動畫
15             skeletonAnimation.AnimationState.SetAnimation(0, walk, true); 16 
17             // Repeatedly play the gungrab and gunkeep animation on track 1.在1層播放抓槍動畫
18 while (true) { 19 yield return new WaitForSeconds(Random.Range(0.5f, 3f)); 20 skeletonAnimation.AnimationState.SetAnimation(1, gungrab, false); 21 22 yield return new WaitForSeconds(Random.Range(0.5f, 3f)); 23 skeletonAnimation.AnimationState.SetAnimation(1, gunkeep, false); 24 } 25 26 }
相關文章
相關標籤/搜索