维爱迪-动画创作家园 >> 动画资源 >> 3d教程 >> 巧妙应用Parameter Collector制作表情动画 |
最近有朋友问我关于表情动画如何控制才好?这可有很多种方法实现,
但一般人们都喜欢用Morpher来做,
可是Morpher还不是十分理想,那怎么办呢?
3Ds MAX 7加入一个新的功能:Parameter Collector
下面我们就应用这个新的功能配合Morpher来演示表情的设置。首先,我们先对模型进行Morpher设定:
(这个模型是我的新DEMO中的角色,调好的表情有很多,
但这个教程中我只选用了十个表情来做示范。)
分别是眼部的5个表情和口部的5个表情,为何要说明这些呢?等会就知道了!
接着我们可以通过点击菜单Animation/Parameter Collector...
又或者Alt 2来开启Parameter Collector的控制面版
然后我们继续点击菜单上Parameters/Add To New Rollout
接着如图所示,弹出Track View Pick窗口,
然后我们在Objects下找到模型Head,
进入Head的Modified Object下的Morpher中选取图中标记的5个表情参数~
然后点击OK
之后我们便能发现刚才所选的5项表情参数都出现在Parameter Collector的窗口里,
接着,如图所示,我们利用菜单命令来更改这一Rollout的名称,
为了方面以后制作,我们命名这Rollout为Eye Control,
顾名思义,这个Rollout下的5个参数就是用来控制眼部的5个表情
接着,我们再用同样的方法把图中绿色标记的其余5项参数添加到Parameter Collect的面版中
同样为了方便以后操作,我们命名这一新的Rollout为Mouth Control,
Rollout里的5项参数就是控制口部表情的变形
好了,到了现在,我们要演示的这十项参数都被加入到面版中去了,
有什么用呢??
首先,这么一来我们能在以后的制作中方便地分类治理我们的表情控制,
而不至于象在Morpher下拉着那长长的控制条找老半天也找不着要控制的变形参数,
虽然这里只有十个表情,还不能体现出Parameter Collector在治理参数的优势。
但在制作中我们往往会用上几十个甚至上百个变形。
我们继续这个动脑筋的游戏。先看看图,图中用绿色标记的两个参数是分别是控制左眼和右眼闭上的参数;
而按下最左边绿色的小按钮是表示选定了该参数,
图中所示,我们选定了左眼和右眼闭上的两项参数。
聪明的你一定马上知道我想说的就是同时控制两项参数的方法,
也就是说,只要改变选定的参数中其中一项,其他选定的也会同时跟着改变。
可别忘了按下上面用黄色标记的按钮,这是多项同步按钮。
虽然我们已经选定了两项参数,但假如没有按下同步按钮的话,
这选定的两项参数还是只能分别调整。
所以要实现同步改变的话,必须记住两样事情:
1、选定要进行同步的参数;
2、按下多项同步按钮;
刚刚介绍过多项同步改变参数的方法,
接下来就讲一下进一步的应用,
这也是很多人做角色动画时十分头疼的一个问题。
我们先来控制嘴巴的张开动作,
看到了什么?
没错,是牙齿~~!
很不对劲吧,下颚的牙齿如何才能实现同步控制~~~
而不用分别调整这么麻烦呢~~~!
我们一步一步来。
首先,我们先把下颚的牙齿、牙床、舌头选定;
然后利用Group把它们成组,并命名为Teeth & Tongue。
这样我们就有了一个名叫Teeth & Tongue的组物体。
接着,我们利用Pivot把组物体的轴心向Y轴方向移动。
如图:
我们把轴心往后移动的目的是为了更好地旋转组物体Teeth &Tongue以符合嘴巴张开的角度。
如图:
看到这,或许有人已经想到该怎么做了,是吧~!
就是把这个组物件的旋转轴参数添加到Parameter Collector中,
这样就可以和嘴巴张开变形的参数实现同步变形了,是这样想的吧!
哈哈~~假如是的话,你就对了,最起码方向是对了。
但仅仅是方向对了而已,那有什么是遗漏了呢?
我们先按这个最起初是人都想到的方向去实践一下吧,
首先再次打开Parameter Collector,
接着再添加参数,但这次不是Add to New Rollout了。
以方便治理为前提,我们把下颚牙齿这一组物体的旋转轴参数添加到Mouth Control这一Rollout里。
先选定Mouth Control这一Rollout,再按下图中黄色标记的按钮;
接着就会再次弹出Track View Pick窗口,
注重,这次我们选择的是组物体Teeth & Tongue的旋转轴控制参数,
别选错了。
我们选择X轴的旋转参数,如图:
添加完这个X轴的旋转控制参数以后,
我们按前面所说过的方法去实现一下参数同步改变,
记得留意图上标记了的按钮。
看看结果,当嘴巴张开的参数调整到达100的时候,
下颚牙齿的组物体已经旋转了N周了,
众所周知,X轴的旋转参数是以角度数来标识的,
现在的度数为5729度之多,是5729度;暂时先记下这个数,等会有用着呢。
这下说明一点,Parameter Collector中不同类型的参数进行同步改变时会出现比值差。
如图:
这下该怎么办才能解决这个比值差的问题呢?
嘻嘻~~~
好好回忆一下以往学过的东西吧
如图,
先把同步参数改变的按钮关闭,
我们进行手动调整X轴的参数,
直至下颚组物体的旋转位置与嘴巴张开参数在100的情况下变得合理。
经过调整,X轴的度数在8左右与嘴巴张开的角度比较理想。记下8这个数!
这时候我们可以把X轴的参数从Parameter Collector中删除掉,
方法如图:
黄色标记的按钮,先选定X轴参数,再按下上面黄色标记的按钮!
接下来是回忆过去了~~!
其实解决这个比值差的方法我们可以利用表达式,
这下知道为什么要记下刚才的度数值了吧~!既然要用表达式,就如代数的公式一样,只有一个元素无法表达任何东西,
所以我们要创建另一个元素。这时我们在创建面版中选择Helper模块,在Front视图中创建一个Dummy辅助物体,
并命名为Dummy TNT, 如图:
接着点击菜单Animation/Wire Parameters/Parameter Wire Dialog.....
又或者按Alt 5来弹出Parameter Wire对话框, 如图:
出现Parameter Wire Dialog对话框后,
我们在左边选择Dummy TNT的X轴,
右边选择组物体Teeth & Tongue的X轴,
在control direction上面有三个种箭头按钮,
我们按下最下面的一个箭头按钮,意思是左边的参数控制右边的参数。
但这时后还不可以直接按Connect按钮连接两项参数,
假如现在按下了Connect的话,比值差问题就等于是没有任何改变,
我们必须在右边的参数项上打上这句:X_Rotation/(5729/8)这时候才Connect上这两个参数,如图:
X_Rotation/(5729/8)是Teeth & Tongue 的X 旋转轴除以5729与8的商。由于是左边Dummy TNT的X旋转轴的值控制右边Teeth & Tongue的X旋转轴的值,
所以加入这句后,简单来说就是,
当Dummy TNT的X旋转轴旋转至5729度的时候,Teeth & Tongue的X旋转轴只旋转8度。
接下来我们直接控制Dummy TNT的X旋转轴就可以解决掉比值差的问题!
这时我们再次打开Parameter Collector,
把Dummy TNT的X旋转轴参数添加到Mouth Control里去。
如图:
接着再尝试同步参数改动,
现在当嘴巴张开的参数到达100时,
X_Rotation的数值也到达了5729;
可是下颚组物体就却正好在适合的位置,
原因是参与嘴巴张开的参数同步改变的是Dummy TNT的X旋转轴,
所以当Dummy TNT的X旋转轴旋转了5729度的时候,Teeth & Tongue的X旋转轴只是旋转了8度而已,正如我们前面的手动设置一样!
怎么样,相信基本上试过表达式的朋友都很轻易明白。或许初次接触的朋友会觉得很复杂,而且很繁琐,但弄清了其中的原理以后就会变得一目了然了!对于做动画的朋友来说,这个设置可是个宝物,至少现在是。
想想做表情动画的时候频繁地去为各个参数打要害帧可不是件乐事哦!
这样在以后的制作中将减少大量的工作。