一个 激光束 是一束光。在现实生活中,激光束很少是危险的,但科幻游戏常常使用激光束作为对玩家造成伤害的机制。然而,由于其多功能性和在未来媒体中的突出表现,激光束在各种游戏机制中都非常有用,例如爆破武器、谜题、障碍物和环境美学。
使用一个示例 激光束爆破器 模型,本教程将向您展示如何创建一个激光束特效,并提供一个可选脚本,在碰撞时将玩家的生命值设为零,包括以下指导:
- 设置一个不可见的碰撞盒,以检测玩家何时与激光束碰撞。
- 配置表示激光束发射范围的附件。
- 自定义一个模拟未来激光束视觉特征的光束。
- 为碰撞盒编写脚本,使其对玩家角色造成伤害。
获取爆破器资产
创作者商店 是 工具箱 的一个选项卡,您可以使用它查找所有由 Roblox 和 Roblox 社区制作的资产,以便在您的项目中使用,包括模型、图像、网格、音频、插件、视频和字体资产。您可以使用创作者商店将单个资产或资产库直接添加到打开的游戏中。
本教程引用了一个高质量的激光束爆破器模型,您可以在接下来的每个步骤中使用它进行复制。

要将此爆破器资产从您的库存中导入到游戏中:
将爆破器添加到您的库存中。
- 导航到创作者商店中资产的 详细信息页面。
- 在右上角,单击 获取模型 按钮。爆破器资产现在在您的库存中,您可以在平台上的任何项目中重复使用它。
在 Studio 中,导航到 主页 选项卡,然后单击 工具箱 按钮。工具箱 窗口打开。

在 工具箱 窗口中,单击 库存 选项卡。我的模型 排序显示。

单击 激光束爆破器 瓦片。模型在您的视口中显示。
设置碰撞盒
完整的激光束在碰撞时将玩家的生命值设为零,需要能够检测玩家何时与激光碰撞。由于 Beam 对象没有默认的碰撞检测能力,您必须使用基本部件设置碰撞检测。
例如,本教程使用一个不可见的块部件和一个 Beam 对象作为碰撞盒,以检测角色的 Humanoid 对象何时触碰激光束。在本教程的最后一部分,您将创建一个脚本,利用此信息触发对玩家生命值的伤害。
要设置碰撞盒:
在 LaserBeamBlaster 中插入一个 块 部件。

选择该部件,然后在 属性 窗口中,
- 将 名称 设置为 CollisionBox。该部件的名称及其大小写风格对后面的脚本很重要。
- 启用 固定 以确保物理系统在游戏开始时不会移动该部件。
将 CollisionBox 缩放到您希望激光束从爆破器发射的长度。例如,本教程将其缩放为与爆破器相同的长度。

将 CollisionBox 移动到一个位置,使其从爆破器的发射灯泡延伸。您的碰撞盒现在表示激光束从爆破器发射的范围。

配置附件
在您向爆破器添加 Beam 对象之前,重要的是在 3D 空间中配置两个 Attachment 对象,以表示激光从爆破器发射灯泡的发射范围。光束通过在附件之间渲染纹理来工作,因此如果没有附件供光束引用,它根本无法工作。
要为激光束配置附件:
为了使附件在视口中可见,请在 Studio 的 视图 菜单中启用 显示约束详细信息。
在碰撞盒中插入两个附件。
- 在 资源管理器 窗口中,将鼠标悬停在 CollisionBox 上,然后单击 ⊕ 图标。上下文菜单显示。
- 从上下文菜单中插入一个 附件。
- 重复此过程,使 CollisionBox 具有两个附件对象。
- 将两个附件分别重命名为 StartAttachment 和 EndAttachment。

将 StartAttachment 移动到与发射灯泡重叠的 CollisionBox 边缘,然后将 EndAttachment 移动到表示激光束发射范围的 CollisionBox 边缘。

使 CollisionBox 透明,以便您能够看到光束在附件之间渲染的纹理而不被遮挡。
- 在 资源管理器 窗口中,选择 CollisionBox。
- 在 属性 窗口中,将 透明度 设置为 1 以使该部件完全透明。

自定义光束
现在您在 3D 空间中有了 Attachment 对象,您可以添加并自定义一个 Beam 对象,以模拟激光束的视觉特征。本教程提供了如何创建一个未来感的、明亮的粉色光束的指导,该光束快速动画,但通过实验相同的属性,您可以创建各种不同的特效。
要自定义光束:
在 CollisionBox 中插入一个光束。
- 在 资源管理器 窗口中,将鼠标悬停在 CollisionBox 上,然后单击 ⊕ 图标。上下文菜单显示。
- 从上下文菜单中插入一个 光束。
将碰撞盒的附件分配给新的 Beam 对象。
- 在 资源管理器 窗口中,选择光束。
- 在 属性 窗口中,
- 将 Attachment0 设置为 StartAttachment。
- 将 Attachment1 设置为 EndAttachment。光束在两个附件之间渲染其默认纹理。

自定义光束的视觉外观,使其看起来像一个未来的激光束。
- 在 资源管理器 窗口中,确认光束仍然被选中。
- 在 属性 窗口中,
- 将 纹理 设置为 rbxassetid://6060542021 以渲染看起来像激光束的新纹理。
- 将 颜色 设置为 255, 47, 137 以将激光染成明亮的粉色。
- 将 光发射 设置为 0.5 以为激光添加微弱的光晕。
- 将 宽度0 和 宽度1 设置为 4 以加宽激光。
- 将 纹理速度 设置为 2 以使激光动画更快。
- 启用 面向相机 以确保激光无论玩家与激光的角度如何都可见。
脚本伤害行为
您的激光束目前在环境中看起来很美观,但作为爆破武器,它完全无害。要修改激光爆破器以便能够对玩家造成伤害,您必须在碰撞盒中添加一个脚本以触发此行为。
示例脚本通过等待查看哪些对象触碰碰撞盒来工作。如果触碰碰撞盒的对象包含一个子 Humanoid 对象,脚本将其 Health 属性 设置为 0。默认情况下,每个玩家角色都包含一个 Humanoid 对象,因此每当玩家与碰撞盒碰撞时,脚本会瞬间将他们的生命值设置为零,角色会崩溃。
要编写对玩家造成伤害的行为脚本:
在 LaserBeamBlaster 中插入一个脚本。
- 在 资源管理器 窗口中,将鼠标悬停在 LaserBeamBlaster 上,然后单击 ⊕ 图标。上下文菜单显示。
- 从上下文菜单中插入一个 脚本。
用以下代码替换默认代码:
local laserTrap = script.Parentlocal collisionBox = laserTrap.CollisionBoxlocal function onTouch(otherPart)local character = otherPart.Parentlocal humanoid = character:FindFirstChildWhichIsA("Humanoid")if humanoid thenhumanoid.Health = 0endendcollisionBox.Touched:Connect(onTouch)通过走进激光束来测试行为。
从下拉菜单中选择 测试,然后单击其右侧的 播放 按钮以开始游戏测试。

走进激光束,看看您的角色如何崩溃。当您完成时,单击 停止 按钮。Studio 退出游戏测试模式。

您现在拥有一个危险的激光束爆破器!使用本教程中的技能,您可以自定义各种光束特效,例如发光的力场、快速的瀑布和速度坡道。例如,您可以尝试其他光束属性,如 CurveSize0 和 CurveSize1,导入 您自己的纹理,并将光束与其他特效配对,如 粒子发射器 和 光源。祝您创作愉快!