用Maya制作虚拟体控制手部运动
作者:佚名 来源:互联网 发表时间:2009-07-03
首先讲讲原理,简单一句话,就是通过虚拟体对对象物体添加多个控制通道,来达到单一物体对对象物体多个部位的控制
首先创建一只手(其实是爪子)
如图所示,打开Connection Edi
首先讲讲原理,简单一句话,就是通过虚拟体对对象物体添加多个控制通道,来达到单一物体对对象物体多个部位的控制
首先创建一只手(其实是爪子)
![](http://images.ljcjw.com/d/file/p/2009-07-03/a75c340455dd6313ac3d29fb953efe52.jpg)
如图所示,打开Connection Editor
![](http://images.ljcjw.com/d/file/p/2009-07-03/c33c8bd67942cb462010bbf66492602c.jpg)
选中红圈里的骨头,在对话框中选Reload Left
![](http://images.ljcjw.com/d/file/p/2009-07-03/68f1d6b3e09767e078ec198111fde118.jpg)
选中红圈里的骨头,在对话框中选Reload Right
![](http://images.ljcjw.com/d/file/p/2009-07-03/9fa3ffd1594c79b661a535437a5e4e65.jpg)
把它们的的RotateZ连接起来
![](http://images.ljcjw.com/d/file/p/2009-07-03/29b01269f1fc627dcac8c4e1302693d4.jpg)
把它们都清理了,其实也不用清理
![](http://images.ljcjw.com/d/file/p/2009-07-03/d09aa6984a49630038f840ddd80591fa.jpg)
选中红圈里的骨头,在对话框中选Reload Left
![](http://images.ljcjw.com/d/file/p/2009-07-03/7f7e1590af79170831d4a5a6f105304f.jpg)
选中红圈里的骨头,在对话框中选Reload Right
![](http://images.ljcjw.com/d/file/p/2009-07-03/a29c9500244b669e441f6f15fcfdd1fa.jpg)
把它们的的RotateZ连接起来
![](http://images.ljcjw.com/d/file/p/2009-07-03/a20369e62957c2d960585068b71250b5.jpg)
效果如图
还有一种方法,选中一根手指,在命令行里输入select -hi; 然后回车
![](http://images.ljcjw.com/d/file/p/2009-07-03/f515029c0a17fbdbd0c0e40e7417e601.jpg)
另外两根连接的方法也是这样
下面,在手的上面创建一个虚拟体,当然也可以是其它物体,如方块、球等
![](http://images.ljcjw.com/d/file/p/2009-07-03/1e506c8d2a7b21fd3fc87d0588f3ac94.jpg)
给虚拟体添加一个名为Motion_1的属性,参数如图
![](http://images.ljcjw.com/d/file/p/2009-07-03/fcfd660484fbb31e83990428a5c3491f.jpg)
驱动为LOCATOR1
被驱动为红圈里的骨头,也就是JOINT10
在Motion_1值为0的时候给JOINT10的rotateY(Y=0)打一个关键帧(按KEY)
![](http://images.ljcjw.com/d/file/p/2009-07-03/6528abf44e7ae8e1d3b27e134c981faf.jpg)
在Motion_1值为-10的时候给JOINT10的rotateY(Y=-10)打一个关键帧(按KEY)
![](http://images.ljcjw.com/d/file/p/2009-07-03/c27c1aed2694ca9b4f700aedae1d18a2.jpg)
选择红圈里的骨头,也就是JOINT14。设置如图
![](http://images.ljcjw.com/d/file/p/2009-07-03/d239515e9515dc02b43425b4058a8193.jpg)
在Motion_1值为0的时候给JOINT14的rotateY(Y=0)打一个关键帧(按KEY)
![](http://images.ljcjw.com/d/file/p/2009-07-03/27489335f4a942ec8e222bf9cae1b26c.jpg)
在Motion_1值为-10的时候给JOINT14的rotateY(Y=10)打一个关键帧(按KEY)
![](http://images.ljcjw.com/d/file/p/2009-07-03/d9baca55ee30dcf64bf8e875575aa972.jpg)
张开爪子的动作设好了!拖动Motion_1的值,看看有什么变化
下面讲握爪子的动作设置
再个虚拟体添加一个名为Motion_2的属性,参数如图,留意最大值为15
![](http://images.ljcjw.com/d/file/p/2009-07-03/f238df7044898a2413362458b7a89f07.jpg)
这步设置如图,前面已经讲过方法了
![](http://images.ljcjw.com/d/file/p/2009-07-03/ca22cd4611eca1496f0f52a2d56d6963.jpg)
在Motion_2值为15的时候给JOINT10,3,14的rotateZ(Z=-80)打一个关键帧(按KEY)
![](http://images.ljcjw.com/d/file/p/2009-07-03/1c4705723dcb08aa48ebdc9e10f80f2b.jpg)
现在就可以分别或者一起来调整这两个控制参数来控制这只爪子了
![](http://images.ljcjw.com/d/file/p/2009-07-03/b1b1c61acd3f0c9e597dea38e14dbcd7.jpg)
大家请注意为什么Motion_1的最大值为-10,Motion_2的最大值为15?也就是两个区别,为什么一个为负,一个为正? 一个是-10,一个是15(这只是相对于我的设置,各位也可以设置其它不同的参数)
首先创建一只手(其实是爪子)
![](http://images.ljcjw.com/d/file/p/2009-07-03/a75c340455dd6313ac3d29fb953efe52.jpg)
如图所示,打开Connection Editor
![](http://images.ljcjw.com/d/file/p/2009-07-03/c33c8bd67942cb462010bbf66492602c.jpg)
选中红圈里的骨头,在对话框中选Reload Left
![](http://images.ljcjw.com/d/file/p/2009-07-03/68f1d6b3e09767e078ec198111fde118.jpg)
选中红圈里的骨头,在对话框中选Reload Right
![](http://images.ljcjw.com/d/file/p/2009-07-03/9fa3ffd1594c79b661a535437a5e4e65.jpg)
把它们的的RotateZ连接起来
![](http://images.ljcjw.com/d/file/p/2009-07-03/29b01269f1fc627dcac8c4e1302693d4.jpg)
把它们都清理了,其实也不用清理
![](http://images.ljcjw.com/d/file/p/2009-07-03/d09aa6984a49630038f840ddd80591fa.jpg)
选中红圈里的骨头,在对话框中选Reload Left
![](http://images.ljcjw.com/d/file/p/2009-07-03/7f7e1590af79170831d4a5a6f105304f.jpg)
选中红圈里的骨头,在对话框中选Reload Right
![](http://images.ljcjw.com/d/file/p/2009-07-03/a29c9500244b669e441f6f15fcfdd1fa.jpg)
把它们的的RotateZ连接起来
![](http://images.ljcjw.com/d/file/p/2009-07-03/a20369e62957c2d960585068b71250b5.jpg)
效果如图
还有一种方法,选中一根手指,在命令行里输入select -hi; 然后回车
![](http://images.ljcjw.com/d/file/p/2009-07-03/f515029c0a17fbdbd0c0e40e7417e601.jpg)
另外两根连接的方法也是这样
下面,在手的上面创建一个虚拟体,当然也可以是其它物体,如方块、球等
![](http://images.ljcjw.com/d/file/p/2009-07-03/1e506c8d2a7b21fd3fc87d0588f3ac94.jpg)
给虚拟体添加一个名为Motion_1的属性,参数如图
![](http://images.ljcjw.com/d/file/p/2009-07-03/fcfd660484fbb31e83990428a5c3491f.jpg)
驱动为LOCATOR1
被驱动为红圈里的骨头,也就是JOINT10
在Motion_1值为0的时候给JOINT10的rotateY(Y=0)打一个关键帧(按KEY)
![](http://images.ljcjw.com/d/file/p/2009-07-03/6528abf44e7ae8e1d3b27e134c981faf.jpg)
在Motion_1值为-10的时候给JOINT10的rotateY(Y=-10)打一个关键帧(按KEY)
![](http://images.ljcjw.com/d/file/p/2009-07-03/c27c1aed2694ca9b4f700aedae1d18a2.jpg)
选择红圈里的骨头,也就是JOINT14。设置如图
![](http://images.ljcjw.com/d/file/p/2009-07-03/d239515e9515dc02b43425b4058a8193.jpg)
在Motion_1值为0的时候给JOINT14的rotateY(Y=0)打一个关键帧(按KEY)
![](http://images.ljcjw.com/d/file/p/2009-07-03/27489335f4a942ec8e222bf9cae1b26c.jpg)
在Motion_1值为-10的时候给JOINT14的rotateY(Y=10)打一个关键帧(按KEY)
![](http://images.ljcjw.com/d/file/p/2009-07-03/d9baca55ee30dcf64bf8e875575aa972.jpg)
张开爪子的动作设好了!拖动Motion_1的值,看看有什么变化
下面讲握爪子的动作设置
再个虚拟体添加一个名为Motion_2的属性,参数如图,留意最大值为15
![](http://images.ljcjw.com/d/file/p/2009-07-03/f238df7044898a2413362458b7a89f07.jpg)
这步设置如图,前面已经讲过方法了
![](http://images.ljcjw.com/d/file/p/2009-07-03/ca22cd4611eca1496f0f52a2d56d6963.jpg)
在Motion_2值为15的时候给JOINT10,3,14的rotateZ(Z=-80)打一个关键帧(按KEY)
![](http://images.ljcjw.com/d/file/p/2009-07-03/1c4705723dcb08aa48ebdc9e10f80f2b.jpg)
现在就可以分别或者一起来调整这两个控制参数来控制这只爪子了
![](http://images.ljcjw.com/d/file/p/2009-07-03/b1b1c61acd3f0c9e597dea38e14dbcd7.jpg)
大家请注意为什么Motion_1的最大值为-10,Motion_2的最大值为15?也就是两个区别,为什么一个为负,一个为正? 一个是-10,一个是15(这只是相对于我的设置,各位也可以设置其它不同的参数)