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。具体如下图所示。?
|