返回介绍

3ds Max 帮助

3ds Max 帮助归档

表达式控制器

发布于 2022-07-23 00:44:09 字数 8320 浏览 0 评论 0 收藏 0

使用“表达式”控制器,可以用数学表达式来控制以下动画的有关方面:诸如长度、宽度和高度之类的对象参数,以及诸如对象的位置坐标之类的变换和修改器值。

  • 指定控制器 ...表达式
  • 标准菜单:“动画”菜单 “位置控制器”或“缩放控制器” “表达式”

界面 过程

可以基于场景中其他对象的控制器值来对值进行约束。

表达式是一种能得出数值的数学函数。3ds Max 会为动画的每一个帧对表达式求一次值,以生成可随帧而改变的值。

可以将表达式指定给以下几种场景元素:

场景元素控制器
创建参数任意数字创建参数
变换位置 [X、Y、Z]

X 轴旋转

Y 轴旋转

Z 轴旋转

缩放 [X%、Y%、Z%]

修改器任意数字修改器参数(包括创建参数)
材质颜色 [R、G、B]

任意数字材质参数

注意:表达式控制器只处理 Euler 旋转的单个 XYZ 分量。不能将表达式指定给 TCB 旋转或其他类型的旋转控制器。

过程

要将常量值指定给变量,请执行以下操作:

  1. 在“标量”或“向量”列表中高亮显示该变量名称。
  2. 单击“指定到常量”。

    3ds Max 将打开一个新对话框。

  3. 在该对话框上,为常量输入新值(或者在向量的情况下,输入多个值),然后单击“确定”。

要将控制器指定给变量,请执行以下操作:

  1. 在“标量”或“向量”列表中高亮显示该变量名称。
  2. 单击“指定到控制器”。

    3ds Max 将打开“轨迹视图拾取”子对话框,显示轨迹层次。该对话框显示与“轨迹视图”层次相类似。

  3. 高亮显示变量要使用的轨迹,然后单击“确定”。

示例:要创建一个在精确的圆内移动球体的表达式,请执行以下操作:

  1. 创建一个半径为 15.0 的球体。

    使用“轨迹视图”来创建“表达式”控制器。

  2. 在活动视口中,右键单击球体,然后单击“曲线编辑器”。
  3. 在“层次”列表中,下滚至“对象”分支,如有必要,展开 Sphere01 分支以使该球体的“位置”轨迹可见。单击“位置”标记以使其高亮显示。
  4. 在“层次”列表中,右键单击该“位置”标签,然后单击“指定控制器”。

    3ds Max 将打开“指定控制器”对话框。

  5. 从控制器类型列表中选择“位置表达式”,然后单击“确定”。

    3ds Max 将打开“表达式控制器”对话框。

  6. 在“表达式”字段中输入以下位置表达式来替换默认表达式:

    [100*cos(360*NT), 100*sin(360*NT), 0]

    表达式为该球体指定了一个圆形路径。NT 是一个变量,表示“规格化时间”。基于 NT 的运动在每个活动时间段恰好发生一次,无论动画中有多少帧。

  7. 单击“计算”。
  8. 播放动画。该球体绕着世界原点 (0,0,0) 在圆内移动。圆形路径的半径为 100 个单位。

继续示例:要更改圆的半径,请执行以下操作:

上一步骤位置表达式中的两个 100 指定了半径。要调整圆路径的半径,可以创建一个符号变量来表示该半径。该变量有一个易于编辑的常量值。

  1. 如有必要,重新打开“轨迹视图”和“表达式控制器”对话框。
  2. 在“表达式控制器”对话框的“名称”字段中,输入半径,确保选中“标量”,然后单击“创建”。

    变量名称“半径”出现在该对话框的“标量”列表中。

  3. 单击“指定到常量”。

    3ds Max 将打开一个名为“半径”的对话框。

  4. 在“值”字段,输入 150,然后单击“确定”。

    半径变量现在为 150。

    接下来表达式使用了新的变量。

继续示例:要用变量名称替换文字值,请执行以下操作:

  1. 在“表达式”字段中,将两处 100 都改为 radius。表达式如下:

    [radius*cos(360*NT), radius*sin(360*NT), 0]

  2. 单击“计算”。
  3. 播放动画。该球体绕着世界原点 (0,0,0) 在圆内移动。圆形路径的半径为 150 个单位。

继续示例:要使球体绕着长方体旋转,请执行以下操作:

  1. 创建一个 40 个单位见方的长方体,并在三个或四个关键帧上设置它位置的动画。
  2. 选择球体。
  3. 在“表达式控制器”对话框的“名称”字段中,输入 boxposn。选择“向量”,然后单击“创建”。

    “boxposn”会显示在该对话框左下方的“向量”列表中。

    变量名称对大小写敏感;变量名称应该小写。

  4. 单击“指定到控制器”。

    显示“轨迹视图拾取”对话框。该对话框在“轨迹视图 - 摄影表”的左侧出现时,同时显示了对象层次。

  5. 在“层次”列表中,高亮 Box01 的“位置”控制器,然后单击“确定”。
  6. 在“表达式”字段,将 boxposn 作为偏移做加法运算:

    [radius*cos(360*NT), radius*sin(360*NT), 0]+boxposn.

  7. 单击“计算”,然后单击“关闭”。

    再次播放动画。该球体绕着长方体在圆内移动,无论长方体移动到哪儿,它都会跟着移动到哪。

界面

提示通过拖动边或角可调整对话框。

“创建变量”组

名称
变量名称。
标量/向量
选择要创建的变量的类型。
创建
创建该变量并将其添加到适当的列表中。

在单击“创建”之前,必须输入名称并指定类型。

删除
删除“标量”或“矢量”列表中高亮显示的变量。
重命名
重命名“标量”或“矢量”列表中高亮显示的变量。

首先高亮显示列表中的变量,这会将名称放入“名称”字段中。在“名称”字段中输入名称,然后单击“重命名”,新的名称将替换列表中旧的名称。

“变量参数”组

tick 偏移
包含了偏移值。1 tick 等于 1/4800 秒。如果变量的 tick 偏移为非零,该值就会加到当前的时间上去。
“标量”列表
列出您已创建的标量变量。每个表达式控制器中都提供了以下预定义的常量变量,不能对这些常量变量进行删除或重命名:
  • F以帧为单位的当前时间
  • NT标准化的时间
  • S以秒为单位的当前时间
  • T以刻度为单位的当前时间
“矢量”列表
列出您已创建的矢量变量。
指定到常量
打开一个对话框,可从中将常量指定给高亮显示的变量。

标量变量的常量指定

矢量变量的常量指定

指定到控制器
将打开“轨迹视图拾取”对话框,您可以从中将控制器指定给高亮显示的变量。在当前时间和变量的“Tick 偏移”上获得控制器的值。
“表达式”窗口
输入要计算的表达式。表达式必须是有效的数学表达式。向量表达式(位置、缩放或 Point3)的结果为三值向量,浮点表达式的结果为标量值。
“描述”窗口
输入用于描述表达式的可选文本。例如,可以说明用户定义的变量。
函数列表
显示“表达式”控制器函数的列表。

在该列表中,p、q 和 r 表示标量值或标量表达式;V 和 W 表示向量值或向量表达式。

保存
保存表达式。表达式将保存为扩展名为 .xpr 的文件。
加载
加载表达式。

已保存的表达式并不包括变量定义或变量值。加载表达式后,需要将它们重新定义。

调试
显示“表达式调试”窗口。

此窗口显示了所有的变量值,以及表达式的值。在更改变量或移动时间滑块时,“调试”窗口会自动进行更新,以交互式地察看表达式发生的变化。它同时也显示了帧 (F)、规格化时间 (NT)、秒 (S) 和 tick(T) 的值。

计算
计算动画中每一帧的表达式。

就如在常规程序设计语言中的一样,这里没有显示指定(= 或:= 操作符);指定是隐式的并随着时间而进行。

如果表达式出现了语法错误,就会显示错误消息。错误消息是表达式自身的第一部分。错误消息的最后一个字符是错误点。它通常是错误真正发生的地方,除非发生的问题是左括号和右括号(或向量括号)不匹配。在这种情况下,在检测到错误之前,计算可以进一步进行。

关闭
关闭“表达式控制器”对话框。

相关信息

本节内容

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文