皮肤
皮肤
不同附件、相同骨骼、相同动作
皮肤的图标跟图片、层级顺序是一个级别、是一个集合、归了个类
激活皮肤时,会改变整个骨架中皮肤占位符所用的附件
设置
设置皮肤分三步走
第一步:创建皮肤
第二步:皮肤占位符
第三步:用该皮肤的附件填充皮肤占位符
皮肤
点皮肤、在属性有新建按钮、点新建
皮肤占位符
点击插槽(选骨骼会先创建插槽)、属性点新建选皮肤占位符
点附件也能创建皮肤占位符
就上边这步就够了,多的不要想了,想不明白(需要后续知识)
附件
皮肤只能一套是激活的、和插槽只显示一个附件一样
将附件放在皮肤下占位符下,用来定义活动皮肤的附件
别的皮肤激活先隐藏当前组的皮肤,显示激活皮肤的附件
原理大概都懂了,只是设置有点乱
捷径
让附件具有皮肤属性(一键换装),先筛选附件,新建一个皮肤,多选附件点新建皮肤占位符(目标已标记),
会自动创建同名的皮肤占位符,另外发现个事,图片(区域附件)不能改名字,因为名字就对应的图片文件名
删除皮肤占位符的功能也是有的,和平常删除用的同一个按钮,只不过点击删除,会问你是不是只是删除皮肤占位符
重用动画
对附件分组、用皮肤是一种很好的方式,代码中可以随意切换男性、女性、或者其他套装皮肤,spine 有切换皮肤的例子
对附件分组,还体现不出来皮肤这功能的强大,因为代码跑起来,程序员可以知道骨架上有哪些附件,自然是想显示哪些就显示哪些
命名再规范一些,写个规则就更容易做到这点了,所以皮肤最厉害之处是在动画上。
动画实现皮肤分组原理:
对皮肤占位符创建关键帧,不是对实际附件
显示的附件是活动皮肤的皮肤占位符的附件(这我白话翻译不了)
合并皮肤
让多个皮肤同时处于活跃状态(现在编辑器不支持、不过程序代码可以实现)
头(好几个)、衣服(好几个)、腿(好几个)头1可以对多个衣服、对多个腿
而不是头1 对衣服1 对腿1
实现这个功能需要这么做
配置:头皮肤1 头皮肤2 头皮肤3 衣服皮肤1 衣服皮肤2 衣服皮肤3 腿皮肤1 腿皮肤2 腿皮肤3 (不是皮肤1(头、衣服、腿))
然后是代码要做的事:
创建皮肤并将每个“项目皮肤”的附件填充进去(我需要代码实践下,怎么创建皮肤?怎么填充附件?)
事件
事件
动画过程中,发生情况的触发器
这情况有:播音效帧、打击帧、看你怎么用了
设置
创建关键帧
这简单了,动画模式下,在时间轴上,点事件的钥匙、或者选中改事件属性值
播动作的时候到事件帧会在编辑区弹出事件的名字
响应事件
代码嘛(没啥白话了,抄)
AnimationState state = ...
state.addListener(new AnimationStateAdapter() {
public void event (int trackIndex, Event event) {
// 此处检查并响应事件。
if (event.name == "footstep")
Audio.play("footstep" + event.intValue + ".wav");
}
});
还可以对单个 TrackEntry 调用:
TrackEntry entry = state.setAnimation(0, "run", true);
entry.setListener(new AnimationStateAdapter() {
public void event (int trackIndex, Event event) {
// 此处检查并响应事件。
if (event.name == "audio")
Audio.play(event.stringValue);
}
});
约束
约束
不使用骨骼层次结构也能调整骨骼
受约束项
受约束项在树的右边会有显示、点击对应图标会选择相关约束
在编辑器区、受约束影响的骨骼显示中间是空的、像针一样(孔很大)
顺序
首先你得知道约束是干嘛用的,知道就知道他的影响了
不同的约束作用在同一个骨骼上,最后作用的才生效,之前的约束操作无效
约束顺序跟层级树的顺序有关,上边先约束、然后到下边
可以上下拖动更改约束顺序
创建约束的时候,Spine会选择一个合理的顺序
重置按钮、自动计算所有约束顺序
IK 约束
反向动力学 Inverse Kinematics (IK)
哦,IK。 FK 正向动力学
正向动力学 FK
概念没有、说效果:挖机手臂挖土的动作,可以在对应帧设置骨骼位置,正常设置就可以了。这是正向动力学
反向动力学 LK
概念没有、现在的情况是:做一个人从椅子站起来的动作,但是手掌不能离开桌面。
没使用约束就得这么做:肩膀的节点一直往上,然后调手臂角度
FK从上至下驱动、IK从下至上驱动(概念的东西只能记了)
IK还可以做:
脚踩进泥地(会往下陷、但还往前走?)
IK的目标可以调整
对骨骼的控制可以是IK、FK、和IK、FK的混合,所以不会再出现新的知识点了,是么?
装配 Setup
使用IK约束条件:要三个骨骼、父骨骼、子骨骼、目标骨骼
子骨骼:可以是子子子骨骼
目标骨骼:不能和父骨骼有关系,不能是他的子骨骼
给子骨骼新加IK约束:点选子骨骼,新建->IK约束、选择目标骨骼
生成后子骨骼右边有一个图标两个橙色实心骨骼加一个橙色圆圈(标注受IK约束)
目标骨骼右边有一个图标两个灰色实心骨骼加一个橙色十字架圆圈(标注是IK约束目标)
约束之后子骨骼就会一直指向目标骨骼,不管父骨骼怎么移动或者旋转
骨骼旋转属性被IK控制后骨骼变成了中空的,文档中两个骨骼都变成了中空,这让我摸不着头脑
FK/IK融合 Mixing FK/IK
不得不吐槽一下、文档的截图简直就是怕人看懂,你骨骼怎么放的多截大点行不行,
我试了好多方式,都没看到目标骨骼有橙色十字架出现
约束属性、混合0是不受IK影响、完全受FK影响、中间表示都会受影响,程度就拉扯
说有两条辅助线(没看到、气!、版本不一样?)
设置动画 Animating
动画跟其他差不多、改值就会生成关键帧
变换约束
变换约束
变换约束可以让多个目标、自己怎么动目标就怎么动
用来模拟重新设置骨骼父级,如脱帽、拔出武器或扔东西
基础版不支持(充钱)
设置
使用变换约束条件:至少两个骨骼,目标骨骼、受约束骨骼
两骨骼不能有关系
选择要约束的骨骼,新建,变化约束,选目标骨骼
选项
属性选项说明:
本地:
选中本地、那本地坐标、旋转等和目标本地一样
未选中本地、那骨骼世界坐标、旋转等和目标本地一样
相对:
选相对受约束的骨骼还能调坐标、旋转、
未选中是,就不能调了
混合
影响程度,
勾选链接滑块,所有的混合滑块就可以统一滑动、设置值
链接滑块——我还以为是做锁链用到的、换个土一点的名字 —— 值统一
偏移
额外再多出的值、可以在不加骨骼的情况微调参数
匹配
看不懂
设置关键帧
改变滑块的值,就会生成关键帧。每一帧会处理所有值、
改变滑块的值、可以启用约束、也可以禁止
路径约束
路径约束
用路径来调整骨骼的坐标、角度信息
骨骼沿着路径移动、可以偏移(我试过了)
路径约束可以修改关键帧、让骨骼移动、约束的骨骼位置是不能直接移动的
多个骨骼限制在同一个路径、能做出生长效果(不懂)
设置
选择骨骼、属性、新建、路径约束、找一条路径、选中
路径骨骼和约束骨骼不能有关系(父子、哒咩)
路径约束是对插槽、哪怕插槽下没有路径也可以
一个路径约束可以用在多个路径、这里文档说错了,一个约束可以对应多个骨骼
约束下的路径约束选中、属性设置可以修改很多参数
单击骨骼右边骨骼名字,会展开约束的骨骼列表,点击是选择骨骼,拖动可以改约束的顺序,右键名字也是选择骨骼
建立约束关系之后不能改骨骼、也不能换路径、删了重建吧
位置模式
路径上有个橙色三角箭头、拖动可以改第一个骨骼的位置、和约束属性的位置是一样的
位置
在路径的起点的延长线上是负数、终点延长线上是大于100的数
间距模式
间距栏右边有个小三角、是可以点开的有三种模式
长度 ——使用骨骼的长度作为间距
固定——和骨骼长度无关、间距相等、是一个固定值
百分比——和骨骼长度无关、间距相等、是一个按路径长度百分比的距离作为间距
间距
跟据间距模式、这里的值意义不一样
旋转模式
这个在属性的混合那一栏、旋转右边有个小三角、点开可以有三种旋转模式
切线——始终是路径曲线的切线方向(在这基础上偏移)
链——像坦克履带、第一个骨骼肯定在路径上、第二个骨骼开始位置在第一个骨骼尖的位置、然后我就不知道怎么解释了、坦克履带嘛
链缩放——骨骼连接骨骼距离太长就拉伸、太短就缩短
旋转混合
在自身旋转角度和路径约束的旋转角度反复横跳
移动混合
在自身位置和路径约束的位置反复横跳
链接滑块是统一值的意思(我前面讲过)
旋转偏移
在对应旋转模式下、再偏移
设置关键帧
主要是修改约束属性值、改了值就设置关键帧
颜色
和第一个被约束的骨骼颜色一样