立即開始
中級教學

使用 VFX 創造瀑布

*此內容是使用 AI(Beta 測試版)翻譯,可能含有錯誤。若要以英文檢視此頁面,請按一下這裡

一個 瀑布 是河流或溪流中的一個點,在這裡水流經過一個或多個垂直的降落點流入水體中。經驗中經常包含瀑布以增強視覺美感,例如加強環境或創造視覺焦點,或出於功能性遊戲目的,例如隱藏資源或使玩家在不同區域之間過渡。

使用 瀑布島 .rbxl 文件作為參考,本教程告訴您如何創建一個瀑布,並使用表示現實世界物理行為的 VFX 對象,包括以下指導:

  • 將參考材料細分為具有不同視覺和行為特徵的單獨組件。
  • 配置以不同速度降落的瀑布,模擬水從懸崖下降時的分散。
  • 配置潑水,模擬水在瀑布撞擊底部池塘時變為氣霧。
  • 配置白水,模擬湍急的氣泡水,當排水流入巨石時會發生劇烈碰撞。
  • 配置泡沫,模擬破壞表面張力的毛細波。
  • 配置霧,模擬從衝擊點升起的霧氣,從各個角度創造一個玩家可以觀賞的彩虹。

拆分參考

要創建可信的瀑布,設計過程中參考現實世界的自然特徵是非常重要的,因為這使您能夠將主題拆分為具有不同視覺和行為特徵的單獨組件。例如,樣本 瀑布島 經驗參考華盛頓州的斯諾夸爾米瀑布以通知所有與瀑布及其周圍地形相關的紋理和 VFX 設計決策。

一個遠景的斯諾夸爾米瀑布景觀。

雖然瀑布是持續且連接的水流,涉及多種物質狀態以及動態的流體和空氣運動,但將這一複雜系統分解為單獨的組件是有益的,這樣您可以計劃如何利用不同的 VFX 對象來模仿它們的現實世界對應物。為了顯示本教程將樣本瀑布分解為五個獨特的組件:

  • 瀑布流 – 從懸崖下降的水流。
  • 潑水 – 隨著瀑布流與底部池塘碰撞而散亂的水。
  • 白水 – 當水源接近懸崖邊緣時出現的湍急水。
  • 泡沫 – 隨著瀑布和池塘碰撞而橫向擴散的氣泡水。
  • – 隨著整體瀑布的影響蒸發在空中的雲狀水。
高度突出的斯諾夸爾米瀑布,所有五個組件均被突出顯示。
樣本瀑布包含的同五個組件,突出顯示以比較參考圖像和最終結果。

接下來的部分提供對可以用來重建這些組成樣本 3D 空間中主要落水的不同設計決策和技術的深入分析。在您回顧這些決策並實驗各種BeamParticleEmitter 屬性時,您將學會如何利用 VFX 來解決自己經驗中的獨特環境需求。

配置瀑布流

瀑布流 是從懸崖或懸崖邊緣流入底池的水。根據其水量和降落的規模,瀑布流以不同速度下降。例如,樣本的主要落水看起來下降較慢,因為有大體積的水從較大的距離降下,而樣本的第二次落水看起來下降較快,因為較小的水量在短距離內降下。

主要落水
第二次落水

此外,瀑布通常有多層瀑布流以不同速度下降,因為水在下降到底池時會分散。為了展示這一原理,樣本使用多個 Beam 對象,它們與 Attachment 對象之間以不同的速度和長度無縫渲染紋理。除了為主要落水提供更真實的下墜行為外,這種技術還創造了一種視差的錯覺,使瀑布流看起來有深度和體積感,即使它只是 2D 圖像。

這個瀑布看起來很自然,因為水流以不同的速度下降和分散。
這個瀑布看起來不自然,因為水流以相同的速度下降和分散。

要重新創建樣本 瀑布島 中主要落水的瀑布流:

  1. 創建瀑布流的出流。

    1. Explorer 窗口中,在 Workspace 中創建一個 Folder 以包含所有出流對象,然後將該文件夾重命名為 Outflow

    2. Outflow 文件夾中插入兩個 block 部件,然後將它們分別命名為 OutflowStartOutflowStop

    3. OutflowStart 移動到您希望出流開始的位置,將 OutflowStop 移動到懸崖邊緣。

      出流的水的角度上方視圖,兩個塊部件定位於出流紋理應渲染的位置。
    4. OutflowStartOutflowStop 中各插入一個附件,然後旋轉附件,直到黃色視覺輔助工具向上指向。

      出流的水的角度上方視圖,兩個塊部件包括附件,黃色視覺輔助工具向上指向。
    5. Outflow 文件夾中插入一個 Beam,然後將其重命名為 OutflowWater

    6. 將每個部件的附件分配給 OutflowWater

      1. Explorer 窗口中選擇 OutflowWater
      2. Properties 窗口中,
        1. Attachment0 設置為 OutflowStart 中的附件。
        2. Attachment1 設置為 OutflowStop 中的附件。光束在兩個附件之間渲染其默認紋理。
      出流的水的角度上方視圖,兩個塊部件在附件之間渲染默認光束紋理。
    7. 自定義光束的視覺外觀,使其看起來像是流向懸崖邊緣的水。

      1. Explorer 窗口中,確認 OutflowWater 仍然被選中。
      2. Properties 窗口中,
        1. Texture 設置為 rbxassetid://4787437624 以渲染一個看起來像流動泡沫的新紋理。

        2. Width0 設置為 60,使紋理沿著其開始渲染的軸變寬。

        3. Width1 設置為 20,使紋理在到達懸崖邊緣時變窄。

        4. TextureSpeed 設置為 0.4,以減慢紋理的流動速度。

        5. TextureLength 設置為 64,以拉伸紋理的長度。

        6. TextureMode 設置為 Wrap,以根據光束在 3D 世界中的總長度除以其 TextureLength 重複紋理。這使得紋理看起來與流動的水更逼真。

        7. Color 設置為一個顏色序列,顏色在深藍色和淺藍色與白色之間交替。

          1. 點擊 Color 屬性,然後點擊 按鈕。將顯示顏色序列彈出窗口。

            Studio 的 Properties 窗口的特寫視圖,顏色屬性的省略號按鈕被突出顯示。

            顏色序列底部軸的每個三角形都是一個 關鍵點,它決定粒子生命週期該點的屬性顏色值。

          2. 在顏色序列中設置以下時間和數值屬性:

            • Time = 0, RGB Value = 208, 247, 255
            • Time = 0.135, RGB Value = 146, 235, 255
            • Time = 0.248, RGB Value = 255, 255, 255
            • Time = 0.384, RGB Value = 128, 183, 202
            • Time = 0.757, RGB Value = 166, 213, 248
            • Time = 1, RGB Value = 255, 255, 255
        8. Transparency 設置為一個數字序列,使水在接近懸崖邊緣時變得更加生動。

          1. 點擊 Transparency 屬性,然後點擊 按鈕。將顯示數字序列彈出窗口。默認情況下,圖表為直線,圖像從左到右保持相同透明度。

            透明度數字序列圖的特寫視圖。

            數字序列開始和結束的每個正方形都是一個 關鍵點,確定該點的紋理的透明度值。

          2. 在數字序列中設置以下時間和數值屬性:

            • Time = 0, Value = 1
            • Time = 0.375, Value = 0.725
            • Time = 0.615, Value = 0
            • Time = 0.92, Value = 1
            • Time = 1, Value = 1
        9. 縮放每個部件以確保紋理涵蓋出流池的寬度,現在出流的水似乎是從各個角度流向懸崖邊緣的。

  2. 創建主要落水處的快速流動的瀑布水。

    1. Explorer 窗口中,在 Workspace 中創建一個 Folder,以包含所有瀑布水對象,然後將該文件夾重命名為 Cascades

    2. Cascades 文件夾中插入兩個 block 部件,然後將它們分別命名為 MainDropStartMainDropStop

    3. MainDropStart 移動到懸崖邊緣,將 MainDropStop 移動到它的下方池塘位置。

      懸崖的角度側視圖,兩個塊部件定位於快速流動的瀑布紋理應該渲染的位置。
    4. 為主要落水的所有瀑布流光束配置附件,以用來渲染其紋理。

      1. MainDropStart 中插入一個附件,然後旋轉該附件,直到黃色視覺輔助工具遠離懸崖的方向指向。
      2. MainDropStop 中插入一個附件,然後旋轉該附件,直到黃色視覺輔助工具向懸崖指向。
      懸崖的角度側視圖,兩個塊部件包括附件。懸崖頂部的塊部件包含一個黃色視覺輔助工具,它指向懸崖,底部的塊部件包含一個黃色視覺輔助工具,指向懸崖。
    5. Cascades 文件夾中插入一個 Beam,然後將其重命名為 FastDrop

    6. 將每個部件的附件分配給 FastDrop

      1. Explorer 窗口中選擇 FastDrop
      2. Properties 窗口中,
        1. Attachment0 設置為 MainDropStart 中的附件。
        2. Attachment1 設置為 MainDropStop 中的附件。光束在兩個附件之間渲染其默認紋理。
      懸崖的角度側視圖,兩個塊部件在附件之間渲染默認光束紋理。
    7. 自定義光束的視覺外觀,使它看起來像是主要落水的快速流動瀑布水。

      1. Explorer 窗口中確認 FastDrop 仍然被選中。

      2. Properties 窗口中,

        1. Texture 設置為 rbxassetid://16808804567 以渲染一個看起來像流動水的新紋理。
        2. Width0 設置為 5,使紋理在開始渲染的軸上變寬。
        3. Width1 設置為 10,在接觸池塘時擴展紋理。
        4. CurveSize0 設置為 10,使紋理向外曲線從懸崖流出。
        5. CurveSize1 設置為 20,使紋理在接觸到池塘時沿著池塘彎曲。
        6. TextureSpeed 設置為 1.3,以使紋理快速流動。
        7. TextureLength 設置為 2,輕微拉伸紋理的長度。
        8. Color 設置為顏色序列,顏色從深藍色到淺藍色到白色。
        • Time = 0, RGB Value = 208, 247, 255
        • Time = 0.135, RGB Value = 210, 246, 255
        • Time = 0.25, RGB Value = 255, 255, 255
        • Time = 0.384, RGB Value = 163, 187, 202
        • Time = 0.757, RGB Value = 214, 229, 248
        • Time = 1, RGB Value = 255, 255, 255
        1. Transparency 設置為使瀑布水在兩個附件之間更生動的數字序列。
        • Time = 0, Value = 1
        • Time = 0.115, Value = 0
        • Time = 0.835, Value = 0
        • Time = 0.881, Value = .994
        • Time = 1, Value = 1
        1. ZOffset 設置為 2,使紋理稍微遠離懸崖。
        2. 啟用 FaceCamera 以確保瀑布水始終可見,無論玩家角度如何。
  3. 創建主要落水的慢流動瀑布水。

    1. 複製 FastDrop,然後將複製的光束命名為 SlowDrop

    2. 自定義光束的視覺外觀,使其看起來像主要落水的慢流動瀑布水。

      1. Explorer 窗口中選擇 SlowDrop
      2. Properties 窗口中,
        1. Width1 設置為 20,使紋理在接觸池塘時變得更寬。
        2. TextureLength 設置為 1.5,稍微縮短紋理的長度。
        3. TextureSpeed 設置為 1,使紋理流動變得不那麼快速。
        4. ZOffset 設置為 0,以使紋理直接從懸崖邊緣流出。
  4. Explorer 窗口中,選擇所有 Outflow 文件夾中的塊部件,然後在 Properties 窗口中將 Transparency 設置為 1,使這些塊不可見。

配置潑水

當瀑布流撞擊底池的密度時,水將從撞擊點向上推進以形成 潑水。隨著這些氣霧水向上推進,它會擴展並從自己中分離,產生向各個方向散落的水滴。

為了展示這一過程,樣本在主要落水的底部使用了兩個 ParticleEmitter 對象。第一個粒子發射器發出密集潑水的顆粒,代表水流開始向上推進,當瀑布流撞擊底池時。第二個粒子發射器發出水滴的顆粒,代表水正在變成氣霧。

當您配置這些粒子發射器同時以不同的速率發出這兩種顆粒時,所產生的視覺效果模擬了潑水的現實物理行為。這些細節為您的 VFX 增加了真實感,並讓玩家沉浸於 3D 空間中。

表示高度氣霧化水在分開前的 2D 紋理。
密集紋理 = rbxassetid://16829556885
表示高度氣霧化水分開的 2D 紋理。
水滴紋理 = rbxassetid://17082061238

要在樣本 瀑布島 位置文件中的主要落水底部重新創建潑水:

  1. Explorer 窗口中,在 Workspace 中創建一個 Folder,以包含所有潑水對象,然後將該文件夾重命名為 Splashes

  2. Splashes 中插入一個 block 部件,然後將其命名為 MainDropSplashes

  3. 位置和縮放 MainDropSplashes 以包含瀑布流撞擊底池的完整表面面積。

    懸崖底部的特寫視圖,具有在瀑布流撞擊底池時定位的塊部件。
  4. 創建主要落水撞擊底池的密集潑水。

    1. MainDropSplashes 中插入一個 ParticleEmitter,然後將其重命名為 SplashDense

    2. 選擇 SplashDense,然後在 Properties 窗口中,

      1. Texture 設置為 rbxassetid://16829556885 以渲染顆粒,看起來像密集的潑水。
      2. Color 設置為顏色序列,從藍色開始並轉為白色。
      • Time = 0, RGB Value = 189, 246, 255
      • Time = 1, RGB Value = 255, 255, 255
      1. Size 設置為一個數字序列,大小隨著變化幅度穩步增長。
      • Time = 0, Value = 1.81, Envelope = 0.562
      • Time = 1, Value = 5.75, Envelope = 1.31
      1. Transparency 設置為一個數字序列,其中粒子從透明開始,變為不透明,然後再次在其生命週期中變為透明,具有較大的變化幅度。
      • Time = 0, Value = 1, Envelope = 0
      • Time = 0.5, Value = 0.181, Envelope = 0.181
      • Time = 1, Value = 1, Envelope = 0
      1. Lifetime 設置為 0.25, 0.35,以隨機設置每個粒子的生命週期在 250 至 350 毫秒之間。
      2. Rate 設置為 30,以每秒發出 30 個粒子。
      3. Rotation 設置為 -45, 45 以隨機定向每個粒子在每秒 -45 和 45 度之間。
      4. RotSpeed 設置為 -40, 40,隨機發出每個粒子在每秒 -45 和 40 度之間。
      5. Speed 設置為 20, 35 隨機發出每個粒子在 20 和 35 studs per second 之間。
      6. SpreadAngle 設置為 50, 50,以在 X 和 Z 軸上發出粒子。
      7. Acceleration 設置為 0, -40, 0 以模擬重力並向下拉動粒子。
      8. LightEmission 設置為 0.5 以使粒子變亮。
      9. LightInfluence 設置為 0.1 大幅減少環境光對粒子顏色的影響。
  5. 創建主要落水撞擊底池的水滴。

    1. 複製 SplashDense,然後將其重命名為 SplashDroplets

    2. 選擇 SplashDroplets,然後在 Properties 窗口中,

      1. Texture 設置為 rbxassetid://17082061238 以渲染顆粒,看起來像水滴。
      2. Size 設置為一個數字序列,大小迅速增加,變化幅度較大。
      • Time = 0, Value = 1.81, Envelope = 0.562
      • Time = 1, Value = 8.69, Envelope = 1.31
      1. Transparency 設置為一個數字序列,粒子開始時透明,迅速變不透明,然後在其生命週期中數中間逐漸變為透明。
      • Time = 0, Value = 1, Envelope = 0
      • Time = 0.104, Value = 0.0625, Envelope = 0.0625
      • Time = 0.429, Value = 0.0562, Envelope = 0.0562
      • Time = 1, Value = 1, Envelope = 0
      1. Lifetime 設置為 0.15, 0.6,以隨機設置每個粒子的生命週期在 150 和 600 毫秒之間。
      2. Rate 設置為 20 以每秒發出 20 個粒子。
  6. Explorer 窗口中,選擇所有在 Splashes 文件夾中的塊部件,然後在 Properties 窗口中將 Transparency 設置為 1,以使這些塊不可見。

配置白水

白水 是當水源變得更加湍急,當其在下降和碰撞路徑中的物體時獲得速度時產生的。這會導致 aerated 的、網狀水看起來是白色的,由於水源中更多的氣泡。

要模擬這一過程,樣本使用了兩個 ParticleEmitter 對象,發出看起來像是當出流撞擊懸崖邊緣的岩石時的氣泡潑水,對象並不使用內建的燈光,而是優先考慮白色和灰色調,同時採用不同的降落速率以展示水中空氣的數量。

表示高度氣霧化水在撞向巨石時的 2D 紋理。
白水紋理 = rbxassetid://16808075391

要在樣本 瀑布島 位置文件中重新創建出流撞擊懸崖的巨石的白水:

  1. Explorer 窗口中,創建一個 FolderWorkspace 中以包含所有白水對象,然後將該文件夾重命名為 WhiteWater

  2. WhiteWater 中插入一個 block 部件,然後將其命名為 MainDropWW

  3. 位置和縮放 MainDropWW 以包含出流開始在懸崖上流動的完整表面面積。

    懸崖上方的角度側視圖,塊部件定位在出流開始流出懸崖的地方。
  4. 創建主出流撞擊周圍岩石的湍急白水。

    1. MainDropWW 中插入一個 ParticleEmitter,然後將其重命名為 GentleWW

    2. 選擇 GentleWW,然後在 Properties 窗口中,

      1. Texture 設置為 rbxassetid://16808075391 以渲染看起來像是網狀潑水的顆粒。
      2. Color 設置為顏色序列,從藍色開始並轉為白色。
      • Time = 0, RGB Value = 189, 246, 255
      • Time = 1, RGB Value = 255, 255, 255
      1. Size 設置為一個數字序列,大小隨著變化幅度穩步增長。
      • Time = 0, Value = 1.13, Envelope = 0.562
      • Time = 1, Value = 5.56, Envelope = 0.563
      1. Transparency 設置為一個數字序列,顆粒從透明開始,變為不透明,然後在其生命週期中變成透明,帶有輕微的波動。
      • Time = 0, Value = 1, Envelope = 0
      • Time = 0.143, Value = 0.462, Envelope = 0.0625
      • Time = 0.336, Value = 0.462, Envelope = 0.0562
      • Time = 0.622, Value = 0.788, Envelope = 0.0538
      • Time = 1, Value = 1, Envelope = 0
      1. ZOffset 設置為 2,使紋理稍微遠離懸崖。
      2. Lifetime 設置為 1.25, 1.5,以隨機設置每個粒子的生命週期在 1250 和 1500 毫秒之間。
      3. Rate 設置為 12,以每秒發出 12 個粒子。
      4. Rotation 設置為 -45, 45,以隨機定向每個粒子在每秒 -45 和 45 度之間。
      5. RotSpeed 設置為 -40, 40,隨機發出每個粒子在每秒 -45 和 40 度之間。
      6. Speed 設置為 15, 18,隨機發出每個粒子在 20 和 35 studs per second 之間。
      7. SpreadAngle 設置為 5, 5,以在 X 和 Z 軸上發出粒子。
      8. Acceleration 設置為 0, -35, 0,以模擬重力並向下拉動粒子。
      9. Drag 設置為 0.25,讓粒子以指數衰減減少速度。
      10. LightEmission 設置為 0.6,以使粒子變亮。
      11. LightInfluence 設置為 0.1,以顯著降低環境光對粒子顏色的影響。
  5. 創建主出流撞擊周圍岩石的湍急白水。

    1. 複製 GentleWW,然後將其重命名為 TurbulentWW

    2. 選擇 TurbulentWW,然後在 Properties 窗口中,

      1. Size 設置為一個數字序列,大小隨著變化幅度微微增長。
      • Time = 0, Value = 1.6, Envelope = 0.562
      • Time = 1, Value = 2.63, Envelope = 0.563
      1. Transparency 設置為一個數字序列,粒子從透明開始,變為不透明,然後在其生命週期中變得透明。
      • Time = 0, Value = 1, Envelope = 0
      • Time = 0.156, Value = 0.0437, Envelope = 0.0437
      • Time = 0.55, Value = 0.075, Envelope = 0.0252
      • Time = 1, Value = 1, Envelope = 0
      1. Lifetime 設置為 0.25, 0.5,以隨機設置每個粒子的生命週期在 250 和 500 毫秒之間。
      2. Rate 設置為 20 以每秒發出 20 個粒子。
      3. Speed 設置為 5, 6,以隨機發出每個粒子在 5 和 6 studs per second 之間。
      4. Acceleration 設置為 0, -15, 0 以模擬重力並向下拉動粒子。
  6. Explorer 窗口中,選擇所有在 WhiteWater 文件夾中的塊部件,然後在 Properties 窗口中將 Transparency 設置為 1,以使這些塊不可見。

配置泡沫

與當瀑布流撞擊底池時向上推進的潑水不同,泡沫 是從衝擊點基部向外擴散的氣泡水。與潑水類似,泡沫隨著氣霧的形成向外擴展並分裂成類網狀的水滴。

為了模擬這一效果,樣本使用一個 ParticleEmitter 對象發出看起來像泡沫波紋的顆粒,並且它緩慢發出與底池平行的顆粒。這使得粒子能夠模仿破壞底部水池表面張力的毛細波的視覺和行為效果。

表示氣霧化水從瀑布流撞擊底池處擴散的 2D 紋理。
泡沫波紋紋理 = rbxassetid://16811365086

要在樣本 瀑布島 地點文件中重新創建主要落水的基部泡沫:

  1. Explorer 窗口中,在 Workspace 中創建一個 Folder 以包含所有泡沫對象,然後將該文件夾重命名為 Foam

  2. Foam 中插入一個 block 部件,然後將其命名為 MainDropFoam

  3. 位置和縮放 MainDropFoam 以包含主流中最濃密部分撞擊底池的完整表面面積。

    懸崖底部的角度側視圖,塊部件定位在瀑布流撞擊底池的地方。
  4. MainDropFoam 中插入一個 ParticleEmitter,然後將其重命名為 FoamRipples

  5. Explorer 窗口中選擇 FoamRipples,然後在 Properties 窗口中,

    1. Texture 設置為 rbxassetid://16811365086 以渲染看起來像泡沫波紋的顆粒。

    2. Orientation 設置為 VelocityPerpendicular 以使粒子垂直於其運動方向發出。

    3. Transparency 設置為一個數字序列,其中粒子開始時透明,迅速變得不透明,然後在其生命週期結束時迅速變為透明。

      • Time = 0, Value = 1, Envelope = 0
      • Time = 0.143, Value = 0.119, Envelope = 0.1
      • Time = 0.664, Value = 0.125, Envelope = 0.112
      • Time = 1, Value = 1, Envelope = 0
    4. Lifetime 設置為 0.5, 0.7,以隨機設置每個粒子的生命週期在 500 和 700 毫秒之間。

    5. Rate 設置為 5,以每秒發出 5 個粒子。

    6. Rotation 設置為 0, 360,以在排放點周圍圍繞隨機定向每個粒子。

    7. RotSpeed 設置為 -15, 15,以隨機發出每個粒子在每秒 -15 和 15 度之間。

    8. Speed 設置為 0, .01,以隨機發出每個粒子在 0 和 .01 studs per second 之間。

    9. LightEmission 設置為 0.25,以微微增亮粒子。

    10. LightInfluence 設置為 0,以防止環境光影響粒子的顏色。

  6. 命令欄 中,輸入以下字符串,以使每個粒子從 5 增長到 20 studs 的大小,並帶有少量變化幅度:


    workspace.Foam.MainDropFoam.FoamRipples.Size = NumberSequence.new{NumberSequenceKeypoint.new(0,5,0), NumberSequenceKeypoint.new(1,20,5)}
  7. Explorer 窗口中,選擇所有塊部件在 Foam 文件夾中的,然後在 Properties 窗口中將 Transparency 設置為 1,以使這些塊不可見。

配置霧

隨著瀑布流與底池碰撞,一些水蒸發並在涼爽潮濕的空氣中凝結以形成 。霧氣不是以與堅硬表面相同的方式捕獲光線;相反,霧氣會以通常意想不到的方式反射光線,使其在自然環境中明亮,直到完全蒸發。

樣本通過在落水底部使用兩個 ParticleEmitter 對象模擬這一過程。第一個粒子發射器從衝擊點和懸崖有力地發出顆粒,第二個發射器隨著時間向上升起向天空發出顆粒。這兩個粒子發射器的顆粒在生命週期的開始都是明亮的,並在其生命週期的結束時慢慢變得透明。

與現實世界類似,霧氣蒸發過程還允許形成彩虹,因為光線會反射到小水滴上,樣本用 ParticleEmitter 對象模擬這一點,該對象發出壽命很短的彩虹顆粒。這些顆粒面對相機,無論玩家與瀑布的角度如何,都產生了光線照射在氣霧上的視覺錯覺。

表示霧的 2D 紋理。
霧紋理 = rbxassetid://16830667309
表示彩虹的 2D 紋理。
彩虹紋理 = rbxassetid://16828911033

要在樣本 瀑布島 位置文件中重新創建從主要落水底部向外和向上移動的霧:

  1. Explorer 窗口中,創建一個 FolderWorkspace 中,以包含所有與霧相關的對象,然後將該文件夾重命名為 Mist

  2. 創建從瀑布流撞擊底池的影響外放射的霧。

    1. Mist 中插入一個 block 部件,然後將其命名為 BaseMist

    2. 位置、定向和縮放 BaseMist 以面對最濃厚的主要瀑布流與底池撞擊的地方。

      懸崖底部的角度側視圖,塊部件定位於瀑布流與底池撞擊處的改變。
    3. BaseMist 中插入一個 ParticleEmitter,然後將其重命名為 Mist

    4. 選擇 Mist,然後在 Properties 窗口中,

      1. Texture 設置為 rbxassetid://16830667309 以渲染顆粒,看起來像濃霧。
      2. Color 設置為顏色序列,從藍色開始並轉為白色。
      • Time = 0, RGB Value = 171, 244, 255
      • Time = 0.339, RGB Value = 251, 254, 255
      • Time = 1, RGB Value = 255, 255, 255
      1. Size 設置為一個數字序列,大小穩步增加。
      • Time = 0, Value = 8, Envelope = 0
      • Time = 1, Value = 10, Envelope = 0
      1. Transparency 設置為一個數字序列,其中粒子開始時透明,迅速變得略為不透明,然後在其生命週期結束時迅速變回透明。
      • Time = 0, Value = 1, Envelope = 0
      • Time = 0.0971, Value = 0.8, Envelope = 0.0625
      • Time = 1, Value = 1, Envelope = 0
      1. ZOffset 設置為 2,使紋理稍微遠離底池。
      2. Lifetime 設置為 0.5, 1,以隨機設置每個粒子的生命週期在 500 和 100 毫秒之間。
      3. Rate 設置為 20,以每秒發出 20 個粒子。
      4. Rotation 設置為 -360, 360,以隨機定向每個粒子在圓周上。
      5. RotSpeed 設置為 -50, 50,以隨機發出每個粒子在每秒 -50 和 50 度之間。
      6. Speed 設置為 35, 50,以隨機發出每個粒子在 35 和 50 studs per second 之間。
      7. SpreadAngle 設置為 25, 25,以在 X 和 Z 軸上以小角度發出粒子。
      8. Acceleration 設置為 -10, -25, -10,以模擬潑水的撞擊使其向外爆炸的影響。
      9. Drag 設置為 1.5,讓粒子以指數衰減減少速度。
  3. 創建從底池上升的霧氣。

    1. 複製 BaseMist,然後將其重命名為 RiseMist
    2. 定向 RiseMist,使其發出粒子的部分面向天空。
    3. 選擇其子粒子發射器,然後在 Properties 窗口中,
      1. Lifetime 設置為 4,將每個粒子的壽命設置為 4 秒。
      2. Rate 設置為 3,以每秒發出 3 個粒子。
      3. RotSpeed 設置為 -10, 10,以隨機發出每個粒子在每秒 -10 和 10 度之間。
      4. Speed 設置為 25,以每秒發出每個粒子 25 studs。
      5. Acceleration 設置為 0, 0, 0,以移除先前的模擬。
      6. Drag 設置為 1,使粒子以指數衰減減少速度。
    4. 命令欄 中,輸入以下字符串,以使每個粒子大小從 20 증가到 20 studs 之間有少量變化的範圍:

    workspace.Mist.RiseMist.Mist.Size = NumberSequence.new{NumberSequenceKeypoint.new(0,20,1), NumberSequenceKeypoint.new(1,25,5)}
  4. 創建彩虹。

    1. Mist 中插入一個 block 部件,然後將其命名為 RainbowPart

    2. RainbowPart 定位在其他塊部件稍上方。

    3. Rainbow 中插入一個 ParticleEmitter,然後將其重命名為 Rainbow

    4. 選擇 Rainbow,然後在 Properties 窗口中,

      1. Texture 設置為 rbxassetid://16828911033,以渲染看起來像淡彩虹的顆粒。
      2. Size 設置為 25,以渲染大顆粒。
      3. Transparency 設置為一個數字序列,粒子從透明開始,略為變得不透明,然後在生命週期中再次變得透明。
      • Time = 0, Value = 1, Envelope = 0
      • Time = 0.497, Value = 0.363, Envelope = 0.05
      • Time = 1, Value = 1, Envelope = 0
      1. Lifetime 設置為 2, 4,隨機設置每個粒子的生命週期在 200 和 400 毫秒之間。
      2. Rate 設置為 0.25,以每 4 秒發出 1個粒子。
      3. Rotation 設置為 -20,以將每個粒子偏轉少許度數。
      4. Speed 設置為 0,以每秒發出每個粒子 0 studs。
      5. Drag 設置為 1,以使粒子以指數衰減降低速度。
      6. LightEmission 設置為 1,以使用加法混合來渲染顆粒及背後的顏色。這一步驟還消除了該紋理本身的黑色背景。
      7. LightInfluence 設置為 0,以防止環境光影響粒子顏色。
  5. Explorer 窗口中,選擇所有塊部件在 Mist 文件夾中的,然後在 Properties 窗口中將 Transparency 設置為 1,以使這些塊不可見。

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