简易Biped绑定框架方案
本绑定框架主要解决以下两个问题:
- 超低成本实现角色简易拉伸动画效果。
- 便捷的Rootmotion资源制作。
此方案已在 **骑 项目上实施过。
# 原理
Biped 套 Bone , 制作上就是正常使用biped ,然后攀附 biped 创建 Bone , 此时的Biped 骨骼只是作为 K 动画的控制器使用,不作为资源导出,结构如下图。
全部流程可用插件自动化。
如上图,蒙皮骨骼是用位置 + 旋转约束 到biped 上的,不是链接 父子级链接,不是Link 。
# 假拉伸
只有位移,没有缩放的被称为假拉伸,如下图直接 缩放 biped 骨骼,虽然biped骨骼有缩放,但是由于蒙皮骨骼用约束和biped隔开之后,不会继承缩放,只会让上下两节骨骼距离变大,而形成假拉伸。
虽然是假拉伸,但是直接导出资源进引擎还是没问题的。
左图是3dsMax中的效果,右图是在 UE4 中的效果,骨骼没有缩放动作,仅用大腿小腿两节骨骼距离变化。
# Rootmotion根骨骼运动
所谓的Rootmotion 根骨骼运动,是角色的位移和旋转数据都在 根骨骼上,而不在角色质心骨骼。
该绑定框架之所以说便捷制作Rootmotion ,是因为角色的根骨骼和角色的动画隔离,根骨动画不会影响角色动画,可以随意调整根骨骼动画。
Biped骨骼因为它特性,动画师制作动画时更喜欢将位移和旋转都放在质心骨骼上,最后导出资源时使用插件对Biped进行动画修改,将位移和旋转数据转移到根骨骼上,整个制作流程还是比较麻烦的,而在这个绑定框架,无需对biped进行导出前的动画修改,手动或者插件自动将biped 质心骨骼的位移和旋转复制到根骨骼即可。
# 现有角色改造
如果你已经使用 biped 蒙皮绑定好,是可以直接使用插件生成新框架绑定的,不会影响已有的动画制作。
- 插件生成的Bone 骨骼可以完全和 biped 骨骼同名,轴向相同,父子层级一样,导出的资源,本质上没区别,还是同一套骨架。
# 方案1
蒙皮不处理,还是使用 biped 蒙皮导出资源。
在动画档上生成绑定Bone , 然后biped 改名,如从 Bip001 改成 Bip002,避免场景中有重名物体,Bip001 的命名留给 Bone 框架使用,使用Bone骨架导出动画资源,不再导出 Biped。
该方案比较省事,但是因为蒙皮还是biped骨骼,得区分绑定档,动画档,同时如果需要在 Bone 上设置脱落biped 的新动画,也看不到蒙皮效果。
# 方案2
在方案 1 的基础上替换蒙皮,在biped 上创建出Bone 骨骼之后,将模型上的Biped 骨骼权重替换成 Bone 骨骼,此流程可现实自动化。
# 新角色绑定
如果你的角色还没创建骨骼和蒙皮,那么还是可以创建biped 作为主体骨骼,只需在蒙皮前使用插件生成 套biped骨架的Bone 骨架,然后使用 Bone 蒙皮即可。最终导出还是Bone骨骼,biped 只作为动画控制器使用。