返回介绍

3ds Max 帮助

3ds Max 帮助归档

表达式控制器技术

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

本主题概述了一些有用的表达式技术。

常用表达式

本主题列出了一些在设置动画时可能比较有用的表达式。

圆形路径

[ Radius * cos(360*Time),
Radius * sin(360*Time), 0 ]

其中 Time 是一个预定义的时间变量,如 NT 或 S。

如果使两个“半径”值不相等,将得到一个椭圆形路径。

如果指定了一个非零 Z 分量,该路径就不再是平面。

跟随另一个对象

[X, Y, Z] + Position

其中 Position 是第二个对象的“位置”控制器。

向量 [X, Y, Z] 可以是到第二个对象的偏移。(如果为 [0,0,0],两个对象就处在相同的位置上。)它也可以是指定了其自身内某些运动的向量表达式。

在两个对象之间保留一个对象

(Position1 + Position2) / 2

其中 Position1Position2 是两个对象的“位置”控制器。

分数 2 约束了位于两个其他对象之间中途的对象。其他值将该对象约束到其他的位置。

在其他对象之间反弹

(1+sin(360*Time))/2 * (Pos1-Pos2) + Pos2

其中 Time 是一个预定义的时间变量,诸如 NT 或 S;Pos1Pos2 是两个其他对象的“位置”控制器。

次表达式 (1+sin(360*Time))/2 是随着时间在 0 和 1 之间摆动的值。(Pos1-Pos2) 是两个其他对象之间的向量。将两者相乘,随后再把 Pos2 作为偏移加上,就将对象沿着这个向量进行了定位。

基于摄影机距离更改对象的分段数

此表达式基于摄影机的距离而改变圆柱体内的分段数。它指定给了圆柱体的“分段”创建参数。

if ( (length(Camera-Myself) > 35),
3 + (50*Height) / length(Camera-Myself),
MaxSegs)

其中 Camera 是摄影机的位置控制器;Myself 是圆柱体的位置控制器;Height (= 70) 是圆柱体的高度;MaxSegs (=100) 是分段的最大数目。

当摄影机靠的越近,更多的分段使得圆柱体更为平滑;当摄影机比较远时,平滑就不那么重要,分段数也就越少而渲染就进行得更快。

当第一个参数为真时,if() 函数就会返回它的第二个参数;否则,就返回它的第三个参数。在本例中,如果摄影机离圆柱体的距离超过了 35 单位,表达式就会计算分段数;如果摄影机距圆柱体 35 单位远或更近,分段数的值就是 MaxSegs 常量。

选定第二个参数中的值,这样随着距离朝着阈值 35 减小,分段数就会朝着 MaxSegs 增加。加法“3+”保证了圆柱体至少具有三个分段,即使除法的结果到了零(分段是一个整数)。

注意:对于表达式,摄影机或圆柱体或是这两者是否移动显得无关紧要。

相关信息

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

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

发布评论

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