“约束编辑器”图标 约束编辑器

场景 > 约束编辑器

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

提示:

若需获取约束条件相关的 Python 命令,请参阅 vrConstraintService

什么是约束?

约束指的是对一个或一组对象应用规则或限制,定义它们如何相互关联以及如何移动或变换。约束限制元素的自由度,确保在修改模型时,其行为可预测并保持设计意图。

约束由以下内容组成:

  • 目标对象,即受约束对象链接到的对象。

  • 受约束对象,即其特性由约束控制的对象。这是将对目标对象中的更改做出反应的对象。

    约束由目标节点和约束节点组成

在下面的示例中,约束将目标(红色按钮)的特性链接到受约束对象(黑色按钮)。目标的位置控制受约束对象。如此处所示,约束可以应用于模型中的一个或多个对象。

约束示例

受约束对象可以是几何体、灯光、摄影机和组。查找连接到任何受约束对象以及约束选择控制柄(连接到目标对象)的虚线。VRED 使用这些对象直观地指示约束关系。

VRED 中有哪些类型的约束?

VRED 提供以下类型的约束:

  • “位置约束”图标 位置约束 - 限制受约束对象的移动(平移/位置),使其跟随一个或多个目标对象。启用此选项后,对象将保留在特定位置,以保持设计的完整性和功能。

    位置约束

    位置约束由目标和受约束节点组成,目标用于将对象固定到特定坐标,将其与另一个对象对齐或在对象之间保持一定距离。

    约束结构的图像

  • “方向约束”图标 方向约束 - 限制受约束对象的旋转,使其跟随一个或多个目标对象,确保其轴与目标对象的方向对齐。使用此选项可确保组件或元素保持其预定角度、旋转或对齐,这对于设计的正常运行和装配至关重要。

    方向约束

    方向约束由一个始终朝向的目标和受约束节点组成。

    约束结构的图像

  • “目标约束”图标 目标约束 - 指示受约束对象始终指向空间中的目标对象或点。此约束通常用于动画,以确保摄影机、灯光或角色眼睛等对象在移动时始终聚焦在特定目标上。

    双目标约束

    目标约束包括向上矢量目标节点和目标节点,就像“摄影机编辑器”中的目标和向上摄影机。

    目标约束结构的图像,包括一个向上矢量目标节点

    • 目标 - 受约束对象始终瞄准的对象或点。
    • 向上矢量 - 设置受约束对象的向上方向,以确保方向正确。这可以防止对象意外翻转或旋转。

  • “父约束”图标 父约束 - 允许受约束对象继承目标父对象的变换属性(位置、旋转和缩放)。这会在对象之间创建父子关系,但实际上并没有将它们放置在“场景图形”的层次结构中。受约束对象(子对象)会跟随目标父对象移动和变换,同时仍保持自己的调整能力。

    父约束包括以下内容:

    • 父对象 - 其变换被受约束子对象继承的目标对象。
    • 子对象 - 跟随目标父对象变换的受约束对象。

    父约束在动画和装备中很有用,因为它们可以在对象之间创建层次关系,从而更轻松地管理复杂的移动和交互。例如,在角色动画中,一只手可以被约束到道具上,确保它跟随道具的运动,同时仍允许其他的手部动画。

关于约束编辑器

约束编辑器

2 工具栏

  • 创建约束 创建约束 - 选择从菜单中创建的约束类型。从以下选项选择:“位置约束”、“方向约束”、“目标约束”和“父约束”。请参见 VRED 中的可用约束,以了解每种约束。

  • “重复”图标 重复 (Ctrl+D) - 创建选定约束的独立副本。

  • “删除”图标 删除 (Del) - 移除库中未使用的选定约束。

  • “创建组”图标 创建组 (Ctrl+G) - 创建用于对节点分组的节点。创建后,将内容拖放到其中。

  • “所有编辑器”图标 所有编辑器 (Ctrl+N) - 打开“摄影机编辑器”、“灯光编辑器”和“场景图形”。

  • “移除所选指定”图标 移除所选指定 (Backspace) - 请参见菜单栏部分中的“移除所选指定”

  • “移除所有指定”图标 移除所有指定 - 请参见菜单栏部分中的“移除所有指定”

  • “删除所有空约束”图标 删除所有空约束 - 请参见菜单栏部分中的“删除所有空约束”

3 搜索和过滤

“约束编辑器”包含基本的搜索和过滤功能。

“搜索”图标 基本搜索

搜索栏可用于实时搜索约束。它有助于快速识别复杂场景中的约束,而无需浏览庞大的约束列表。使用单个字母或搜索词进行搜索。请注意,仅支持单个搜索词和正则表达式。输入一个字符将仅显示包含该字符的约束。

原始和过滤的材质列表

提示:

在搜索栏中单击鼠标右键,会出现一个包含撤消、重做、剪切、复制、粘贴、删除和选择所有选项的关联菜单。

“过滤器搜索深度”图标“过滤器搜索深度”结合使用时,搜索将从仅对父约束和组进行顶层搜索,转变为更彻底的深层次搜索。

“过滤器搜索深度”图标 过滤器搜索深度

使用 “过滤器搜索深度”图标“过滤器搜索深度”可在平面递归匹配之间切换。禁用此选项后,仅显示顶层匹配项。启用此选项后,将显示层次中更深的匹配项。

递归匹配示例

“过滤器”图标 过滤

使用 “过滤器”图标 打开或关闭过滤,并访问“过滤器选择”菜单以配置过滤器设置。

  • 关闭过滤器图标 过滤已关闭。单击可启用过滤。
  • 打开过滤器图标 过滤已打开。单击可禁用过滤。

单击并按住 V 形图标 访问“过滤器选择”菜单,以配置过滤器设置。使用它可按约束类型过滤、在不同内容之间切换、全选、反向选择或清除选择/过滤。将这些选项与搜索词和搜索深度 “过滤器搜索深度”图标 结合使用,可进一步定义搜索。

按住按钮打开下拉菜单

4 约束列表器

“约束列表器”中显示的内容由搜索和过滤以及此部分的下拉菜单定义。使用下拉菜单可选择显示所有约束、显示所有对象、仅显示摄影机或仅显示灯光,从而进一步定义内容。

“约束列表器”下拉菜单

单击鼠标右键以访问“约束列表器”关联菜单,其中包含菜单栏中的选项。

在“约束列表器”中选择一个元素会在其编辑器中选中它,在场景中显示它,并将其设置加载到“属性”中。如果选择了多个元素,则任何以蓝色亮显的字段都表示该字段的唯一设置。在下面的示例中,有两个唯一的名称。

蓝色亮显表示字段的唯一设置

拆分视图

通过拖动列表器底部的控制柄来显示第二个视图,从而使用两个视图。搜索和过滤工具仅对其各自的视图起作用。使用它可将一个约束添加到组或另一个约束中,以创建更复杂的工作流。

只需拖动树底部的控制柄即可再显示一个树视图

滑块

通过滑块及其按钮可以快速展开或折叠单选或多选子结构。如果未选择任何对象,则将展开所有节点。

单击 “折叠”图标 可折叠选定节点的层次,单击 “展开”图标 可展开该节点。

折叠和展开层次

5 属性

属性

选择约束的顶部节点后,将显示以下选项以确定是否使用该约束,并提供一种标识该约束及其功能的方法。

  • 活动 - 将约束设置为活动或非活动。当处于活动状态时,VRED 会将运动范围限制为约束的范围。当处于非活动状态时,运动范围将被忽略且不会受到限制。

  • 名称 - 显示选定约束的名称。使用此字段可编辑名称。

  • 描述 - 描述约束的作用。例如,“这个齿轮示例说明了,考虑到加速、减速或反转的需要,旋转如何在物体之间传递。”可使用 “编辑”图标 修改文本,使用 “删除”图标 删除描述。

可视化

以下选项确定是否显示约束可视化(例如虚线和控制柄)以及确定其大小。

  • 显示约束 - 显示或隐藏连接约束对象和目标的虚线以及约束控制柄。可使用“缩放”更改控制柄的大小。

    显示约束线和控制柄

  • 缩放 - 设置约束控制柄的大小。数字越大,约束大小就越大,从而更轻松地在场景中选择。

    缩放 = 1000 缩放 = 2000
    缩放 = 1000 缩放 = 2000

对齐

仅适用于“目标约束”>“受约束节点”对象。

  • 目标 - 将摄影机目标方向设置为始终指向目标对象。

  • 向上 - 设置摄影机向上方向,以确保方向正确。

  • 使用旋转方向 - 通过定义旋转所围绕的轴,然后将该旋转约束到特定轴,来控制对象的旋转方式。这样便可以精确控制对象的动画或操纵方式,确保它们按预期自然旋转。

向上矢量目标

仅适用于“目标约束”>“向上矢量目标节点”对象。

  • 权重 - 每个目标可以有不同的权重,因此可以用它来影响目标对受约束对象位置的影响程度。

约束目标

仅适用于“目标节点”对象。

  • 权重 - 设置约束的目标对象的权重。每个目标可以有不同的权重,从而影响它对受约束对象位置的影响程度。

偏移

  • 使用保持的偏移 - 在受约束对象和目标对象之间保持偏移,使受约束对象能够跟随目标,同时保持特定距离、旋转和/或缩放。这是默认设置(已启用),并且此偏移是在约束对象之前设置的。

    提示:

    对于大型数据集,应启用此选项,因为现有偏移不会更改。但是,对于新导入的数据,如果需要精细调整偏移,则禁用此选项可能会很有用。

    但是,如果禁用了“使用保持的偏移”,约束对象将继承目标对象的位置、旋转和/或缩放。这会导致约束对象显示在目标上方。可使用以下偏移 X、Y、Z 选项手动设置偏移。

  • 旋转偏移 - 仅适用于方向约束和父约束。手动设置约束缩放沿 X、Y 和 Z 轴偏移的程度。通过使用红色表示 X、绿色表示 Y 和蓝色表示 Z 进行定义。

  • 平移偏移 - 仅适用于位置约束和父约束。手动设置约束平移沿 X、Y 和 Z 轴偏移的程度。通过使用红色表示 X、绿色表示 Y 和蓝色表示 Z 进行定义。

  • 缩放偏移 - 仅适用于父约束。手动设置约束缩放沿 X、Y 和 Z 轴偏移的程度。通过使用红色表示 X、绿色表示 Y 和蓝色表示 Z 进行定义。

应用变换

  • 从目标 - 指定从目标对象应用的变换类型。从以下选项中选择:

    • 对象 - 使用从对象自身角度出发的坐标系,以对象的轴点为原点。对象空间用于设置对象相对于其轴点的位置。

    • 世界 - 使用整个场景的坐标系。所有对象都放置在一个三维空间中,该空间由对象相对于场景中心的坐标所定义。

  • 到约束 - 指定应用于受约束对象的变换类型。从以下选项中选择:

    • 对象 - 使用从对象自身角度出发的坐标系,以对象的轴点为原点。对象空间用于设置对象相对于其轴点的位置。

    • 世界 - 使用整个场景的坐标系。所有对象都放置在一个三维空间中,该空间由对象相对于场景中心的坐标所定义。

  • 均匀缩放系数 - 启用此选项后,为受约束运动的速度设置相同的 X、Y 和 Z 缩放。禁用此选项后,可以使用“缩放系数”字段为 X、Y 和 Z 设置不同的值。

  • 缩放系数 - 更改受约束运动的速度。

    注意:

    必须在与目标相同的轴上进行缩放系数更改,速度才会发生变化。如果设置缩放系数值的轴与目标沿其移动的轴不同,速度不会发生变化。

    值为 1 时,将受约束对象的速度与目标进行匹配。

    启用了“均匀缩放系数”时进行运动速度匹配

    值较大时,无论是正值还是负值,都会使沿该轴应用于受约束对象的变换倍增,从而使其移动速度比目标快并最终超过目标。

    值较大时,运动速度加快

    值较小时,运动速度会减慢,从而导致受约束对象的移动速度比目标慢并最终滞后。这在平移或旋转方向发生变化时尤其有用,如在齿轮机构中所见的那样。

    值较小时,运动速度减慢

    注意:

    要设置不同的 X、Y 和 Z 缩放系数值,请禁用“均匀缩放系数”。