整个小球包含四个控制器(控制器由骨骼自定义骨骼形状生成),也就是包含四根骨骼,Root根骨骼(红色多角星)控制小球的移动,橙色控制器控制旋转,然后是顶部跟底部的两个拉伸变形控制器(黄色圆圈)。
创建Armatrue骨架,类型为单根骨骼
骨骼显示设置
(物体属性,可以透过模型直接看到里面的骨骼)
(骨架属性,显示每根骨骼名称)
(轴向,显示骨骼自身坐标轴)
(编辑模式,姿态模式下皆可按下F2重命名当前骨骼)
首先,是我们的形变骨骼,该骨骼需要用来作为后面我们用来旋转、拉伸的子骨骼。这边有个小技巧,当我们调试骨骼头尾端位置,可以通过选择吸附类型到定点,同时并不需要全程开启吸附模式,在G键移动骨骼头尾端时按住ctrl就会临时开启吸附模式,当前deformation形变骨骼头端对齐球体最上方,尾部居世界原点(球体中心)。
选择模型,再选择对应骨骼,执行ctrl p或者加选一个shift,设置该模型父级为选中骨骼。
设置父级的时候有很多选项,红框为有权重值的类型,而这里,一个球只跟一跟骨骼绑定的时候,只需要将该模型的父级指定为当前骨骼,并且选择Bone骨骼类型(橙色方框)。
当该物体设置对应骨骼后,骨骼pose模式下移动骨骼,由骨骼运动变形代替模型运动变形,即为最基础的绑定概念。
接下来创建Root根骨骼,小技巧是只需要从之前的deformation形变骨骼的尾端按E键就能直接挤出新的的骨骼。
取消该形变设置(root根骨不需要形变)
通常一个骨架下的骨骼可以通过头尾端按E挤出外,还可以shift+D来“就地取材”新骨骼(考点
),同时为了避免骨骼大小重复(不方便观察以及识别),会时常需要做一些骨骼缩放操作,这里可以设置轴心为物体各自轴心,方便调节。当前复制出的骨骼为Rotation控制旋转的骨骼。
骨骼层级逻辑:小球模型跟随deformation形变骨骼旋转,deformation形变骨骼跟随Rotation骨骼旋转。
因此,我们将deformation骨骼设置父级对象为Rotation骨骼上。
重点——给骨骼重叠在一起的骨骼指定父子级
这里涉及到重叠骨骼如果准确选取所需要的特定某一根骨骼。方法就是alt+鼠标左键点击骨骼重叠部分,这时会弹出选择列表,列表中即当前所选所有重叠骨骼,然后再选取所需要的骨骼就行了,前提你的命名规范,具有辨识度。
骨骼的颜色区分使用了 bone manager插件管理设置
给小球添加挤压拉伸机制
挤压拉伸的效果,需要与小球直径相同长度的骨骼来实现,也就是需要我们创建从小球最底部到最顶部的骨骼。
在模型顶点编辑模式下,选中最底部顶点,然后通过shift+S来让游标移动至选中项(即我们所选顶点),大家都是知道,blender游标是它的一大特色,大致可以理解为坐标与物体创建之间交互的媒介。
确定了游标位置,即确定了新创建骨骼的位置。
创建骨骼的方式除了之前提到的两种(
忘了的翻上去看),那么还有第三种——在骨骼的编辑模式下ctrl+A,即在当前同一骨架下创建单根骨骼。
该骨骼即用来做Stretch拉伸变形机制的骨骼。
该骨骼最终不会显示出来,而是通过额外的顶底两段新骨骼来控制拉伸形变程度。
(控制器骨骼坐标对齐世界坐标)
该两段骨骼唯一的父级就是Root根骨,所以刚创建出来时需要清除默认的骨骼父级。这种情况主要是,当在一个已有父级的骨骼上通过基础尾端创建新骨骼的时候,该骨骼会自动生成带父子级关系的骨骼。
拉伸机制添加,即给骨骼添加约束效果,所有这一类操作只能在Pose模式下。
约束命令快捷键ctrl +shift+C
默认骨骼约束的UI界面在这里
可以看到,顶部的拉伸机制做好了,但是移动底部骨骼却没有效果,这里大脑惯性思维可能是想给底部控制器骨骼加选中间拉伸骨骼做stretch to拉伸约束命令,但是打住,这里只需要再给中间的拉伸骨骼指定父级为底部的控制器骨骼即可。这里需要小小的思考一下,脑袋要转过弯。
最终的骨骼层级梳理
Root根骨>两根controller控制器骨骼>stretch变形机制骨骼>Rotation旋转骨骼>deformation形变骨骼(形变骨骼为模型的父级)
在控制模型位移的同时还能控制模型的拉伸挤压,拉伸挤压的同时还能再此基础上做旋转效果,即运动所包含的运动变形逻辑成立。
骨骼分组整理
通过bone manager插件可以分组整理骨骼,把能直接控制运动变形的骨骼留下,其他骨骼都隐藏起来,还可以给骨骼分别赋予不同的颜色方便识别管理。
检查骨骼如果不会导致模型网格变形,则需要关闭Deform形变选项
同时设置多个骨骼的deform形变属性
确保动画师不会误操作骨骼属性
我们不希望动画师改变一些不需要变动的骨骼坐标旋转缩放信息,需要主动将对应坐标通道锁定起来,只保留对动画变形有用的通道给到动画师来摆动作。比如deformation形变骨骼所有通道都锁起来,因为该骨骼无任何动画,只是用来跟小球模型绑定。
同理stretch 形变机制骨骼本身不存在坐标变形信息,也全部锁上。
也可以通过骨骼管理插件中的骨骼层来锁定,前提是锁定所有通道,锁定某些骨骼的部分通道则还是要手动在变形通道中单独锁定。
控制器骨骼只有位移通道对动画有作用,故而只解锁该通道,其余通道通通锁定。
至于Root根骨骼掌控着模型的所有变形操作,故而保留所有通道。
控制旋转的骨骼,这里只需要控制沿X轴旋转,所以保留X旋转通道。
注意坐标改一下显示格式,方便观察。
锁定以上通道的好处在于动画师不会在无意间错误的编辑这些通道。
同时在动画设置界面,启用只插入可用,这样动画帧只会记录未锁定通道信息。
控制器骨骼形状自定义
通过创建曲线形状来创建对应控制器形状,然后通过骨骼里自定义形状拾取自定义形状模型,最后隐藏或者删除曲线模型就可以了。