文章目录
- xxx.png/texture(贴图图片)
- xxx.atlas
- xxx.json
-
- bones(骨骼)
- slots(插槽)
- skins(皮肤/外观配置表)
- animations
- [ik(Inverse Kinematics,反向动力学/反向运动学)](#ik(Inverse Kinematics,反向动力学/反向运动学))
- xxx.sk
- 总结
xxx.png/texture(贴图图片)
- 源图片(贴图)。
- attachment 最终使用的图片来源。
xxx.atlas
- 里面的region,代表从png里面裁出来的一小部分区域
xxx.json
bones(骨骼)
- 负责位置、旋转、缩放。------【负责动】
slots(插槽)
- 骨骼上的显示槽(默认会显示一个本身配置好的 attachment)。
- 插槽可以理解为"骨骼上的贴图挂载位",但它不等于骨骼,也不等于图片。
- 作用:1、决定"哪张图挂在哪根骨骼上";2、决定遮挡关系;3、支持切换附件(动画数据可以控制插槽当前使用哪个 attachment);4、可单独控制颜色/透明度。
- 挂在某根骨骼上,负责显示什么、绘制层级。------【负责挂图和层级】
- 运行时分2种情况:
- 切换同一套 Spine 数据里已有的 attachment(比如嘴巴插槽在闭嘴、张嘴图片之间切换,或者武器插槽切换不同武器)。
- 用代码替换成新的贴图(可以把某个 slot 的显示贴图换成运行时加载的另一张图。比如给角色换武器、换头像、换衣服。这个新图不一定是原本 Spine 文件里的贴图,但尺寸、锚点、方向通常要自己处理好,否则会歪)。
attachment(附件)
- 槽里显示的具体东西,通常是一块贴图,也可以运行时替换。------【具体挂上去的图片/网格】
skins(皮肤/外观配置表)
- 定义插槽可用的 attachment,也就是外观/贴图绑定信息。
- 定义"插槽里可以显示哪些 attachment,以及这些 attachment 的摆放参数"。
- 它告诉spine:1、某个slot下有哪些attachment;1-1、这个attachment的RTS/宽高是多少;1-2、这个attachment对应atlas/png里的哪块图。
- 具体例子:在default皮肤中,shitou_Head这个插槽,有一个叫 shitou_Head 的 attachment,它的位置、旋转、宽高按这里配置。
- skins 不一定只是"换皮肤"用。即使角色没有多套皮肤,也会有 default skin,用来定义默认情况下每个插槽能挂哪些图片附件。
animations
- 具体动画关键帧,告诉骨骼/插槽/IK 在每个时间点怎么变化。
- 动画数据/动画关键帧数据------【驱动骨骼、插槽、附件变化】。
- 定义动画关键帧,用来驱动骨骼、插槽、attachment 随时间变化。
- 比如记录某个时间点:bone的RTS,slot切换哪个attachment/透明度/颜色变化。
- 运行时播放动画时,就是按这些时间点插值计算,让骨骼和插槽连续变化。
- 常见的数据类型:
- bones:控制骨骼
- RTS
- slots:控制插槽,比如换attachment、变色、透明度。
- ik:控制IK约束的混合、弯曲方向等。
- drawOrder:控制插槽绘制顺序。
- events:动画事件,比如打击点、音效点。
ik(Inverse Kinematics,反向动力学/反向运动学)
- 让某些骨骼跟着目标点反推姿势,常用于脚、手。
- 可以这么理解:1、普通骨骼动画:我直接告诉骨骼转多少、移动多少;2、IK:我告诉骨骼"末端要到哪里",系统反推中间骨骼怎么转。
- 具体例子:手臂有上臂、小臂、手掌。如果不用 IK,动画师要分别调上臂、小臂的角度。用了 IK 后,可以设置一个"目标点",比如手掌要碰到某个位置,然后 Spine 自动计算上臂、小臂该怎么弯。
- 再一个例子:给左右脚做了 IK 约束。target1、target2 是目标骨骼,脚骨骼会根据目标点进行约束。这样脚的位置更容易固定或控制,不需要完全手调脚骨骼的每个角度。target1 -> 控制 xxx_R_Foot;target2 -> 控制 xxx_L_Foot。
xxx.sk
- 引擎使用的二进制骨骼动画数据格式。
- 替代了.atlas+.json的职责。
- 可能的关键词:二进制/压缩/更快加载/体积更小/解析成本低/适合运行时直接使用/隐藏了原始的文本结构。
总结
- slots 决定有哪些显示槽、挂在哪根骨骼上、默认显示哪个 attachment。
- skins 决定这些 attachment 的具体配置。
- animations 决定播放时骨骼和插槽怎么变化。