Roblox 的物理系统允许你构建像门、旋转平台甚至车辆这样的移动机制,使用 约束。例如,可以使用 HingeConstraint 构建一个摆动门。
门的设置
首先创建门及其附加件的部件。附加件是一个对象可以连接到另一个对象的地方。这些附加件将用于将门用铰链连接到其框架。
创建两个部件,名称可以为 Door 和 DoorFrame。
选择 DoorFrame。在 属性 窗口中,启用 Anchored,这样它就不会移动。
在 资源管理器 中,将鼠标悬停在 DoorFrame 上并添加一个新的 Attachment。重复操作为 Door 添加一个附加件。
重命名附加件以指明它们所连接的对象,例如 DoorAttachment 和 FrameAttachment。
移动附加件
新附加件是在部件的中心创建的。因此,它们需要被移动以面对彼此,以便与门配合使用。
要查看约束和附加件,从 Studio 的 视图 菜单中切换 显示约束详情。
在 资源管理器 中,选择 FrameAttachment。
按 F 键聚焦到附加件上,如有需要可放大。接着,使用 移动 工具将附加件放置在门框的表面上,面向门。
重复操作以移动 DoorAttachment。你的位置应当使两个附加件面向彼此的表面。

旋转附加件
附加件的方向影响约束的运动方式。对于门,两个附加件都必须旋转,以便铰链能够左右摆动,就像标准门上的铰链一样。
在门框上,将鼠标悬停在 FrameAttachment 上。注意 黄色箭头。此箭头,即 轴心,决定了铰链的旋转方向。
为了实现准确的旋转,在 Studio 的工具栏中启用旋转吸附,勾选 旋转 并将值设置为 90。
使用 旋转 工具使 两个 黄色附加件指向 向上。如果你的轴心已经垂直,则无需操作。
添加约束
请记住,约束是一种连接两个附加件以在特定方式下移动的方法。此门将使用 HingeConstraint,这是一个常见的约束,可以沿着两个附加件的轴旋转对象。
在 DoorFrame 下,创建一个新的 HingeConstraint。
在约束的属性中,找到 Attachment0。点击属性右侧的空框,然后在 资源管理器 中点击 DoorAttachment。
重复相同的过程,将 Attachment1 连接到 FrameAttachment。属性应如下所示。
通过用你的角色走进门来测试项目。
调整门
门当前能够摆动过门框。可以通过调整铰链 限制 来解决这个问题。
在 HingeConstraint 的属性中,找到并切换 LimitsEnabled。启用后,可以设置铰链的旋转限制。
为了确保这一点的方向正确,选择 DoorAttachment 并使用旋转工具,使橙色箭头指向 门框,如下所示。
在属性的 限制 部分,将 LowerAngle 和 UpperAngle 设置为 -90 和 90。这创建了一个运动范围,如左边图像所示。
测试门并注意铰链现在已受到限制。
随着门的完成,花一些时间探索在不同情况下使用铰链约束,例如一个陷阱门或一个摆动的斧头陷阱。