在下列步骤中,将创建一个默认球体并编写一个表达式,以随着动画播放期间时间的增加而增加其“缩放 Y”(Scale Y)属性。
如果在同一场景中编写多个表达式,请为每个表达式提供不同的名称,这样可能更便于找到所需的表达式(如果您以后决定更改它)。如果不提供名称,则表达式会获得默认名称,例如 expression1。
请注意,“属性”(Attributes)列表显示了 Ball 的可设置关键帧的解锁属性,您很可能希望使用表达式对这些属性设置动画。使用滚动条查看整个列表。
如上所示精确键入所有字符。条目是区分大小写的。分号 (;) 表示表达式语句结束。在表达式中使用分号结束每条语句。
如果表达式的语法不正确,或键入错误,则会在“脚本编辑器”(Script Editor)和“命令行”(Command Line)的响应区域中显示错误消息。
创建表达式时会检查该表达式有无语法错误,并且当您返回到开始时间或播放动画时,会将表达式转化为 Maya 可以执行的格式。单击“创建”还会为当前帧执行表达式。
表达式将 Ball 的 scaleY 属性设定为 time + 1 后的值。Ball.scaleY 是该属性的全称。句点将对象和属性的名称分隔开。请注意,必须使用大写字母和小写字母拼写对象和属性,因为它们显示在“表达式编辑器”(Expression Editor)的“对象”(Objects)和“属性”(Attributes)列表中。
单词 time 是在动画播放时更新的常用的预定义变量。它包含从第一帧到当前帧已用的秒数。该值随帧编号的增加而增加。
在默认动画播放速率(每秒 24 帧)下,time 具有以下值(舍入为四个小数位):
可以在动画中的任何帧处查找已用时间,方法是使用桌面计算器计算该公式:
例如,如果帧速率是 24 帧/秒,动画在第 1 帧,则已用时间是 1 除以 24,即 0.0417。在第 6 帧,已用时间是 6 除以 24,即 0.25。请注意,如果帧速率是 30 帧/秒,计算出的值可能不同。
帧 | 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)会更新其值。