2016年11月27日 星期日

Unreal: Beam Particle

since: 2016/11/26
update: 2016/11/27

reference:
1. Beam Particle (Tutorial) - Epic Wiki
2. Particle Instance Parameters - UE4 AnswerHub


A. 新增專案, 匯入紋理與新增材質
    1. 新增專案:

    2. 匯入紋理:
        下載: BaseBeam.pngBeamPulse.png 檔案, 並匯入成紋理
 

    3. 新增材質:

    4. 取名為 BeamParticleMaterial  , 並雙擊滑鼠開啟

    5. 開啟後, 先到右邊的 Details 裡, 將 MaterialBlend Mode 改成:
        Translucent(半透明)

    6. 新增二個 Texture Sample(紋理樣本) 節點

    7. 點選上方的 Texture Sample 節點, 將其 Texture 屬性設為之前匯入的:
        BaseBeam 紋理

    8. 點選下方的 Texture Sample 節點, 將其 Texture 屬性設為之前匯入的:
        BeamPulse 紋理

    9. 最後加入以下節點, 並作相關連結:
        Panner, Add, Multiply, Particle Color

-----------------------------------------------------------------------------------------------

B. 新增 Particle System
     1. Add New > Particle System

     2. 取名為 BeamParticleSystem 並雙擊滑鼠進入

     3. 先點選中上方 Particle Emitter 下的 "Required" Module:
         在 Details 裡: Emitter > Material 屬性
         > 設定為之前調整好的 BeamParticleMaterial

     4. 新增 Beam Data Module:
          > TypeData > New Beam Data

     5. 結果:

-----------------------------------------------------------------------------------------------

C. 調整 BeamParticleSystem 的 Module Properties
     1. Lifetime Module
         > 將 Lifetime 屬性設為 0.0: 允許光束恆定(永遠活動)

     2. Beam Data Module:
          > 將 Beam Method 屬性設為 Distance : 光束將通過沿著發射器的X軸的距離
             來計算,而不是需要來源目標


          > 將 Texture Tile Distance 屬性設為 500 : 每500個 Unreal 單位平鋪紋理。
             允許動畫脈衝顯示更清晰。

          > 將 Max Beam Count 屬性設為 3 : 再多加幾個光束。
             (當有雜訊時,視覺效果會不錯)

          > 將 Speed 屬性設為 0 : 光束會立即前往目標。

          > 將 Interpolation Points 屬性設為 50 : 給予光束一些添加雜訊的靈活性。

          > 將 Distance 屬性設為 1000 : 將光束沿著X軸擴展 1000 Unreal 單位。

     3. 刪除 Initial VelocityColor Over Life modules

     4. 新增 Initial Color module

     5. 結果:

-----------------------------------------------------------------------------------------------

D.  增加 BeamParticleSystem 的雜訊
      1. 新增 Beam Noise

      2. 結果:

      3. 調整 Noise Module 的 Properties
          > 將 Low Freq Enabled 勾選 : 啟用雜訊的隨機化。
        
          > 將 Frequency 屬性設為 30 : 雜訊的數量

          > 將 Noise Range 屬性 : 告訴雜訊它可以遠離光束移動多遠
              >
Distribution Vector Uniform (向量均勻分佈)
              >
Max:( 0, 50, 50)              
              > Min:( 0, -50, -50)


          > 將 Noise Tessellation 屬性設為 10 : 讓雜訊平滑一些

          > 將 Frequency Distance 屬性設為 100 : 修飾雜訊的形狀


      4. 結果:

-----------------------------------------------------------------------------------------------

E. 設定 BeamParticleSystem 的來源與目標
      1. 在場景加入二個 Note Actor

      2. 幫 Particle Emitter 新增 SourceTarget module.

      3. 結果:

      4. 調整 Beam Data, Source and Target  Module 的 Properties

          a. Beam Data Module
              > 將 Beam Method 屬性設為 Target: 光束需要來源目標

          b. Source Module
              > 將 Source Method 屬性設為 Actor: 告訴光束在 Actor 的位置開始

              > 將 Source Name 屬性設為 BeamSource

              > 將 Source 屬性設為: Distribution Vector Constant, Value:(0, 0, 0)
                  (會在 preview window 中設定來源位置為 0,0,0)

          c. Target Module
              > 將 Source Method 屬性設為 Actor: 告訴光束在 Actor 的位置結束

              > 將 Source Name 屬性設為 BeamTarget

              > 將 Source 屬性設為: Distribution Vector Constant, Value:(1000, 0, 0)
                  (會在 preview window 中設定目標位置為 1000,0,0)

      5. 回到關卡場景, 將 BeamParticleSystem 拖拉進來.

      6. 點選 BeamParticleSystem , 在 Details 裡按下 "Expose Parameter

      7. 在 Instance Parameters 裡, 設定BeamSourceBeamTargetActor

      8. 編譯執行:

沒有留言:

張貼留言

注意:只有此網誌的成員可以留言。