在下列步骤中,将创建一个默认球体并编写一个表达式,以随着动画播放期间时间的增加而增加其“缩放 Y”(Scale Y)属性。          

创建表达式        

  1. 确保已完成课程准备中的步骤。

    创建 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
    20.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)会更新其值。                

    缩放是平滑的,因为几何体与动画播放的小时间增量同步拉伸。                

  2. 关闭“表达式编辑器”(Expression Editor)窗口。

,