在下列步骤中,将创建一个默认球体并编写一个表达式,以随着动画播放期间时间的增加而增加其“缩放 Y”(Scale Y)属性。
创建表达式
确保已完成课程准备中的步骤。
创建 NURBS 或多边形球体。在“属性编辑器”(Attribute Editon)中,单 变换节点(“nurbsSphere1”或“pSphere1”)。
确保 X 缩放、Y 缩放和 Z 缩放值等于 1。将球体重命名为 Ball。(大写和小写文本很重要)
选中 Ball 后,选择“窗口 > 动画编辑器 > 表达式编辑器”(Window > Animation Editors > Expression Editor)。
在“表达式名称”(Expression Name)框中,可以选择输入表达式名称,例如 ScaleBallHeight。
如果在同一场景中编写多个表达式,请为每个表达式提供不同的名称,这样可能更便于找到所需的表达式(如果您以后决定更改它)。如果不提供名称,则表达式会获得默认名称,例如 expression1。
请注意,“属性”(Attributes)列表显示了 Ball 的可设置关键帧的解锁属性,您很可能希望使用表达式对这些属性设置动画。使用滚动条查看整个列表。
在表达式文本区域中输入该表达式:
如上所示精确键入所有字符。条目是区分大小写的。分号 (;) 表示表达式语句结束。在表达式中使用分号结束每条语句。
如果表达式的语法不正确,或键入错误,则会在“脚本编辑器”(Script Editor)和“命令行”(Command Line)的响应区域中显示错误消息。
单击“创建”(Create)以创建表达式。
创建表达式时会检查该表达式有无语法错误,并且当您返回到开始时间或播放动画时,会将表达式转化为 Maya 可以执行的格式。单击“创建”还会为当前帧执行表达式。
表达式将 Ball 的 scaleY 属性设定为 time + 1 后的值。Ball.scaleY 是该属性的全称。句点将对象和属性的名称分隔开。请注意,必须使用大写字母和小写字母拼写对象和属性,因为它们显示在“表达式编辑器”(Expression Editor)的“对象”(Objects)和“属性”(Attributes)列表中。
单词 time 是在动画播放时更新的常用的预定义变量。它包含从第一帧到当前帧已用的秒数。该值随帧编号的增加而增加。
在默认动画播放速率(每秒 24 帧)下,time 具有以下值(舍入为四个小数位):
帧 time(以秒为单位) 0 0 1 0.0417 2 0.0833 3 0.125 24 1.0 240 10.0 可以在动画中的任何帧处查找已用时间,方法是使用桌面计算器计算该公式:
例如,如果帧速率是 24 帧/秒,动画在第 1 帧,则已用时间是 1 除以 24,即 0.0417。在第 6 帧,已用时间是 6 除以 24,即 0.25。请注意,如果帧速率是 30 帧/秒,计算出的值可能不同。
转到开始时间,并播放动画。Ball 的 ScaleY 属性随时间的增加而增大:
帧 time(以秒为单位) Ball.scaleY (time + 1) 0 0 1 1 0.0417 1.0417 2 0.0833 1.0833 3 0.125 1.125 24 1.0 2.0 240 10.0 11.0 Maya 会在每一帧执行表达式。这会使对象大小沿其 Y 轴缩放,从而在播放期间拉伸其高度。
若要查看 Ball 的 ScaleY 属性在任何特定帧的值,请选择 Ball,显示“通道盒”(Channel Box),并在所需的帧停止动画。在停止动画后,“通道盒”(Channel Box)会更新其值。
缩放是平滑的,因为几何体与动画播放的小时间增量同步拉伸。
关闭“表达式编辑器”(Expression Editor)窗口。