1,获得AnimationState:通过SkeletonAnimation.AnimationState;
2,获得Skeleton:通过SkeletonAnimation.Skeleton;
3,设置和增加动画:
AnimationState.SetAnimation();
AnimationState.AddAnimation();
4,动画转向:设置Skeleton.FlipX属性;
5,通过特性在面板中赋值动画,例如:
[SpineAnimation]
public string runAnimationName;
6,[Header("Transitions")] 可以在面板中增加一行分类文字;[Space]可以在面板中单独空一行;
7,通过点击SkeletonDataAsset的“Creat Animation Reference Assets”按钮,可以创建对应的各个动画;再在代码中定义公有AnimationReferenceAsset字段,可实现拖拽赋值;这是上面第5点的另一种实现方式;
8,在SetAnimation()方法中,通过第一个参数trackIndex(通道索引),可实现多个动画的同时播放(混合播放);
9,动画和声音的配合大概原理:在动画中添加事件点(暂不清楚是美术添加还是程序添加),当动画播放到事件点时,播放声音;(源码可在官方示例3中找到)
10,通过协程和transform.Translate来逐帧(yiedl return null)产生位移,配合动画效果;
11,可以通过枚举来定义各个动画的状态;
12,声音事件好像是在ReferenceAssets中生成的,即是美术设定的(见官方示例4具体资源赋值);
13,在父物体的类中实现动画状态枚举变量的变化,在具体类的update函数中检测变量的变化并播放动画;
14,TrackEntry.AttachmentThreshold的具体效果暂不明,但应该和附件的动画时间轴的混合有关,默认值为0,通常在新增通道的时候将新通道的此值设置为1;
15,TrackEntry.MixDuration:动画的混合时间,让动画过度更平滑;
16,SetEmptyAnimation或者AddEmptyAnimation可以让动画过度更平滑;
17,可以通过公共string变量赋值骨骼,给string变量加特性,如:[SpineBone(dataField:"skeletonAnimation")];
18,骨骼的类名:Bone;骨骼的赋值:Skeleton.FindBone(string boneName);
19,让一个特效或者动画定位到具体哪一个骨骼上,见官方示例4中的BoneFollower类,因为有大量几何转换,暂时只能模糊性了解;
20,