使用 VFX 创建激光束

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

一个 激光束 是一束光。虽然在现实生活中很少危险,但科幻体验经常使用激光束作为机制来对玩家造成伤害。然而,由于未来主义媒体中的多功能性和突出地位,激光束对各种游戏机制有用,例如爆破武器、谜题、障碍和环境美学。

使用示例 激光束冲击波 模型,本教程向您展示如何使用可选脚本创建激光束特效,将玩家的健康在碰撞时设置为零,包括指导:

  • 设置一个隐形碰撞箱,当玩家与激光束碰撞时检测出碰撞。
  • 配置表示激光束发射范围的附件。
  • 定制模仿未来激光束视觉特征的光束。
  • 对损害玩家角色的碰撞箱的脚本行为。

获取爆破器素材

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

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

您可以在 Studio 中通过单击下列组件中的 添加到库存 链接将此模型添加到库存中一旦资产位于您的道具中,您可以在平台上的任何项目中重复使用它们。


要将此爆破器资产从库存中导入到体验中:

  1. 在工具栏中,选择 视图 标签。

  2. 点击 工具箱 。显示 工具箱 窗口。

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

  4. 单击 激光束发射器 瓦片。模型在您的视图中显示。

设置碰撞方块

当玩家受到激光影响时将生命值设置为零的完整激光束需要能够检测到玩家与激光碰撞时。因为 Beam 对象没有默认的碰撞检测功能,你必须通过基本部件设置碰撞检测功能。

例如,本教程使用一个隐形方块部件与一个 Beam 对象作为碰撞箱,当角色的 Humanoid 对象触碰激光束时检测出碰撞。在教程的最后部分,你将创建一个脚本,使用这些信息触发对玩家生命的伤害。

要设置碰撞方块:

  1. 部分插入 LaserBeamBlaster

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

    1. 名称 设置为 碰撞箱 。零件的名称和其案例风格对脚本在教程后期很重要。
    2. 启用 锚定 以确保体验开始时物理系统不会移动零件。
  3. 碰撞箱 缩放到你想要激光束从激光器发射的长度。例如,本教程将它的长度调整为与冲击波发射器相同。

  4. 碰撞箱 移至发射器灯泡延伸的位置您的碰撞箱现在代表激光束从发射器的爆炸范围。

配置附件

在将 Beam 对象添加到你的冲击波之前,配置 3D 空间中的两个 Attachment 对象来代表激光发射器管的射程是很重要的。光束通过渲染附件之间的纹理来运行,因此如果没有附件供光束参考,它将无法运行。

要配置激光束的附件:

  1. (可选) 使附件视觉助助在 3D 空间中变得更大,以便您清晰地显示激光束的开始和结束

    1. 导航到工具栏的 模型 选项卡,然后导航到 约束 部分。
    2. 缩放 设置为 2.5 以使每个附件的视觉帮助更大。
  2. 将两个附件插入冲突方块。

    1. 浏览器 窗口中,将鼠标悬停在 CollisionBox 上,然后单击 ⊕ 标志。显示上下文菜单。
    2. 从上下文菜单中插入一个 附件
    3. 重复此过程,使 CollisionBox 有两个附件对象。
    4. 重命名两个附件 开始附件结束附件 ,分别
  3. 开始附件 移至发射器灯泡与其重叠的 碰撞箱 边缘,然后将 终止附件 移至表示激光束达到的 碰撞箱 边缘。

  4. 使 碰撞箱 透明,以便您可以看到光束在附件之间渲染的纹理,而不会受到遮挡。

    1. 浏览器 窗口中,选择 碰撞箱
    2. 属性 窗口中,将 透明度 设置为 1 使零件完全透明。

自定义光束

现在你在 3D 空间中拥有 Attachment 对象,你可以添加并自定义一个 Beam 对象来模拟激光束的视觉特性。本教程提供有关如何创建一个未来主义的亮粉色光束的指导,但通过使用相同的属性进行实验,您可以创建各种不同的特效。

要自定义光束:

  1. 将光束插入 碰撞箱

    1. 浏览器 窗口中,将鼠标悬停在 CollisionBox 上,然后单击 ⊕ 标志。显示上下文菜单。
    2. 从上下文菜单中插入 光束
  2. 将碰撞方块的附件分配到新的 Beam 对象。

    1. 探索器 窗口中,选择梁。
    2. 属性 窗口中,
      1. 附件0 设置为 开始附件
      2. 附件1 设置为 终止附件 。光束在两个附件之间渲染其默认纹理。
  3. 自定义光束的视觉外观,使其看起来像未来主义激光束。

    1. Explorer 窗口中,验证光束仍然被选择。
    2. 属性 窗口中,
      1. 纹理 设置为 rbxassetid://6060542021 来渲染一个看起来像激光束的新纹理
      2. 颜色 设置为 255, 47, 137 来染色激光亮粉色。
      3. 光发射 设置为 0.5 以添加微弱的光芒到激光。
      4. 宽度0宽度1 设置为 4 以扩大激光。
      5. 纹理速度 设置为 2 以使激光动画更快。
      6. 启用 面部相机 以确保无论玩家从激光的角度如何,激光都能被看到。

脚本伤害行为

您的激光束目前对环境有美感,但它也完全无害作为爆破武器。要修改激光冲击波,以便它对玩家造成伤害,你必须在碰撞箱中添加一个触发此行为的脚本。

示例脚本通过等待查看哪些对象触碰了碰撞方块来工作。如果触碰碰撞箱的对象包含一个子对象 Humanoid ,脚本将其 Health property 设置为 0 。默认情况下,每个玩家角色都包含一个 Humanoid 对象,因此每次玩家与碰撞方块碰撞,脚本立即将其生命值设置为零,角色分裂。

要脚本那些损害玩家的行为:

  1. 将脚本插入 激光束发射器 .

    1. 探索器 窗口中,将鼠标悬停在 激光束发射器 上,然后单击 ⊕ 标志。显示上下文菜单。
    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 进入游戏测试模式。

      Play button highlighted in Studio's playtesting options.
    2. 走进激光束,看你的角色分崩离析。当你完成后,单击 停止 按钮。工作室退出游戏测试模式。

      Stop button highlighted in Studio's playtesting options.

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