立即開始
中級教學

使用 VFX 創建激光束

*此內容是使用 AI(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 物件在 3D 空間中以表示激光從彈射器發射燈的發射範圍是很重要的。激光束是通過在附件之間渲染紋理來操作的,因此如果沒有供光束參考的附件,它將無法運作。

要為激光束配置附件:

  1. 若要在視口中顯示附件,請從 Studio 的 檢視 菜單中啟用 顯示約束詳細信息

  2. 在碰撞框中插入兩個附件。

    1. 資源管理器 窗口中,懸停在 CollisionBox 上,然後單擊 ⊕ 圖標。顯示上下文菜單。
    2. 從上下文菜單中插入一個 附件
    3. 重複此過程,使 CollisionBox 擁有兩個附件物件。
    4. 將兩個附件分別重命名為 StartAttachmentEndAttachment
  3. StartAttachment 移動到與發射燈重疊的 CollisionBox 邊緣,然後將 EndAttachment 移動到 CollisionBox 的邊緣,該邊緣表示激光束的範圍。

  4. CollisionBox 設置為透明,以便能夠看到光束在附件之間渲染的紋理,而不受阻礙。

    1. 資源管理器 窗口中,選擇 CollisionBox
    2. 屬性 窗口中,將 透明度 設置為 1,以使該部件完全透明。

自定義光束

現在你在 3D 空間中有了 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. Width0Width1 設置為 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 的 mezzanine 中指示停止按鈕。

你現在已經有了一個危險的激光束彈射器!使用本教程中的技能,你可以自定義各種光束特殊效果,例如發光的力場、快速的瀑布和速度斜坡。例如,你可以嘗試其他光束屬性,如 CurveSize0CurveSize1導入 你自己的紋理,並將光束與其他特殊效果結合,像是 粒子發射器光源。創作愉快!

©2026 Roblox Corporation、Roblox、Roblox 標誌及 Powering Imagination 是我們在美國及其他國家地區的部分註冊與未註冊商標。