background image

createNodetransform-n“objectA". 
createNode addDoubleLinear-n 份 addMe 份. 
//setAttr 是用来设置物体属性的 MEL 命令 
setAttr addMe.input1 5. 
//connectAttr 是将两个物体的属性进行连接的 MEL 命令,前者是输出属性,后者是目标属性。 
connectAttrtime 1.outTime addMe.input2. 
connectAttr addMe.output objectA.trans1ateX 

你不必知道

MEL 脚本是怎样使用工具节点的,只需理解工具节点没有按钮,必须得用手写出。不过,这并不是很难的。 

最常用的函数就是加、减、乘、除。

TI,va 有好几个工具节点来实现那些功能。像 ddDoubleLinear 是一个很有趣的名字一样,即便它只是简

单的把两个物体相加,但你必须知道它是怎样工作的。每个节点都有输入输出属性,它们可以接受一个属性作为输入,而输出到另外一个

属性。所以,

addDoubleLinear 就意味着将两个输入属性相加,并把结果放入节点的输出属性中。帮助文件会让你明白每一个节点的输入

输出属性是怎样连接的。

 

图片如下:

有害的表达式

工具节点能够缩短渲染时间,减少动画时间,并可以保持角色在设置过程中不是很复杂。虽然工具节点不是在每一帧都求值但它仍是一个

使用简单数学函数的好工具。确保对其进行与执行的函数相关的命名,这样可以很快的在

hyperGraph 中看出来并计算 

出接下来的情况。

如果你具备

MEL 知识,你就会发现多么复杂的事情都可以使用工具节点来解决,包括使用多重节点进行单一的输,以及采用不 同方

式对它们进行自动化操作。

 

在你的场景中,如果非要使用表达式的话,尽量不要让表达式限制了动画师,或强迫一些设置当中的移动。一个较好的例子就

 是:当角色

的一条腿抬高时,表达式可以自动调整角色的重心。虽然看起来这很有用,但并不一定适合动画师。某些部分还是要留

 

给动画师,毕竟,这是他们的工作嘛。

 

计算动画

--你的敌人: 

什么是计算动画

?你可能在以前的工作中已经用过,但并不真正懂得它的意思。相反的,如果你是一个非常有经验的动画师, 

能体会到计算动画的感觉。不管你属千哪一种,至少得知道作为一个动画师哪些是不想遇到的。

 

计算动画一般出现在动画师想设置与控制相反的动画时。把脚向前移动时,臀部就会住后,因为

TD 将表达式放置在这里。现在必须将臀部

控制进行动画,使它回到你移动脚之前的位置,以保证它处在在最初的位置。

“可恶的 TD!”你说,他是怎么想的? 

在设置角色的过程中,必须清楚的意识到一个控制将怎样影响设置中在别处的另一个控制。你不会想在每次移动一个物体时都产生连锁反

应。

控制器

1

控制器

2

每个控制都应该非常清楚并精确的控制着相应的部分。如果是

armTranslateX, 那么就会使胳膊上下移动,但不包括肩部。难道动画师们

不知道肩部应该抬高的吗

?但你只会使他们的工作更加困难,而且可能会给他们造成麻烦。

我是从两方面看待这个问题的。下面是

TD 和几个动画师们的对话。TD 对动画师说: 

“我决定添加一个自动的肩部控制来协调双臂的上下移动。如果抬高胳膊的控制,肩也会随之升高。这完全可以节省很多时间。” 

动画师甲对

TD 说: 

“不,不,不}你所作的一切只会使我让肩部朝着与它本该运动的方向相反的方向运动。如果我不想要你那种移动呢,或是我想为一个特别

的镜头做一个不同的运动呢。我不想要这个。

动画师乙对

TIC 说: 

“响这功能相当不错。我每次移动胳膊时,不必过多的担心肩部的运动。我只要添加需要控制就行了。” 

正如你所看到的,不同的人有不同的看法。尽管这样,曾经与我交谈过的大多数动画师宁愿进行整体控制。任何一种自动化的动作都会使