thunderkid 发表于 2017-9-1 01:13

胖僵尸锁链绑定分析与改进

本帖最后由 thunderkid 于 2017-9-1 14:39 编辑

在下载了XXO兄弟的锁链绑定文件研究了下,终于发现了其原理所在,同时也发现了其简化方式。原教程链接如下:http://www.cgjoy.com//forum.php?mod=viewthread&tid=194224


上面是动图的截图


这是源文件绑定和我的绑定(蓝色)的对比,可见功能是相同的,但我的骨骼链只有一条。

现在简述下原绑定的原理:
1、蒙皮------把锁链蒙皮到28节骨骼上。(这个步骤也可以在骨骼链绑定完成后再做。)


2、为线条1创建样条线IK控制(注意:线条1应该是与骨骼链分段一致的直线段,图中的线条是我动过控制器了)


3、蒙皮用的骨骼链通过链接约束连接到新的骨骼链上。(由图中可见bone1是链接约束到bone29上的,新骨骼链负责链接传递,其实没有必要用。)


4、为新骨骼链(红色)的每节骨骼添加位置约束和注视约束。




5、将线条1的虚拟体路径约束到线条2上。(每约束一个虚拟体都要调节其路径百分比来矫正位置,数据栏的红框表示系统自动生成了路径动画帧,却不是我们需要的,把这些帧都删掉。)

删掉时间轴上的帧,确保每个虚拟体都没有动画帧。


6、为线条2添加样条线IK控制。(线条2的分段数要少些,可在线条1的基础上删掉一些,源文件里只剩下12个控制点)


通过上述分析可以看到,此绑定的特点的精髓在于通过位置约束和注视约束来将每节骨骼约束到虚拟体上,再通过把虚拟体约束到新的路径上,最后通过操控路径线条的控制虚拟体来间接控制骨骼的运动。最后的路径约束的意义在于减少控制虚拟体的数量,提高操控效率,又不影响骨骼链比例和曲线形态。
       了解了原理,那么上述过程能否简化,或者直接在骨骼链上添加样条线IK控制然后通过虚拟的约束控制来实现目标呢?经过测试,是可以的。看图就知道了:

上图中上面的骨骼链是只添加了样条线IK控制的,除了第一个虚拟体外,其它虚拟体的运动都会与骨骼的运动有位移差这是因为此时的骨骼都没有专门的位置约束和方向约束。而下方的骨骼链就是参考了上文中的绑定方法,为骨骼添加位置约束和注视约束后,再为虚拟体添加路径约束的结果。

       仓促成文,如有不足,望见谅。   
补充:
      上述步骤只是完成了锁链的绑定,但是锁链与运动主体(譬如角色)间还缺少连接关系,要实现相互关联,显而易见要把路径线条链接到运动主体上,我测试时把路径链接到一个总虚拟体上,但是光这样做路径上的辅助物体并不会跟随。如图:


路径上的辅助物体都要链接给总虚拟体,完成结果如下:


补充2:关于骨骼旋转的问题
先上图,再说明:

可见,即使是双骨骼也无法解决末端旋转问题。


双骨骼的唯一优势在于操纵倒数第三个控制器时骨骼不会自转,而单骨骼绑定的拉扯越远反转越彻底,从倒数第四个控制器开始,两种绑定就基本没区别了。到底是否需要这第二条骨骼,希望大佬们指点一二。




鬼画符 发表于 2021-8-23 23:57

大佬,“路径上的辅助物体都要链接给总虚拟体,完成结果如下”,这一步到底是使了什么魔术让锁链能这样拽起来而不是硬邦邦的移动的。。。

大雄plus 发表于 2020-6-12 12:25

各位大佬 为什么我的line走的是直线,而不是像你们一样 走的是曲线呢

无事献殷勤~ 发表于 2019-10-9 14:47

谢谢分享

jkl2567 发表于 2019-10-9 13:37

_﹏ソSmile风姿 发表于 2017-9-2 11:10
其他的没什么新意。而且这个没有解决骨骼拉伸的问题。要进引擎必须还要再架一套SKIN专用的骨骼。最后那 ...

敢问大佬,入端UNITY 要怎么处理这个拉伸问题啊 , 拉伸因数导不出来, 动画做了拉伸后 入引擎 链子拉伸丢失 全断开了。

苦B青年. 发表于 2019-7-10 16:42

可以出个视频吗,这样图文教 等于没教

新か舊 发表于 2018-7-17 14:28

不会做,

新か舊 发表于 2018-7-17 14:00

看不懂,

{WJX} 发表于 2018-6-22 14:38

感谢大佬分享

★′Free 发表于 2018-5-24 11:51


资源甚好,且阅且珍惜!

Kylin_S 发表于 2018-5-22 18:15

这不是屠夫吗
页: [1] 2 3 4 5
查看完整版本: 胖僵尸锁链绑定分析与改进