电梯是用户可以操作的平台,用于在体验的不同部分之间旅行。当您希望允许用户到达您创建的世界中的新区域时,这个设备非常有用。在本指南中,您可以快速创建自己的电梯,当用户与临近提示交互时,它可以向上和向下提升用户。
在以下创建电梯的方法中,按照每个部分的说明学习如何:
- 使用基本部件,创建一个用户可以站立的平台以及一个平台可以沿其向上和向下移动的轨道。
- 配置一个 PrismaticConstraint 来驱动平台的运动。
- 创建一个 ProximityPrompt 供用户交互以启动平台的运动。
- 创建一个 Script 来连接电梯的所有组件并使平台能够沿着轨道移动。
创建平台和轨道
Part 是 Roblox 的主要构建模块,您可以移动、调整大小、旋转并自定义以更改其外观,例如颜色和材质。使用基本部件来创建电梯的基础是有用的,因为电梯的平台和轨道只需要基本形状。
要创建电梯的平台和轨道:
导航到工具栏的 模型 选项卡。
点击 部件 下的下拉箭头并选择 方块。一个方块部件将显示在工作区,这将成为用户上下电梯的乘坐平台。
在 资源管理器 窗口中,选择该方块,然后在 属性 窗口中,
- 将 名称 设置为 Platform。
- 将 大小 设置为 [8,1,4]。
在 资源管理器 窗口中,选择平台,然后按 CtrlD (⌘D) 复制该部件。此复制部件将成为平台用来上下移动的轨道。
在工具栏中,选择 移动 工具,然后使用一个轴箭头将复制的部件拉离原始位置,以便在每个对象之间留出一个小间隙。
在 属性 窗口中,
- 将 名称 设置为 Track。
- 在 大小 属性中,将 Y 轴设置为 20 studs 高。
- 启用 锚定 属性。
在 资源管理器 窗口中,选择两个部件,然后按 CtrlG (⌘G) 将它们分组。
重命名模型为 Elevator。
在视口中,该模型显示为两个单独的对象。在资源管理器窗口中,该模型包含分开的 Platform 和 Track 对象。
配置 PrismaticConstraint
现在您有两个部件构成您电梯的基础,您可以创建一个 PrismaticConstraint,对齐相关的附件,以便平台沿着理想路径移动,并设置约束的值以使平台能够沿轨道向上和向下移动。
创建 PrismaticConstraint 和附件
PrismaticConstraint 在两个 Attachments 之间创建一个刚性连接,允许附件沿一个轴滑动而不旋转。这种类型的 约束 非常适合电梯,因为它保持平台在一个方向上,同时仍然能够向上和向下移动。
要创建一个 PrismaticConstraint 和其附件:
在 资源管理器 窗口中,将 PrismaticConstraint 插入到 Track 中。
- 将鼠标悬停在 Track 上并点击 ⊕ 按钮。上下文菜单将显示。
- 从菜单中插入一个 PrismaticConstraint。
将附件插入到 Track 和 Platform 中。
将鼠标悬停在 Track 上并点击 ⊕ 按钮。上下文菜单将显示。
从菜单中插入一个 Attachment。
对 Platform 重复此过程。
分别将两个附件重命名为 TrackAttachment 和 PlatformAttachment。
选择 PrismaticConstraint。
在 属性 窗口中,将附件分配给 PrismaticConstraint。
选择 PrismaticConstraint.Attachment0 属性。光标将改变。
在 资源管理器 窗口中,选择 TrackAttachment。
选择 PrismaticConstraint.Attachment1 属性。光标将改变。
在 资源管理器 窗口中,选择 PlatformAttachment。
对齐附件
如果您将两个附件保持在其父部件的默认位置中间,附件将尝试将每个部件拉入彼此内部,导致这两个部件的物理碰撞并使电梯失去功能。为了确保这种情况不发生,您必须将附件移动到其父部件的外部,以便平台可以沿着轨道自由通过未阻碍的空间,然后在其 X 和 Z 轴上对齐,以便平台仅沿 Y 轴上下移动。
在重新定位和对齐附件之前,请确保您能够在视口中查看它们,通过启用约束细节来实现:
导航到工具栏的 模型 选项卡,然后转到 约束 部分。
如果尚未启用,单击 约束细节 和 在上方绘制 以显示约束和附件的可视化辅助工具。
如果您想使每个附件的可视化更大,请增加 比例。
查看附件非常重要,以便您可以可视化约束如何使用两个附件连接和移动平台。
要对齐约束的附件:
在工具栏中,选择 旋转 工具并旋转 TrackAttachment 和 PlatformAttachment,使每个附件的黄色箭头指向 Y 轴的上方。
选择 移动 工具,重新调整附件点的位置,使其都位于其父部件的外部,并在其 X 和 Z 轴上对齐。
设置 PrismaticConstraint 值
现在您已有 PrismaticConstraint 并对齐了其相关的 Attachments,是时候设置约束的值,以便一个 Script 可以使用这些值使平台在设置的上下运动范围内沿轨道移动。由于轨道的底部和顶部距离中间的 TrackAttachment 每个 10 studs,而轨道长度为 20 studs,因此约束的下限和上限必须分别为 -10 和 10。


要为约束设置值以使电梯在设定的运动范围内移动:
在 资源管理器 窗口中,选择 PrismaticConstraint。
在 属性 窗口中,导航到 滑块 部分,然后启用设置平台运动范围的限制,以便允许伺服式电机的控制。新的属性字段将显示。
- 将 限制启用 设置为 真。
- 将 驱动器类型 设置为 伺服。
导航到 限制 部分,然后将平台的运动范围设置为在轨道中点上下 10 studs,达到上限和下限时无弹性(反弹)。设置以下属性后,下限和上限的可视化辅助工具将延长以符合它们的新值。
- 将 下限 设置为 -10。
- 将 恢复系数 设置为 0。
- 将 上限 设置为 10。
导航到 伺服 部分,然后确保平台能够抵抗物理作用下的重量,它以良好的速度上下移动,并且其初始化点位于约束的下限底部。
- 将 伺服最大力量 设置为 10000。
- 将 速度 设置为 10。
- 将 目标位置 设置为 -10。
创建临近提示
ProximityPrompt 是一个对象,鼓励用户交互以触发动作,当他们接近体验中的对象,例如门、灯开关和按钮时。此过程使用一个 临近提示,允许用户在接近平台时按下一个键以激活电梯的运动。
要创建一个临近提示:
在 资源管理器 窗口中,将鼠标悬停在 Platform 上,然后点击 ⊕ 按钮。上下文菜单将显示。
从菜单中插入一个 ProximityPrompt。
脚本电梯运动
现在您有了所有电梯的元素,可以创建一个 Script,使所有元素协同工作,将平台上下移动到轨道上。
要编写电梯的运动脚本:
- 在 资源管理器 窗口中,将鼠标悬停在 Elevator 上并点击 ⊕ 按钮。上下文菜单将显示。
- 从菜单中插入一个 脚本。
- 在新脚本中输入以下内容:
local platform = script.Parent.Platform
local prismaticConstraint = script.Parent.Track.PrismaticConstraint
platform.ProximityPrompt.Triggered:Connect(function(player)
print(prismaticConstraint.CurrentPosition)
if prismaticConstraint.CurrentPosition <= -9 then
prismaticConstraint.TargetPosition = 10
elseif prismaticConstraint.CurrentPosition >= 9 then
prismaticConstraint.TargetPosition = -10
end
end)
当您 测试您的体验 并输入电梯的临近提示键时,脚本将运行以检查平台是否低于或高于距约束 9 studs。如果低于 9 studs 并且用户与临近提示交互,平台将向上移动,直到达到约束的上限;反之,如果高于 9 studs 并且用户与临近提示交互,平台将向下移动,直到达到约束的下限。