今回はParticle Systemを使って、空気中の埃に光が当たっているような表現をつくってみましょう。


パラメータ設定
今回設定するパラメータの一覧を掲載します。
後ほどひとつひとつ解説していくので、まずは同じように設定してみてください!
- Hierarchyを右クリック、または上部メニューのGameObjectから、Effect>Particle Systemを選択して新しいParticle Systemオブジェクトを作成します。
- Particle SystemのInspectorで、パラメータを以下のように設定します。Shape, Color over Lifetime, Noiseの各モジュールにチェックがついて有効になっていることを確認してください。
- Start Speed:0
- Start Size:0.02
- Shapeモジュール
- Emit From:Volume
- Color over Lifetimeモジュール
- Color:透明→白→透明(後述)
- Noiseモジュール
- Strength:0.05

Color over Lifetimeモジュールの設定で使うGradient Editorの操作について説明します。
- 入力欄をクリックするとGradient Editorが開き、色と透明度の変化を設定できます。
カラーバーの上側に透明度のキー、下側にカラーのキーがあり、設定するとParticleの色が左から右に変化していきます。- 五角形のキーをクリックし、その下の「Color」または「Alpha」の項目でキーの値を設定できます。
- また、キーをドラッグで移動したり、キーのない位置をクリックすることで新しいキーを追加したりといったこともできます。

設定できたら実行して見た目を確認してみましょう。小さな塵が舞っているのが分かります。

各パラメータの解説
ここから各パラメータについて解説していきます。
パラメータをいじると、どんな変化が起きるのかを実際に操作しながら試してみてください。
埃の流れを変える──Start Speed
Particleが発射された時の速度を設定します。
今回は空気中をバラバラに漂う埃なので0にして、後述のNoiseで動きをつくります。風を表現したい場合は0より大きい値にして、一方向への流れをつくってみてもいいでしょう。

埃の大きさを変える──Start Size
Particleの大きさを設定します。

埃の発生範囲を変える──Shapeモジュール
Particleの発生範囲を設定します。詳しくは後述します。
埃の色・透明度の変化を設定する──Color over Lifetimeモジュール
Particleが生成された時から消滅するまでの間、色がどのように変化するかを設定します。今回はアルファ値(不透明度)を変化させ、ふんわりと現れて消えるようにしています。
埃にランダムな動きをつける──Noiseモジュール
Noiseモジュールを使うと、Particleの動きにランダムな揺らぎを与えることができます。
Strengthで影響力を変化させることができ、大きな値にすると動きの振れ幅が大きくなります。

発生範囲を変えてみよう
ShapeモジュールでParticleの発生範囲を設定できます。初期設定では円錐状に広がるようになっていますが、他にも様々な形状があります。形状ごとに設定項目が異なるので、その一部を紹介します。
Particleを発生させたい範囲に合わせて形状を設定してみましょう。
- 発生範囲の形状はShapeモジュールの「Shape」で選択肢から選ぶことができます。
- 初期設定の「Cone」から「Box」に変更してみましょう。
- Boxにすると1m×1m×1mの立方体からParticleが発生するようになります。Scaleで大きさを変えてみましょう。位置や角度も変更できます。
- Scaleを1, 1, 1に戻してから、今度はShapeを「Sphere」に変えてみましょう。今度は発生範囲が球体になります。
- SphereはRadiusの項目で半径を変えることができます。
- 初期設定の「Cone」から「Box」に変更してみましょう。

【発展編】もっと自然な表現にしてみよう
Particle Systemの各設定項目はランダムな値にすることができ、ひとつひとつのParticleにバラバラな大きさや速さなどを持たせることができます。
自然現象などの表現はランダム感があるとより自然になります。一工夫してみましょう。
- Start Sizeの入力欄の右側にある▼をクリックして、ConstantからRandom Between Two Constantsに変更します。
- 入力欄がふたつになるので、片方に0.02、もう片方には0.01を入力してください。
- こうすると、それぞれのParticleの大きさが0.01から0.02の間のランダムな値になります。
※小さくて分かりづらい場合は、0.1から0.5など大きな値で実験してみてください。
- こうすると、それぞれのParticleの大きさが0.01から0.02の間のランダムな値になります。
- 入力欄がふたつになるので、片方に0.02、もう片方には0.01を入力してください。
- 同様に、Start Lifetimeも5から10でランダムになるようにしてみましょう。
以下が比較画像です。左側が一定値の場合、右側がランダムにした場合です。
微妙な違いではありますが、ランダムにした方がParticleの大きさや浮遊時間にばらつきが出て、より自然な演出になっています。

【おまけ】色々な表現に応用してみる
今回つくった「ランダムに飛び回る光」を応用した別の表現を紹介します。
- ここまでに紹介した設定に加えて、さらに以下のように設定を変更してみてください。
- Start Size:0.1(Constant)
- Start Color:黄色または黄緑色
- Noiseモジュール
- Strength:0.1
このように設定すると、蛍の光のような表現になります。背景を夜空にしてみると、これだけでも雰囲気が出ます。

EmissionやShapeを調整するほか、マテリアルを変えてみたり、Color over Lifetimeのキーを増やして点滅させてみたりするとよりクオリティがアップするでしょう。
今回はParticle Systemを使って光が当たった埃の表現を作成する方法を紹介しました。
Particle Systemはランダムな動きを簡単につくることができます。様々な設定を試してみましょう。