電撃の表現をつくる【パーティクル作例】

今回はUnityの機能である「Particle System」を使って、電撃を放っているような表現をつくってみます。

今回設定するパラメータの一覧を掲載します。
後ほどひとつひとつ解説していくので、まずは同じように設定してみてください!

  • Hierarchyを右クリック、または上部メニューのGameObjectから、Effect>Particle Systemを選択して新しいParticle Systemオブジェクトを作成します。
    • 作成したら、まずはオブジェクトの位置と向きを調整しましょう。TransformのPositionを置きたい場所(この位置を起点に電撃が発生します)に移動してください。
  • Particle SystemのInspectorで、パラメータを以下のように設定します。
    • Emission, Shape, Trails, Rendererの各モジュールにチェックがついて有効になっていることを確認してください。
      • Start Lifetime:0.1
      • Start Speed:100
      • Start Size:0.01
      • Emissionモジュール
        • Rate over Lifetime:500
      • Shapeモジュール
        • Angle:5
        • Radius:0.0001(最小値)
      • Trailsモジュール
        • Mode:Ribbon
      • Rendererモジュール
        • Render Mode:None
        • Trail Material:Default-Line

設定できたら実行して見た目を確認してみましょう。

ここから各パラメータについて解説していきます。
パラメータをいじると、どんな変化が起きるのかを実際に操作しながら試してみてください。

電撃の表示時間を変える —Start Lifetime

Particleが発生してから消えるまでの時間(秒数)を設定します。
今回は高速で変化する電撃を表現するため、一瞬だけ表示するようにします。

勢いを変える —Start Speed

Particleが発射された時の速度を設定します。

電撃の太さを変える —Start Size

Particleの大きさを変えます。今回は軌跡のみ表示しますが、軌跡の太さもこの設定に影響されます。

電撃の発生の仕方を変える —Emissionモジュール

Rate over Lifetimeで1秒間に発生するParticleの数を変更できます。
今回は後述の「Trail」でParticle同士を繋いで表示するため、値を大きくして多くのParticleを出すほど細かく線が折れ曲がっているような見た目になります。

電撃の発生範囲を変える —Shapeモジュール

ShapeモジュールではParticleの発生範囲や飛んでいく向きを設定できます。
「Shape」が「Cone」の場合、「Angle」で広がりの角度を、「Radius」で根元の半径を設定できます。
今回は1点から細い範囲に電撃が放たれるようにしました。

「線」を表示する —Trailsモジュール

Particleの軌跡を表示するTrailsモジュールですが、「Mode」を「Ribbon」にするとParticle同士をつないだ線を描画することができます。

表示方法を設定する──Rendererモジュール

RendererモジュールではParticleの表示方法や、マテリアルを設定することができます。
今回は「Render Mode」を「None」にすることでParticleを表示しないように設定し、Trailsによる線だけを描画するようにしました。

表現をより細かく調整してみたい方は、以下のような設定を試してみましょう。

太さをランダムにする

Start Sizeの項目で、▼ボタンから「Random between Two Constants」を選択すると、Particleの大きさがふたつの値の間のランダムな値になります。太さに変化がつくとより自然な表現にすることができます。
他の多くの項目でも同様に「Random between Two Constants」を選択できるので、試してみましょう。

色を変える

Start Colorの項目でParticleの色を変えることができます。Trailsの色もこの設定の影響を受けます。
黄色や水色などの色に変えてみましょう。

速度を変化させる

「Velocity over Lifetime」モジュールを有効化し、「Speed Modifier」を「Curve」にすることでParticleが発生してから消えるまでの速度を変化させることができます。
右上がりの曲線を選んで初速が遅くなるようにすると、発生点近くではParticleが渋滞して軌跡が細かくなり、遠くなるほど粗くなるように見えます。

太さを時間変化させる

「Size over Lifetime」モジュールを有効化し、「Size」を「Curve」にして右下がりの曲線を選択すると遠くにいくほど細くなり、距離によって減衰している様子を表現できます。
反対に右上がりの曲線を選択して、1点から放出されている様子を強調することもできます。

軌跡を複雑にする

Trailsモジュールの「Mode」を「Ribbon」にしている場合、「Ribbon Count」という項目を設定することができます。
この値が「1」のときはすべてのParticleをつないだ1本の線になりますが、「2」にすると1つ飛ばしにつないだ2本の線に、「3」にすると同様に3本の線になります。
値を大きくして複雑に絡み合う軌跡をつくることができます。

新規マテリアルを作成し、Shaderを「Particles/Standard Unlit」に変更します。「Albedo」のカラーパレットを開き、「Intensity」の値を1.0程度まで上げてみましょう。
「Renderer>Trail Material」にこのマテリアルを適用すると、より明るく光るようになります。

そのままではただ色が明るくなるだけに見えますが、Post-ProcessingのBloomを設定すると強く発光して見えます。設定の仕方はこちらから。

これらの設定を組み合わせて、表現したいものに合わせて微調整してみましょう。

Particle Systemは非常に多くの設定項目があり複雑ですが、その分高い表現力を持っています。
それぞれのパラメーターを変化させてみて、さまざまな表現をつくってみましょう!

記事をシェアしてワールド制作を盛り上げよう!