命令条目:指定控制器 “浮动限制”

通过“限制”控制器可以为可用的控制器值指上限和下限,从而限制被控制的轨迹的可能值范围。例如,在角色装备中可以使用该控制器来限制手指关节处的旋转,这样手指就不会向后弯曲。基本上,一旦轨迹被限定、并且该限定启用之后,则轨迹的值将无法再超出限制。

可以为大多数其他控制器类型应用一个“限制”控制器;被限制的控制器(即,原始控制器)将在“轨迹视图”层次中以“限制”控制器的子体形式出现。          

通过“限制”控制器可以为可用的控制器值指上限和下限,从而限制被控制的轨迹的可能值范围。例如,在机械组合中可以使用该控制器限制某个零件的旋转,以使它旋转时不会超出其标准运动范围。基本上,一旦轨迹被限定、并且该限定启用之后,则轨迹的值将无法再超出限制。可以为其他任何类型的控制器指定一个限制控制器;被限制的控制器(即,原始控制器)将在“轨迹视图”层级中以“限制”控制器的子体形式出现。                    

因为“限制”控制器未改变原始控制器,因此您可以轻松地在原始动画和限制动画之间通过切换限制来进行来回切换。但是如果塌陷“限制”控制器,则结果只会得到限制动画,而原始动画将无法再使用。          

使用“限制”控制器可以加快设置和创建动画的速度。因为它排除了在制作动画时所需要的表达式或脚本,这样可以改善减缓,以在层次和装备中设置自动化,创建各种效果,如避免冲突、FK 关节限制,等等。          

例如,技术指导可能会希望为浮点值指定限制,这样动画师将调整并简化姿势设置、执行标准、或防止矛盾和错误的出现。技术指导可能将限制用于:          

  • 灯光强度

  • 手指旋转

  • 滑动抽屉的位置范围

  • 摄影机“视野”

  • 将面片分辨率限制到游戏引擎支持的范围

角色装备操纵者可以通过使用限制来创建复杂的关系或装备快捷键。示例:

  • 将腕部扭曲骨骼关联到手部旋转,但要限制腕部扭曲旋转或手部旋转,以停止任何可能发生的反转不足。

  • 通过为其局部位置轨迹生成限制值以反应辅助对象距离临近辅助对象的角度或距离可以防止不自然地平移样条线 IK 辅助对象。

  • 反应禁用 IK 的时间,并匹配 FK 中的解算器的限制。

  • 为膝盖限制 IK 链旋转角度目标的位置,这样膝盖就永远都不会转到角色的后面。即,目标被链接到角色的根。

使用情况

以下列表列举出具体使用限制控制器的例子:    

  • 在角色的手部选择所有手指骨骼的 Y 旋转轨迹,然后指定限制控制器。使用“设置关键点”模式来根据手指的最大运动范围设置其姿势,然后使用右键单击菜单 “设置上限”/“设置下限”命令限制手指的运动。                  

    注意“限制”包含在“通过其他类别设置关键点”中。

  • 为窗户开关对象的“X 轴旋转”轨迹指定“噪波控制器”以使其发出声音,但是对象与建筑在其运动范围的较低处相交。为轨迹指定“限制”控制器并设置“下限”值以防止相交。

  • 沿用前一个示例,假设风在第 100 帧将建筑物的百叶窗刮破。如果“噪波”控制器位于具有 Bezier 浮点的浮点列表中,则可以在第 100 帧将噪波的权重设为 0(此时风将建筑物的百叶窗刮破),动画制作者将在此点设置动画的关键点。无需在第 100                  帧后设置限制。您已在第 99 帧使用了“设置下限”。然后在帧 100,编辑“下限”值以将限制设置到较低值,这样就基本移除了限制。最后,设置关键帧以为其运动设置动画并越过帧 100。                

“限制控制器”的限制

请注意“限制”控制器的以下限制:

  • “限制控制器”不能限制 IK 关节。所有 IK 解算器都使用各自的限制而不使用“限制控制器”。互交式 IK 使用当前的控制器,但它也有其自己的限制,因此同时使用“限制控制器”和互交式 IK 将会产生不可预测的结果。

  • “限制”控制器仅支持“浮动”控制器,因此它仅在名称“浮动限制”下可用。

  • 上限值和下限值与限制控制器使用相同的单位或坐标。因此,举个例子,“X 位置”轨迹使用的是局部坐标而不是全局坐标。

过程

示例:要使用限制控制器,请执行以下操作:

  1. 从动画对象开始,然后打开“曲线编辑器”。                  

    在此示例中,茶壶位置的动画位于 X 轴上的大约 -45 到 40 的范围之内,Y 轴上大约 -80 到 54 的范围之内。                  

  • 为轨迹指定“浮点限制控制器”。在此示例中,我们将把它指定到“X 位置”轨迹。

    这样会打开“浮点限制控制器”对话框,您可以在其中设置限制和其他值,但是以互交的方式来操作可能会更简单,所以现在只需要关闭该对话框并接受默认设置。

    该轨迹仍将保持其原有名称(在此示例中为 X 位置),但是图标将会更改以说明它现在为“限制控制器”并且可以扩展(请参见下列步骤中的说明)。

  • 扩展轨迹。

    该层中包含一个称为“限制控制器”的子轨迹和一个称为“限制”的新的可扩展子分支。

  • 单击“X 位置”轨迹和“限制控制器”轨迹,并对它们进行比较。

    因为原始 X 轴运动在默认限制范围内生成,所以这两个轨迹是相同的。

  • 将动画移动至您希望设置限制的 X 轴位置。在此示例中,该位置大约处于 -20,我们将在此处设置下限。

  • 高亮显示“X 位置”轨迹,然后单击鼠标右键并从右键单击菜单中选择“限制控制器”“设置下限”。

    图形曲线现在被剪辑到下限以下。移动动画时,对象将不超出该位置。                  

  • 再次将动画移动至要设置限制上限的位置,右键单击“X 位置”轨迹,然后选择“限制控制器”“设置上限”。

                   

    在本示例中,我们将它设为 13 附近。图形曲线现在被修剪为上限以上和下限以下。最终的运动同样将受到约束。                  

    移动动画。                  

    X 轴上的运动被限制在两端;对象最初的运动超出了限制,而现在则被限制在该范围之内。                  

    再次比较两个轨迹。                  

    “限制”控制器(X 位置)轨迹清晰地显示上限和下限剪切,同时“限制控制器”轨迹显示原始运动。                  

    原始运动仍然作为“限制控制器”轨迹存在,可以通过切换“限制”控制器临时恢复它。

    高亮显示“X 位置”轨迹,然后右键单击并选择“限制控制器”“切换限制”。                  

    现在,当您移动动画时,对象像以前一样移动。

    再次选择“限制控制器”“切换限制”以恢复该限制

    您可以采用两种方式来复制“限制”控制器:仅限限制或将限制与运动相组合。首先仅复制限制。                  

    高亮显示“Y 位置”轨迹,并注意其曲线与“X 位置”轨迹的不同之处。

    高亮显示“X 位置”轨迹,然后右键单击并选择“限制控制器”“仅复制限制”。                

    高亮显示“Y 位置”轨迹,然后右键单击并选择“限制控制器”“仅粘贴限制”。打开“粘贴”对话框之后,单击“确定”以确认作为副本的粘贴。                  

    现在,也限制了“Y 位置”轨迹,使用与“X 位置”轨迹相同的范围,但保留了其原始基本运动。要对此进行验证,请将“Y 位置”轨迹与其子“限制”控制器轨迹作比较。                  

    接下来,将整个限制的“X 位置”轨迹复制到“Z 位置”轨迹,包括运动和限制。当前未对“Z 位置”轨迹设置动画。                  

    高亮显示“X 位置”轨迹,然后右键单击并选择“复制”。

    高亮显示“Z 位置”轨迹,然后右键单击并选择“粘贴”。                  

    将“X 位置和 Z 位置”轨迹和两个子“限制”控制器轨迹作比较。每个相应的曲线对都相同。运动好象是对象在撞击长方体的边缘内侧一样。                  

    最后,我们将介绍“平滑缓冲区”设置。默认情况下,只要限制曲线就会创建锐角,从而使运动突然变化。可以用“平滑缓冲区”参数平滑这些角,从而产生看起来比较自然的运动。                  

    高亮显示“X 位置”轨迹,然后右键单击并选择“属性”。

    这将重新打开“浮点限制控制器”对话框。                  

    使用“上限”组 “平滑缓冲区”微调器,尽可能增加“平滑缓冲区”值。

    随着该值的不断增加,图形上的上限角也变得越来越平滑。              

    请注意,此值有一个上限,在这种情况下为 34.973。此限制是由对话框上其他三个设置的值决定的。                  

  • 尝试增加“下限”组 “平滑缓冲区”。不可能有最大的上限平滑值。                

  • 减少上限值,然后增加下限平滑值。

    现在可以采用上限和下限获得平滑效果。                  

界面

“限制控制器”界面包含“浮动限制控制器”对话框和几个右键单击菜单项。

“浮动限制控制器”对话框              

               

在第一次指定“限制”控制器时,或右键单击高亮显示的“限制”控制器轨迹并选择“属性”时,打开“浮动限制控制器”对话框。                

启用

切换“限制”控制器。禁用此选项之后,限制轨迹的原始值还生效。启用此选项之后,由上限和下限值限制原始值。

注意可以通过“切换限制”命令同时在场景中启用和禁用所有“限制”控制器,该命令可以从 3ds Max“动画”菜单中获得。如果一些“限制”控制器启用而另一些禁用,则“切换限制”会将其全部启用。                            

“上限”组                  

启用

切换由该控制器设置的上限。禁用此选项之后,将不会施加上限限制。默认设置为启用。

[上限值]

“限制”控制器允许的最高值。剪切原始控制器中高于此值的所有值,也就是说将它们设置为此值,除非平滑生效。默认值为 1000.0。                            

可以通过关键帧和其他标准方法对此值设置动画,并通过控制器的“限制”分支中的“上限”轨迹操纵“轨迹视图”中的此动画。                            

平滑缓冲区

指定平滑值,以便剪切范围开始和结束处的剪切值逐渐增加或减少,而不是突然稳定。                            

由“上限”和“下限”值确定最大的总平滑。(“上限”“平滑缓冲区”值)+(“下限”“平滑缓冲区”值)不能超出此总数。为了在剪切上限和下限获得最平滑的结果,将“平滑缓冲区”设置为最大数,然后将其缩小到该值的一半,并将其他“平滑缓冲区”设置为相同的量。                            

可以通过关键帧和其他标准方法对“平滑缓冲区”值设置动画,并通过控制器的“限制”分支中的“上限平滑”轨迹操纵“轨迹视图”中的此动画。                            

“下限”组                  

启用

切换由该控制器设置的下限。禁用此选项之后,将不会施加下限限制。默认设置为启用。

[下限值]

“限制”控制器允许的最低值。剪切原始控制器中低于此值的所有值,也就是说将它们设置为此值,除非平滑生效。默认值为 -1000.0。                            

可以通过关键帧和其他标准方法对此值设置动画,并通过控制器的“限制”分支中的“下限”轨迹操纵“轨迹视图”中的此动画。                            

平滑缓冲区

指定平滑值,以便剪切范围开始和结束处的剪切值逐渐增加或减少,而不是突然稳定。                            

由“上限”和“下限”值确定最大的总平滑。(“上限”“平滑缓冲区”值)+(“下限”“平滑缓冲区”值)不能超出此总数。为了在剪切上限和下限获得最平滑的结果,将“平滑缓冲区”设置为最大数,然后将其缩小到该值的一半,并将其他“平滑缓冲区”设置为相同的量。                            

可以通过关键帧和其他标准方法对“平滑缓冲区”值设置动画,并通过控制器的“限制”分支中的“下限平滑”轨迹操纵“轨迹视图”中的此动画。                            

“限制控制器”右键单击菜单                

             

要访问“限制控制器”右键单击菜单,则高亮显示“轨迹视图”层次中的“限制控制器”轨迹,然后右键单击轨迹,并将光标移动到“控制器”区域 “限制控制器”菜单项。                

注意使用“限制”控制器轨迹上的“仅复制限制”之后,可以通过调用“仅粘贴限制”将具有相同限制的新“限制”控制器应用于任何轨迹。                  

切换限置

启用和禁用“限制”控制器。这与“浮动限制控制器”对话框上的“启用”复选框相同。                      

设置上限

设置当前帧“上限”轨迹中的值/关键点,使它们等于限制轨迹当前帧的值。如果只有一个关键点,则该限制的值随时间保持恒定。                      

设置下限

设置当前帧“下限”轨迹中的值/关键点,使它们等于限制轨迹当前帧的值。如果只有一个关键点,则该限制的值随时间保持恒定。                      

移除限制

删除“限制”控制器,恢复不带限制的原始控制器。                      

仅复制限制

只复制该限制值,并忽略高亮显示的轨迹的限制控制器。                      

仅粘贴限制

只应用复制的限制值或具有复制值的“限制”控制器(如果其不存在),同时保留原始限制轨迹的值。

与粘贴复制的控制器轨迹一样,可以粘贴限制值,作为副本或复制限制控制器的实例,此时可以选择替换粘贴目标的所有实例。

,