一起看官方文档之spine(4)

皮肤

    皮肤

        不同附件、相同骨骼、相同动作

        皮肤的图标跟图片、层级顺序是一个级别、是一个集合、归了个类

        激活皮肤时,会改变整个骨架中皮肤占位符所用的附件

    设置

        设置皮肤分三步走

            第一步:创建皮肤

            第二步:皮肤占位符

            第三步:用该皮肤的附件填充皮肤占位符

        皮肤

            点皮肤、在属性有新建按钮、点新建


虽然不知道后续怎么操作、但起码也得两皮肤吧

        皮肤占位符

            点击插槽(选骨骼会先创建插槽)、属性点新建选皮肤占位符

            点附件也能创建皮肤占位符

            就上边这步就够了,多的不要想了,想不明白(需要后续知识)

        附件

            皮肤只能一套是激活的、和插槽只显示一个附件一样


            将附件放在皮肤下占位符下,用来定义活动皮肤的附件

            别的皮肤激活先隐藏当前组的皮肤,显示激活皮肤的附件

            原理大概都懂了,只是设置有点乱


看不懂搞了啥

    捷径

        让附件具有皮肤属性(一键换装),先筛选附件,新建一个皮肤,多选附件点新建皮肤占位符(目标已标记),

        会自动创建同名的皮肤占位符,另外发现个事,图片(区域附件)不能改名字,因为名字就对应的图片文件名

        删除皮肤占位符的功能也是有的,和平常删除用的同一个按钮,只不过点击删除,会问你是不是只是删除皮肤占位符

    重用动画

        对附件分组、用皮肤是一种很好的方式,代码中可以随意切换男性、女性、或者其他套装皮肤,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的数

        间距模式

            间距栏右边有个小三角、是可以点开的有三种模式

                长度 ——使用骨骼的长度作为间距

                固定——和骨骼长度无关、间距相等、是一个固定值

                百分比——和骨骼长度无关、间距相等、是一个按路径长度百分比的距离作为间距

        间距

            跟据间距模式、这里的值意义不一样

        旋转模式

            这个在属性的混合那一栏、旋转右边有个小三角、点开可以有三种旋转模式

                切线——始终是路径曲线的切线方向(在这基础上偏移)

                链——像坦克履带、第一个骨骼肯定在路径上、第二个骨骼开始位置在第一个骨骼尖的位置、然后我就不知道怎么解释了、坦克履带嘛

                链缩放——骨骼连接骨骼距离太长就拉伸、太短就缩短

        旋转混合

            在自身旋转角度和路径约束的旋转角度反复横跳

        移动混合

            在自身位置和路径约束的位置反复横跳

            链接滑块是统一值的意思(我前面讲过)

        旋转偏移

            在对应旋转模式下、再偏移

        设置关键帧

            主要是修改约束属性值、改了值就设置关键帧

        颜色

            和第一个被约束的骨骼颜色一样

你可能感兴趣的:(一起看官方文档之spine(4))