以往做游戏换装什么的, 大多是使用骨骼来调整体型/脸型, 这算是比较成熟的技术了.
最近的项目里尝试了使用MorphTarget(BlendShape)来做这个事情, 好处是能够做到逐顶点的调节, 可以做出比较细腻的效果, 但是与此同时带来了制作成本的上升. 不过目前AAA级的游戏中这种做法已经比较普遍了, 所以还有必要把制作流程理一下.
常见的问题: 比如我们人的身体通过Morph做了胖瘦, 那么衣服也需要跟随身体做相应的变形. 这在使用骨骼控制时是没有问题的, 但是使用Morph后, 就需要衣服也做同样的Morph, 不然就会出现穿插的现象:
MorphTarget大量应用的另一个领域就是面部表情动画了, 因为表情如果使用骨骼来实现的话, 需要绑定大量的骨骼, 对于美术制作来说是一件很费时的体力劳动. 用Morph做表情动画的好处就是可以不用受骨骼的蒙皮限制, 可以做出非常夸张的表情(类似动漫里真人做不出来的效果). 不过从制作流程上来说, 一般也是需要先绑定骨骼的. 私下里跟3D美术尝试了不绑定骨骼的情况下, 使用Zbrush直接刷变形的脸, 再导回3dsmax生成Morph动画, 效果还可以, 至少在流程上来说可以节省很多工作. 表情使用Morph制作后, 有两个问题: 一是不同脸之间的Morph动画需要重做, 二是如果有胡子眉毛眼镜什么的, 也需要跟随脸部的形状变化.
以上身体vs衣服, 脸1vs脸2, 脸vs胡子(眉毛等)之类的由Morph导致的制作成本问题, 总结下来就是需要把现有模型上的所有Morph动画, 转移到新的模型上. 当然靠堆人力肯定是可以解决的, 不过做为程序来说, 需要思考的就是怎么把机械劳动交给机器去做.
以胡子为例: