约束编辑器

使用新的“约束编辑器”控制场景中多个对象之间的行为和关系。无需编程专业知识,即可设计复杂的动态动画和交互。创建位置、方向、目标或父约束,然后将要约束的节点从“场景图形”或其相应的模块拖放到“约束编辑器”中。

视频字幕:约束编辑器位于主菜单中,可用于使用直观的拖放功能创建位置约束、方向约束、目标约束和父约束。此功能可确保精确操纵,从而能够创建高度逼真且响应迅速的动画和移动。您可以使用加号图标、“创建”菜单或右键单击上下文菜单创建位置约束、方向约束、目标约束或父约束。

约束由目标节点和受约束节点组成,您可以通过从场景图形或其他模块中拖动对象来轻松指定约束。

对于目标约束,还有一个向上矢量节点,就像在摄影机编辑器中一样。

事实上,在摄影机编辑器中创建的任何带目标的摄影机或带目标和上方向的摄影机现在都显示为目标约束,从而可以直接在约束编辑器中轻松调整它们。

让我们来详细了解一下可用的约束类型。

位置约束可确保您的对象跟随一个或多个目标对象的位置,非常适合需要一起移动或动态跟踪彼此的对象。

方向约束会锁定对象的旋转,使其与目标的方向对齐。这在同步齿轮机构中零件之间的旋转时特别有用。

使用目标约束,可以使对象连续指向目标,非常适合摄影机、车头灯或跟踪系统等对象。还可以定义向上矢量以稳定对象方向并避免不需要的翻转。

父约束允许一个对象继承另一个对象的平移、旋转和缩放,从而在不改变场景图形层次的情况下创建父子关系。这为您提供了具有充分灵活性的分层行为。

约束可以使用多个目标节点,并且可以对每个目标进行加权。这可以让您控制每个目标对受约束对象的影响,对于混合运动或创建加权平均值非常有用。

您还可以为单个目标指定多个受约束节点,从而允许一个对象驱动许多其他对象的行为。

通过编辑器,您可以选择保持偏移,以便受约束对象保留其与目标的相对位置,或者您可以禁用偏移以进行直接继承。

使用缩放系数,您甚至可以反转或乘以变换,这非常适合同步但镜像的运动,例如齿轮旋转系统。

此外,还可以使用变换编辑器设置对象限制。此功能允许沿 X、Y、Z 轴快速高效地限制平移、旋转或缩放,从而增强控制和精度,使复杂设置更易于管理。

“了解更多”图标 有关约束的其他信息,请参见以下内容:

“约束编辑器”由以下部分组成:

1 菜单栏,其中包含用于导出评估序列以及创建、编辑和选择约束的工具。

2 工具栏,用于快速访问常用工具。

3 基本搜索和过滤,用于快速查找特定内容。

4 约束列表器,用于直观地组织和导航约束内容。展开和折叠节点以快速查找特定项目。将“约束列表器”下拉列表与基本搜索和过滤结合使用可进一步优化搜索。并且,要快速方便地访问工具,可以使用右键单击关联菜单。

5 “属性”面板,用于激活/取消激活约束、添加描述、在视口中显示或隐藏约束、设置权重等。有关属性的其他信息,请参见 属性

约束编辑器

提示:

要查看约束的工作方式和设置方式,请在“文件”>“打开示例”中查看示例场景文件,打开 constraint_example.vpb,然后选择“动画”>“时间轴”以显示动画时间轴,并按 “播放”按钮

创建约束

使用 “创建”图标,然后选择要创建的约束类型。创建约束后,会将它添加到约束列表器,并且其可调整的属性会加载到右侧的面板中。将节点从“场景图形”或其他编辑器拖动到目标节点和受约束节点上以创建约束关系。

  1. 单击 “创建”图标,然后选择要创建的约束类型。

  2. 约束列表器中,展开新的约束。

  3. 将一个或多个节点从“场景图形”或其他编辑器拖动到“目标节点”节点上以创建目标对象。将另一个节点拖动到“受约束节点”节点上以创建受约束对象。

    已拖动到目标节点上的节点

    现在,如果移动目标对象(红色控制杆),受约束对象也会随之移动。

    该过程的 gif

  4. (可选)在“约束列表器”中,选择目标节点和受约束节点的父节点以修改其设置。可以将其设置为活动或非活动,对其进行重命名,还可以添加描述。确定约束控制柄是否可见及其大小。选择拖动的对象节点以更改权重

选择约束

可以使用 Shift + 鼠标左键在视口中选择约束控制柄,但它必须可见且足够大,以便进行选择。也可以在约束节点上单击鼠标右键,然后从关联菜单中选择“选择以下项中的对象”>“场景图形”。选中约束控制柄后,其目标会被选中并在视口中以黄色亮显。在“场景图形”和“约束编辑器”(如果已打开)中,它们的节点将被选中并以蓝色亮显。

  1. 在工具栏中,确保“变换”和“边界”处于启用状态。

  2. 在“约束编辑器”中,展开父节点,然后选择约束节点。在此示例中,“Arrows”文件夹已展开,“Orientation Constraint”节点处于选中状态。

    展开的父约束节点

  3. 确保选中“显示约束”,并将“缩放”增大到更大的值(如 300),以便轻松查看和选择约束控制柄。

    缩放 = 100 缩放 = 300
    缩放 = 100 缩放 = 300
  4. 现在,在约束控制柄上按 Shift + 鼠标左键将其选中,或在约束节点上单击鼠标右键,然后选择“选择以下项中的对象”>“场景图形”。

保存约束

创建约束并使用“文件”>“保存”或“另存为”将场景另存为 .vpb 后,这些约束将保留在几何体资源中,并且在重新加载到场景中时能够按预期工作。

约束剪切平面

要设置受约束的可移动剪切平面,请使用“世界到局部”方法。这将计算世界变换,但在本地将约束应用于剪切平面。这可确保使用父约束将剪切平面约束到其他节点,并且剪切平面可以移动。

  1. 在“约束编辑器”中,创建约束后,将其展开以显示“受约束节点”节点。

  2. 在“场景图形”中,将剪切平面拖放到“约束编辑器”中的“受约束节点”上。

  3. 在“约束编辑器”中,选择剪切平面,然后在“应用变换”属性部分中,将“从目标”设置为“世界”,并将“到约束”设置为“对象”

    “属性”面板中的“应用变换”部分

撤消约束创建和删除

无法通过 UI 取消创建或取消删除约束。但是,使用 Python 时,可以使用 vrConstraintService 取消创建和取消删除约束。

导出评估序列

使用“导出评估序列”将应用于场景的所有约束导出到单个约束文件。例如,使用此文件可共享、重新排序以及启用/禁用约束集中的约束。此文件可以与他人共享。

  1. 选择“文件”>“导出评估序列”
  2. 在浏览器中,设置将存储评估序列文件 (.tgf) 的位置。
  3. 单击“保存”。

设置限制

我们向“变换编辑器”添加了“平移”“旋转”“缩放”限制以用于瞄准约束,向“摄影机编辑器”>“摄影机设置”>“查看”部分添加了“平移”“旋转”限制,以便限制摄影机的移动。此功能可对目标的移动、旋转和缩放设置限制,将其变换限制在设置的范围内。尽管您可以将其与约束一起使用,但它们并不是限制目标或约束节点的必要条件。通过设置“从/到”限制,快速限制对象沿 X、Y 和 Z 轴的平移、旋转和缩放。红色代表 X 轴,绿色代表 Y 轴,蓝色代表 Z 轴。

提示:

在“场景图形”中,使用扩展列标识具有限制 (“限制”图标) 的节点。

用于标识具有限制的节点的扩展列

双击该图标将打开“变换编辑器”,其中节点处于选定状态,并且限制部分可见。

选择了限制和节点的“变换编辑器”

限制对象节点

  1. 在“场景图形”中,选择要限制的节点。

  2. 在快速访问栏中,选择“变换”以打开变换编辑器

  3. 在“变换编辑器”中选择节点后,在“属性”的“基本”选项卡中,展开要限制变换的部分。例如,展开“平移”部分。

  4. 单击限制部分前面的框以将其启用,然后展开该部分并设置限制。

    单击限制部分前面的框以将其启用

限制摄影机节点

  1. 在“场景图形”中,选择要限制的摄影机节点。
  2. 在快速访问栏中,选择“摄影机”以打开摄影机编辑器
  3. 在“摄影机编辑器”中选择摄影机节点后,在“属性”的“摄影机设置”选项卡中,展开“查看”部分以访问“平移和旋转限制”部分。
  4. 单击这些部分前面的框以启用它们,然后展开这些部分并设置限制。