Non-Roll绑定技术教程
// February 26th, 2009 // CG, 绑定
原创文章,转载请注明出处!!
相信很多人看过Victor Vinyals的Rig Demo Reel,里面很多技术亮点让人好奇,如FK/IK无缝切换,Non-Roll肩膀……等,笔者最近就着迷于Non-Roll技术而四处搜寻教程却只找到了Victor的原帖,而且他提供的源文件也因时间过长而无法下载,好在通过animator.k大哥找到了源文件。于是苦心研究了两天,总算弄明白其中的原理,特地写份教程来和大家分享。
何为Non-Roll技术?
即无翻转技术,相信很多动画师在K动画时遇到的一个问题是旋转过度时模型会翻转的问题,尤其是肩膀,而Victor的Non-roll技术彻底杜绝了这个问题,而且还能保证正常的动画。
Non-Roll的原理是什么?
简单的说就是通过两套骨骼来分别控制蒙皮的和控制旋转、位移,后者带这前者走,但是其旋转的时候还不会带着前者一起旋转,因为给前者做了个IK,并且给了极向量约束,自然旋转被锁住了,翻转的问题就解决了。
我将尽可能简化Victor的源文件来写这份教程,省去弹性骨骼、圆滑控制……的方法,重点集中在Non-Roll技术上。
P.S:本教程用到的模型为Victor的源模型,希望Victor看到不要见意,嘿嘿~
首先你要搭建了这样一套骨骼(如图),建议下载我的源文件(Maya 8.5以上)。


1、l_shoulder_rollBone1至l_shoulder_rollBone2做IK,命名为l_shoulder_rollIKHandle;
l_forearm_rollBone1到l_forearm_rollBone2做IK,命名为l_forearmRoll_ikHandle;
l_shoulder_jnt到l_wrist_jnt做IK,命名为l_arm_ikHandle;
l_wrist_jnt到l_wrist_ballJnt做IK,命名为l_wrist_ikHandle。
2、创建locator,命名为l_shoulder_rollLocator,吸附至骨点l_shoulder_rollBone2,并且P给l_shoulder_jnt;
创建locator,命名为l_forearmRoll_locator,吸附至骨点l_forearm_rollBone2,并且P给l_elbow_jnt;
创建locator,命名为l_shoulder_rollPole,放置在骨点l_shoulder_jnt下方;
创建locator,命名为l_forearmRoll_pole,放置在骨点l_elbow_jnt下方。
3、l_shoulder_rollLocator对l_shoulder_rollIKHandle作点约束,l_shoulder_rollPole对l_shoulder_rollIKHandle做极向量约束;
l_forearmRoll_locator对l_forearmRoll_ikHandle作点约束,l_forearmRoll_pole对l_forearmRoll_ikHandle做极向量约束。
4、创建控制器l_hand__Control,放置手掌,并将轴心吸附至l_wrist_jnt(注意要Freeze,将数值归零,以下类同),将l_arm_ikHandle和l_wrist_ikHandle P给这个控制器;
创建控制器l_arm__upVector,放置肘部后端,并对l_arm_ikHandle做极向量约束;
创建控制器l_shoulder_FK_ctrl,对其打组,命名为l_shoulder_FK_ctrl_grp,吸附至骨点l_shoulder_jnt,对齐旋转轴,l_shoulder_FK_ctrl对l_shoulder_jnt做旋转约束,将l_shoulder_FK_ctrl_grp P给上级骨骼spine_end_jnt;
创建控制器l_elbow_FK_ctrl,对其打组,命名为l_elbow_FK_ctrl_grp,吸附至骨点l_elbow_jnt,对齐旋转轴,l_elbow_FK_ctrl对l_elbow_jnt做旋转约束,将l_elbow_FK_ctrl_grp P给上级骨骼l_shoulder_jnt;
5、至此,绑定结束,很简单吧,关键是蒙皮,必须注意的是控制旋转、位移的骨骼(l_shoulder_jnt、l_elbow_jnt、l_wrist_jnt)不参与蒙皮!!!而其它骨骼影响模型的相应位置!其中l_wrist_ballJnt影响整个手掌。
大家可以下载我做得每个步骤的文件来参考和测试。本教程只是简单阐述Non-Roll绑定的方法,其中提供的文件都是不完整而且不能用于实际生产的,只希望大家能从中学到一种思路,拓展自己绑定的思维。
有什么问题,欢迎留言,大家一起交流!




不错啊,支持
很好很牛B
加油~~出更多的牛逼教程 ~~~你也开个水星时代
好好,到时请你做高级绑定教师,哈哈
但是有个问题 看演示视频里面的手并没有旋转啊。 这个问题困扰我两天了 虽然给手加了个IK设置了无反转 但是效果甚微啊。
噢~这个啊,因为本文的设置是不完整的,他的演示里边当然有更多设置,而本文只是提供一种思路
支持!!!
高手啊 最近我在深化我的maya技术 希望能得到XRacZ 的帮助 Q437774645 一定要加我啊 注明
…. l_forearmRoll_locator对l_forearmRoll_ikHandle做极向量约束。 …..
这句应该写错了 应该是l_forearmRoll_pole对l_forearmRoll_ikHandle做极向量约 楼主笔误了
谢谢双子魂指正,文章已经更新
很感谢兄台的支持,由于个人原因不方便加Q,有问题欢迎留言
只看文本还不太懂,求Victor源文件观摩,FTP打不开了~~多谢~!
一直致力于rig,有vv的源文件吗,来晚了链接失效了, XRacZ能传个吗,或者再放ftp离啊,多谢,email:maikfefeixiang@163.com
QQ:419078541