赞
踩
Spine是一个收费的跨平台的2D骨骼动画制作工具。
官方地址:http://zh.esotericsoftware.com/
Spine导出的资源有3个文件
当我们把这三个资源导入到已经引入了Spine运行库的Unity工程后会自动为我们生成
首先我们需要导入跟Spine动画资源相对应的Spine运行库(官网下载),然后导入使用的Spine动画。
当我们向场景中拖入相关Spine动画时,会出现以下选项。
分别为:
SkeletonMecanim是SkeletonAnimation的替代品,它不是必须的
关联的骨骼动画信息
初始蒙皮
美术在制作时可能有几套蒙皮
一般情况下只有一套 不需要修改
Initial Flip X/Y:初始翻转X和Y
Update When Invisible:不可见时是否更新
Nothing:不更新
Only Animation Status:仅动画状态
Only Event Timelines:仅事件
Everything Except Mesh:除了网格其它都更新
Full Update:更新所有
Use Single Submesh:使用单个子网格
Fix Draw Order:固定提取顺序
Immutable Triangles:不变三角形
Clear State On Disable:禁用时清楚状态
Separator Slot Names:分隔符插槽名称
Z Spacing:Z间距
Vertex Data:顶点数据
PMA Vertex Colors:PMA顶点颜色
Tint Black:淡黑色
Add Normals:添加法线
Solve Tangents:求解切线
Add Skeleton Utility:添加骨骼公共程序
Show Bone Names:显示骨骼名字
Show Paths:显示路径
Show Shapes:显示形状
Show Constraints:显示约束条件
ScaleX/Y:XY的缩放
RGBA:颜色
Bone:骨骼
Show Bone Names:显示骨骼名字
Slots:插槽
Constraints:约束条件
Draw Order and Separators:提取顺序和分离器相关
Events:事件
Data Counts:数据数量
Bones:骨骼数量
Slots:插槽数量
Skins:蒙皮数量
Events:事件数量
IK Constraints:IK约束数量
Transform Constraints:位置约束数量
Path Constraints:路径约束数量
当前播放的动画名。
是否循环。
时间缩放,值越大动画播放的越快。
是否添加根运动的脚本,一般情况下不添加。
//获取组件 private SkeletonAnimation sa; #region 便捷特性,方便使用,以免命名出错。 // 动画特性 [SpineAnimation] public string jumpName; // 骨骼特性 [SpineBone] public string boneName; // 插槽特性 [SpineSlot] public string slotName; // 附件特性 [SpineAttachment] public string attachmentName; #endregion void Start() { sa = this.GetComponent<SkeletonAnimation>(); #region 动画播放 //方法一:直接改变SkeletonAnimation中参数 sa.loop = true; sa.AnimationName = "jump"; 方法二:使用SkeletonAnimation中动画状态改变的函数 //马上播放 SetAnimation (int trackIndex默认索引,填0即可, string animationName 要播放的动画名字, bool loop是否循环) sa.AnimationState.SetAnimation(0, jumpName, false); //排队播放 sa.AnimationState.AddAnimation(0, "walk", true, 0); #region 转向 sa.skeleton.ScaleX = -1; #endregion #region 动画事件 //动画开始播放 sa.AnimationState.Start += (t) => { print( sa.AnimationName + "动画开始播放"); }; //动画被中断或者清除 sa.AnimationState.End += (t) => { print(sa.AnimationName + "动画中断或者清除"); }; //播放完成 sa.AnimationState.Complete += (t) => { print(sa.AnimationName + "动画播放完成"); }; //在Spine软件中制作动画时添加的自定义事件 sa.AnimationState.Event += (t, e) => { print(sa.AnimationName + "自定义事件"); }; #endregion #region 获取骨骼、设置插槽附件 //获取骨骼 Bone b = sa.skeleton.FindBone(boneName); sa.skeleton.SetAttachment(slotName, attachmentName); #endregion
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。