将某个自定义属性添加到对象并在表达式中使用该自定义属性通常很有用。您可以使用自定义属性控制其他属性的组合。您还可以将自定义属性用作变量,变量是一个临时存储要由其他属性读取的值的地方。
有关如何添加和使用与粒子相关的自定义属性的详细信息,请参见指定给自定义属性。
假设您使用以下表达式为名为“Planet”的 NURBS 球体指定一个圆形,以便在 XY 平面中进行环绕运动:
Planet.tx = sin(time); Planet.ty = cos(time);
在下列步骤中,您将创建一个名为“distance”的自定义属性,使“Planet”的环绕半径随时间增大。
“最小值”(Minimum)和“最大值”(Maximum)设定您可在“属性编辑器”(Attribute Editor)或“通道盒”(Channel Box)中为属性输入的最低值和最高值。
表达式不受“最小值”(Minimum)和“最大值”(Maximum)的约束。属性将接收您在表达式中指定的任何值。
表达式可以读取“默认”(Default)值或您在“属性编辑器”(Attribute Editor)或“通道盒”(Channel Box)中设定的任何其他值。
distance 属性将显示在“Planet”的“表达式编辑器”(Expression Editor)的“属性”(Attributes)列表中。您现在可以在任何表达式中设定或读取属性值。
Planet.tx = distance * sin(time); Planet.ty = distance * cos(time);
将 sin(time) 和 cos(time) 乘以 distance 属性,可以使“Planet”以 distance 属性值指定的距离绕原点环绕。有关正弦和余弦函数的详细信息,请参见有用的函数。
因为您先前将距离属性添加到“Planet”时已为其给定默认值 4,因此播放动画将使 “Planet”以距离原点 4 个栅格单位的距离绕原点环行。
distance = time; Planet.tx = distance * sin(time); Planet.ty = distance * cos(time);
通过将距离设置为时间值,“Planet” 的旋转距离将随播放时间增加。播放动画时,“Planet”向外匀速螺旋移动。
例如,通过在第 1 帧处设置距离值 1 的关键帧,在第 200 帧处设置距离值 10 的关键帧,“Planet”就会在您播放这 200 帧时向外匀速螺旋移动。播放动画时,“Planet”的距离以线性插值方式从 1 增加到 10。