Spine笔记

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,

你可能感兴趣的:(Spine笔记)