可以基于距离操纵器的距离移动组件。
修改 > 变换工具 > 成比例修改工具(Modify > Transformation Tools > Proportional Modification Tool) >
修改类型(Modification type)
世界(World)
成比例修改发生在 XYZ 空间。
参数化(NURBS) (Parametric (NURBS))
成比例修改发生在 UV 空间。
修改衰减(Modification Falloff):线性(Linear)
这是默认的修改衰减。Maya 以线性方式进行修改,并显示“距离中止”(Distance Cutoff)选项。
距离中止(Distance Cutoff)
将忽略距离超出此值的对象。该距离是在 3D 中从操纵器控制柄测量的。对于参数化 (NURBS) 修改类型,可以设置“U 向距离中止”(Distance Cutoff U)和“V 向距离中止”(Distance Cutoff V)。
距离基于(Distance Based On)
从操纵器控制柄到对象之间的距离会直接影响修改因子。距离仅沿选定轴进行计算。如果关闭其中任一项,则计算控制柄与点之间的 PropMod 效果时使用的距离会忽略该组件。
修改衰减(Modification Falloff):幂(Power)
使用“成比例修改工具”(Proportional Modification Tool),可以将次数设置为 +5 至 -5 之间的任意值,并将衰减设置为非线性(形成增长曲线)。但是,如果将次数设置为 1,衰减将回到线性。
距离中止(Distance Cutoff)
将忽略距离超出此值的对象。该距离是在 3D 中从操纵器控制柄测量的。对于参数化 (NURBS) 修改类型,可以设置“U 向距离中止”(Distance Cutoff U)和“V 向距离中止”(Distance Cutoff V)。
次数(Degree)
指定 U 方向和 V 方向上的效果次数。值为 0 时,会将变换应用至整个区域。
正值会减轻远离操纵器控制柄的对象的变换效果;次数越高,衰减效果越强。
如果“次数”(Degree)为负值,则会增强远离操纵器控制柄的对象的变换效果。
距离基于(Distance Based On)
从操纵器控制柄到对象之间的距离会直接影响修改因子。距离仅沿选定轴进行计算。
修改衰减(Modification Falloff):脚本(Script)
此方法使用 MEL 脚本来确定衰减。
使用适当的参数集,选择“脚本”选项并在“用户定义脚本”(User Defined Script)框中键入设置命令,就可以保存当前参数设置,无需实际调用该函数。如果希望以后再次使用这些设置,可以从“引用编辑器”(Reference Editor)获取该工具脚本。
用户定义脚本(User Defined Script)
脚本应返回修改因子。输入脚本的是“浮点”编号。前三项表示操纵器控制柄的位置。接下来的三项表示操纵点的位置。例如,此脚本返回 1 的点与操纵器控制柄一起移动。此脚本返回 0.5 的点以操纵器控制柄速度的一半进行移动。
修改衰减(Modification Falloff):曲线(Curve)
此选项使用动画曲线创建衰减。动画曲线轮廓可用于生成修改因子。
动画曲线 (Anim. Curve)
输入现有动画曲线的名称。其垂直方向映射至修改因子。距离映射至动画曲线时间轴(以秒为单位)。
可以使用框右侧的下拉列表列出名称以 propModAnimCurve 开头的全部动画曲线,并从中进行选择。也可以从同一下拉列表中选择“新建”(Create New),新建动画曲线。
U 向比例(Scale U),V 向比例(Scale V)
仅适用于“参数化(NURBS)修改”(Parametric (NURBS)Modification)类型。
距离基于(Distance Based On)
从操纵器控制柄到对象之间的距离会直接影响修改因子。距离仅沿选定轴进行计算。
修改衰减(Modification Falloff):NURBS 曲线(NURBS Curve)
仅适用于“世界修改”(World Modification)类型。此选项使用“NURBS 曲线”(NURBS curve)创建衰减。“NURBS 曲线”(NURBS curve)轮廓可用于生成修改因子。
输入现有“NURBS 曲线”(NURBS curve)的名称。其垂直方向映射至修改因子。距离映射至“NURBS 曲线”(NURBS curve)。
可以使用框右侧的下拉列表列出全部 NURBS 曲线,并从中进行选择。
使用 PropMod 脚本
PropMod 脚本类似于“移动”脚本,不同之处在于前者对于移动距离具有附加设置。使用“脚本”选项,可以分别计算每个对象的因子。
用户定义的脚本命令将使用操纵器和对象二者的位置。脚本返回的值将用作具体对象的倍增因子。
示例
创建 myPropMove.mel 文件,如:
global proc float myPropMove (float $mx, float $my, float $mz, float $px, float $py, float $pz) { float $value = rand (1.0); return $value; }
...可以产生介于 0 到 1 之间的随机值。
如果选择 myPropMove 作为脚本名称,将获得一个所有选定点都使用的随机修改因子。
,