使用“表达式”控制器,可以用数学表达式来控制以下动画的有关方面:诸如长度、宽度和高度之类的对象参数,以及诸如对象的位置坐标之类的变换和修改器值。
 
  界面 过程 
可以基于场景中其他对象的控制器值来对值进行约束。
表达式是一种能得出数值的数学函数。3ds Max 会为动画的每一个帧对表达式求一次值,以生成可随帧而改变的值。
可以将表达式指定给以下几种场景元素:
| 场景元素 
		   | 
控制器 
		   | 
| 创建参数 
		   | 
任意数字创建参数 
		   | 
| 变换 
		   | 
位置 [X、Y、Z] 
			  X 轴旋转 
			  
 
			 Y 轴旋转 
			  
 
			 Z 轴旋转 
			  
 
			 缩放 [X%、Y%、Z%] 
			  
 
		   | 
| 修改器 
		   | 
任意数字修改器参数(包括创建参数) 
		   | 
| 材质 
		   | 
颜色 [R、G、B] 
			  任意数字材质参数 
			  
 
		   | 
 
注: 表达式控制器只处理 Euler 旋转的单个 XYZ 分量。不能将表达式指定给 TCB 旋转或其他类型的旋转控制器。
要了解如何使用表达式控制器创建动画,请参见示例:使用表达式控制器设置对象动画。
过程
 
   
  要将常量值指定给变量,请执行以下操作:
- 在“标量”或“向量”列表中高亮显示该变量名称。
	 
 
- 单击“指定常量”。
		
3ds Max 将打开一个新对话框。
		
 
	  
- 在该对话框上,为常量输入新值(或者在向量的情况下,输入多个值),然后单击“确定”。
	 
 
 
  要将控制器指定给变量,请执行以下操作:
- 在“标量”或“向量”列表中高亮显示该变量名称。
	 
 
- 如果向量变量高亮显示,请单击“指定控制器”或“指定控制器\节点”。(如果当前变量类型为“向量”,则可以为高亮显示的变量指定场景节点。节点的世界变换位置是在当前时间加上变量的“Tick 偏移”。请参见下文的“将节点指定给向量变量”) 
		
3ds Max 将打开“轨迹视图拾取”子对话框,显示轨迹层次。该对话框显示与“轨迹视图”层次相类似。
		
 
	  
- 高亮显示变量要使用的轨迹,然后单击“确定”。
	 
 
 
  将节点指定给向量变量
-  在“向量”列表中高亮显示变量名称。
	 
 
- 单击“指定控制器\节点”。3ds Max 将打开“轨迹视图拾取”子对话框,显示轨迹层次。该对话框显示与“轨迹视图”层次相类似。
	 
 
-  高亮显示变量要使用的节点,然后单击“确定”。
	 
 
 
 
界面
 
   
  
“表达式控制器”对话框:“创建变量”设置为“向量”
 
 
   
  提示: 通过拖动边或角可调整对话框。
  
 “创建变量”组
- 名称
 
-  变量名称。
 
- 标量/向量
 
-  选择要创建的变量的类型。如果选择“向量”,“指定控制器”按钮将变为“指定控制器\节点”。(请参见上面的界面图像)
 
- 创建
 
-  创建该变量并将其添加到适当的列表中。
  
在单击“创建”之前,必须输入名称并指定类型。
  
  
- 删除
 
-  删除“标量”或“向量”列表中高亮显示的变量。
 
- 重命名
 
-  重命名“标量”或“向量”列表中高亮显示的变量。
  
首先高亮显示列表中的变量,这会将名称放入“名称”字段中。在“名称”字段中输入名称,然后单击“重命名”,新的名称将替换列表中旧的名称。
  
  
 
“变量参数”组
- tick 偏移
 
-  包含了偏移值。1 tick 等于 1/4800 秒。如果变量的 tick 偏移为非零,该值就会加到当前的时间上去。
 
 
- “标量”列表
 
- 列出您已创建的标量变量。每个表达式控制器中都提供了以下预定义的常量变量,不能对这些常量变量进行删除或重命名:
  
-  
		F 以帧为单位的当前时间 
	 
 
-  
		NT 标准化的时间 
	 
 
-  
		S 以秒为单位的当前时间 
	 
 
-  
		T 以刻度为单位的当前时间 
	 
 
 
- “向量”列表
 
- 列出您已创建的向量变量。
 
- 指定常量
 
-  打开一个对话框,可从中将常量指定给高亮显示的变量。
  

标量变量的常量指定
 
 
   
  
向量变量的常量指定
 
 
   
-  指定控制器/指定控制器\节点
 
-  将打开“轨迹视图拾取”对话框,您可以从中将控制器指定给高亮显示的变量。在当前时间和变量的“Tick 偏移”上获得控制器的值。
  
注: 如果当前变量类型为“向量”,则“指定控制器”按钮名称将更改为“指定控制器\节点”,您可以将场景节点指定给高亮显示的变量。节点的世界变换位置是在当前时间加上变量的“Tick 偏移”。
  
 
  
 
   
- “表达式”窗口
 
- 输入要计算的表达式。表达式必须是有效的数学表达式。向量表达式(位置、缩放或 Point3)的结果为三值向量,浮点表达式的结果为标量值。
 
- “描述”窗口
 
- 输入用于描述表达式的可选文本。例如,可以说明用户定义的变量。
 
- 函数列表
 
-  显示“表达式”控制器函数的列表。
  
在该列表中,p、q 和 r 表示标量值或标量表达式;V 和 W 表示向量值或向量表达式。
  
  
- 保存
 
-  保存表达式。表达式将另存为具有 .xpr 扩展名的文件。
 
- 加载
 
-  加载表达式。
  
已保存的表达式并不包括变量定义或变量值。加载表达式后,需要将它们重新定义。
  
  
- 调试
 
-  显示“表达式调试”窗口。
  
此窗口显示了所有的变量值,以及表达式的值。在更改变量或移动时间滑块时,“调试”窗口会自动进行更新,以交互式地察看表达式发生的变化。它同时也显示了帧 (F)、规格化时间 (NT)、秒 (S) 和 tick(T) 的值。
  
  
- 计算
 
-  计算动画中每一帧的表达式。
  
就如在常规程序设计语言中的一样,这里没有显示指定(= 或:= 操作符);指定是隐式的并随着时间而进行。
  
 
  如果表达式出现了语法错误,就会显示错误消息。错误消息是表达式自身的第一部分。错误消息的最后一个字符是错误点。它通常是错误真正发生的地方,除非发生的问题是左括号和右括号(或向量括号)不匹配。在这种情况下,在检测到错误之前,计算可以进一步进行。
  
  
- 关闭
 
-  关闭“表达式控制器”对话框。