天天看點

Unity Mecanim如何控制Spine

https://gameinstitute.qq.com/community/detail/127452

想要在Unity中使用Spine動畫,目前有三種方式。

第一種,利用SkeletonAnimation,這是Spine提供的原生方式,支援所有Spine功能。

第二種,利用Mecanim (or SkeletonAnimator),使用此方式Spine-unity會将SkeletonData中的動畫轉換為一系列AnimationClips ,并生成一個Unity Animator Controller。

SkeletonAnimator 元件關聯Unity Animator 和 Spine Animation ,并利用Spine Animation? API Mix 和 Aplly 方法控制動畫。這允許我們使用Unity的原有流程控制動畫。

但是可能有些副作用關于attachment keyframes,可能很難追蹤問題。attachment keyframes目前我還沒有研究到。

第三種,利用Baking,這個不推薦,這個是專門為了那些沒有spine runtime的準備的。使用此方式無法使用Spine特有的功能。

Spine with Unity Mecanim

準備資源,下載下傳官方的Spine Uinty Package, 裡面有一些示例場景。今天我們要改造一下Controling Animation Continued這個場景。

原場景使用第一種方式控制動畫。我們把它改造成使用第二種方式控制動畫。

把原有使用skeletonAnimation的地方,替換為使用animator。并添加了footstep函數用以響應動畫事件。

第二步,從raptor_SkeletonData生成raptor_Controller。點選raptor_SkeletonData在Inspector裡面有生成按鈕。

第三步,給場景中raptor_skeleton的gameobject添加兩個元件Animator 和 Skeleton Animator。并設定Animator 裡的Controller為raptor_Controller

以及Skeleton Animator裡的SkeletonData Asset 為raptor_SkeletonData。具體如下圖所示。 

Unity Mecanim如何控制Spine

繼續閱讀