中级教程

创建激光束特效

*此内容使用人工智能(Beta)翻译,可能包含错误。若要查看英文页面,请点按 此处

一个 激光束 是一束光。在现实生活中很少危险,但科幻体验常常使用激光束作为撞击时伤害玩家的机制。然而,由于其多功能性和在未来媒体中的重要性,激光束在各种游戏机制中都非常有用,例如爆炸武器、解谜、障碍物和环境美学。

使用一个示例 激光束爆炸器 模型,本教程展示了如何创建一个激光束特效以及一个可选的脚本,该脚本在碰撞时将玩家的生命值设置为零,包括以下方面的指导:

  • 设置一个不可见的碰撞盒,以检测玩家何时与激光束发生碰撞。
  • 配置表示激光束发射范围的附件。
  • 自定义一个模拟未来主义激光束视觉特征的束。
  • 为碰撞盒编写行为脚本,以伤害玩家的角色。

获取爆炸器资产

创作者商店工具箱 的一个选项卡,可以用来查找所有由 Roblox 和 Roblox 社区创建的资产,以供您在项目中使用,包括模型、图像、网格、音频、插件、视频和字体资产。您可以使用创作者商店将单个资产或资产库直接添加到打开的体验中。

本教程引用了一个高质量的激光束爆炸器模型,您可以在复制以下部分的每个步骤时使用它。

要将此爆炸器资产从您的库存中放入您的体验中:

  1. 将爆炸器添加到您的库存中。

    1. 导航至资产的 详细页面 在创作者商店中。
    2. 在右上角,点击 获取模型 按钮。爆炸器资产现在在您的库存中,您可以在平台上的任何项目中重复使用它。
  2. 在 Studio 中,导航到 主页 选项卡,然后点击 工具箱 按钮。工具箱 窗口打开。

    工具箱在 Studio 工具栏中高亮显示。
  3. 工具箱 窗口中,点击 库存 选项卡。我的模型 排序将显示。

  4. 点击 激光束爆炸器 瓦片。模型在您的视口中显示。

设置碰撞盒

完整的激光束在撞击时将玩家的生命值设置为零需要能够检测到玩家与激光的碰撞。由于 Beam 对象没有默认的碰撞检测能力,您必须使用基本部件设置碰撞检测。

例如,本教程使用一个不可见块部件以及 Beam 对象作为一个碰撞盒,以检测角色的 Humanoid 对象何时触摸激光束。在本教程的最后部分,您将创建一个脚本,该脚本使用此信息来触发对玩家生命值的伤害。

要设置碰撞盒:

  1. LaserBeamBlaster 中插入一个 部件。

  2. 选择该部件,然后在 属性 窗口中,

    1. 名称 设置为 CollisionBox。该部件的名称及其大小写样式对本教程后面的脚本很重要。
    2. 启用 固定 以确保物理系统在体验开始时不会移动该部件。
  3. CollisionBox 的缩放设置为您希望激光束从爆炸器发射的长度。例如,本教程将其缩放为与爆炸器的长度相同。

  4. CollisionBox 移动到从爆炸器发射器灯泡延伸的位置。您的碰撞盒现在表示激光束从爆炸器的发射范围。

配置附件

在您将 Beam 对象添加到您的爆炸器之前,需要在三维空间中配置两个 Attachment 对象,以表示激光从爆炸器的发射器灯泡发射的范围。激光束通过在附件之间呈现纹理来工作,因此如果激光束没有附件进行引用,它将根本无法发挥作用。

要配置激光束的附件:

  1. 使附件在视口中可见,请从 Studio 的 视图 菜单启用 显示约束详细信息

  2. 在碰撞盒中插入两个附件。

    1. 资源管理器 窗口中,将鼠标悬停在 CollisionBox 上,然后点击 ⊕ 图标。上下文菜单将显示。
    2. 在上下文菜单中,插入一个 附件
    3. 重复此过程,以便 CollisionBox 有两个附件对象。
    4. 分别将两个附件重命名为 StartAttachmentEndAttachment
  3. StartAttachment 移动到与发射器灯泡重叠的 CollisionBox 边缘,然后将 EndAttachment 移动到代表激光束射程的 CollisionBox 边缘。

  4. 使 CollisionBox 透明,以便您可以看到激光束在附件之间呈现的纹理,而没有遮挡。

    1. 资源管理器 窗口中,选择 CollisionBox
    2. 属性 窗口中,将 透明度 设置为 1,以使部件完全透明。

自定义激光束

现在您在三维空间中有了 Attachment 对象,可以添加并自定义一个 Beam 对象,以模仿激光束的视觉特征。本教程提供有关如何创建一个未来主义、明亮粉色并快速动画的激光束的指导,但通过实验相同的属性,您可以创建多种不同的特效。

要自定义激光束:

  1. CollisionBox 中插入一个束。

    1. 资源管理器 窗口中,将鼠标悬停在 CollisionBox 上,然后点击 ⊕ 图标。上下文菜单将显示。
    2. 在上下文菜单中,插入一个
  2. 将碰撞盒的附件分配给新的 Beam 对象。

    1. 资源管理器 窗口中,选择束。
    2. 属性 窗口中,
      1. Attachment0 设置为 StartAttachment
      2. Attachment1 设置为 EndAttachment。束在两个附件之间呈现其默认纹理。
  3. 自定义束的视觉外观,使其看起来像未来主义激光束。

    1. 资源管理器 窗口中,确认束仍然被选中。
    2. 属性 窗口中,
      1. 纹理 设置为 rbxassetid://6060542021 以呈现一种看起来像激光束的新纹理。
      2. 颜色 设置为 255, 47, 137 以将激光渲染为明亮的粉色。
      3. 光发射 设置为 0.5 以为激光添加微弱的光晕。
      4. 宽度0宽度1 设置为 4 以加宽激光。
      5. 纹理速度 设置为 2 以使激光动画更快。
      6. 启用 面朝相机 以确保激光在玩家的任何角度下都可见。

编写伤害行为脚本

您的激光束目前在环境中看起来很美好,但作为爆炸武器,它也完全无害。要修改激光爆炸器以便可以对玩家造成伤害,您必须在碰撞盒中添加脚本以触发此行为。

示例脚本的工作原理是等待查看哪些对象触碰碰撞盒。如果一个触碰碰撞盒的对象包含一个子 Humanoid 对象,脚本将其 Health 属性 设置为 0。默认情况下,每个玩家角色都包含一个 Humanoid 对象,因此每次玩家与碰撞盒发生碰撞时,脚本都会立即将他们的生命值设置为零,角色会瓦解。

要编写伤害玩家的行为脚本:

  1. LaserBeamBlaster 中插入一个脚本。

    1. 资源管理器 窗口中,将鼠标悬停在 LaserBeamBlaster 上,然后点击 ⊕ 图标。上下文菜单将显示。
    2. 在上下文菜单中,插入一个 脚本
  2. 用以下代码替换默认代码:


    local laserTrap = script.Parent
    local collisionBox = laserTrap.CollisionBox
    local function onTouch(otherPart)
    local character = otherPart.Parent
    local humanoid = character:FindFirstChildWhichIsA("Humanoid")
    if humanoid then
    humanoid.Health = 0
    end
    end
    collisionBox.Touched:Connect(onTouch)
  3. 通过走入激光束测试行为。

    1. 从下拉菜单中选择 测试,然后点击其右侧的 播放 按钮以开始游戏测试。

      Studio 阁楼中的测试模式下拉菜单中的测试选项。
    2. 走入激光束以查看您的角色瓦解。当您完成时,点击 停止 按钮。Studio 退出游戏测试模式。

      停止按钮在 Studio 的阁楼中指示。

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

©2026 Roblox Corporation、Roblox、Roblox 标志及 Powering Imagination 是我们在美国及其他国家或地区的注册与未注册商标。