この記事では、Particle Systemの各モジュールの種類や使い方について説明します。
Particle Systemの解説はUnityの公式HPに詳細なドキュメントがありますが、本記事では動画を用いて直感的に理解することを目指します。
※今回使用したUnityのバージョンは、2019.3.6fです。
- 1 Particle Systemモジュールの説明
- 2 Emissionモジュールの説明
- 3 Shapeモジュールの説明
- 4 Rendererモジュールの説明
- 5 Size over Lifetimeモジュール説明
- 6 Color over Lifetimeモジュールの説明
- 7 Force over Lifetimeモジュールの説明
- 8 Limit Velocity over Lifetimeモジュールの説明
- 9 Velocity over Lifetimeモジュールの説明
- 10 Rotation over Lifetimeモジュールの説明
- 11 Trailsモジュールの説明
- 12 Noiseモジュールの説明
- 13 Collisionモジュールの説明
- 14 Sub Emittersモジュールの説明
- 15 Lightモジュールの説明
- 16 Inherit Velocityモジュールの説明
- 17 STYLYにアップロードする方法
Particle Systemモジュールの説明
Particle Systemモジュールの基礎についてはこちらの記事を参考にしてください。
Emissionモジュールの説明
Emissionモジュールは、Particleの量や放出のタイミングを決めます。
Rate over Distanceの数値を10にすると、Particleが一定距離移動するごとに10のParticleが放出されます。
Burstsでは、一定時間ごとにParticleを大量に放出する設定ができます。
Shapeモジュールの説明
Shapeモジュールは、Particleを放出する形状を設定できます。
Shapeのプルダウンから形を選択します。
Rendererモジュールの説明
Particleの形状や影を設定できます。Render ModeでMeshを選択し、Meshのプルダウンから形状を選択します。
Meshでは、Defaultで入っているCube等の形状のほかに、自分で作成したMeshやAsset StoreからImportしたMeshを使用できます。
Rendererモジュールでは、Materialを変更することもできます。
Size over Lifetimeモジュール説明
Size over Lifetimeモジュールでは、Particleの大きさを時間経過により変更することができます。
Curveの設定もできるので大→小→大のような表現もできます。
Color over Lifetimeモジュールの説明
Color over Lifetimeモジュールでは、時間経過でColorとα値を変化させることができます。
Force over Lifetimeモジュールの説明
Force over Lifetimeモジュールでは、Particleに風の影響を受けたような表現を追加することができます。
例えば、画像のように設定すると右に向かって風が吹いているようになります。
Limit Velocity over Lifetimeモジュールの説明
Limit Velocity over Lifetime モジュールでは、Particleの動きを減速させることができます。
これにより、空気抵抗のような表現を実装することができます。
Limit Velocity over LifetimeモジュールのSpeedでは、空気抵抗を受けて減速した結果のSpeedを入力します。
Dampenは空気抵抗の大きさです。
Start Speedを20、Limit Velocity over LifetimeモジュールのSpeedを0、
Dampenを0.1に設定すると、20のSpeedが徐々に0に近づき最後には停止します。
Velocity over Lifetimeモジュールの説明
Velocity over Lifetimeモジュールでは、速度に加える力を制御することができます。
y軸をCurveに設定するとParticleの動きに高低差をつけることができます。
渦のような表現をすることもできます。
Orbitalを5、Radialを1に設定します。
Particleの発生数を1、TrailsをONにして渦を表現しています。
Rotation over Lifetimeモジュールの説明
Rotation over Lifetimeモジュールでは、Particleを時間経過に沿って回転させることができます。
Separate AxesをチェックするとX軸、Y軸、Z軸それぞれの回転軸で回るように設定できます。
Trailsモジュールの説明
TrailsモジュールをONにすると、Particleが通った跡を表示することができます。
Materialの設定は、Rendererモジュールから行います。
RendererモジュールのRenderer ModeをNoneに設定すると、デフォルトで表示されていたParticleが非表示になり、Trailのみ表示されます。
TrailsモジュールのTypeをRibbonにすると、Particleの粒同士を線で繋いだ表現をすることができます。
Particleの生成数を4に設定し、TrailsモジュールのModeをRibbon、Ribbon Countを2に設定します。
Noiseモジュールの説明
NoiseモジュールをONにすると、Particleに不規則な動きを追加することができます。
Noiseの動きはTrailsを表示すると確認しやすくなります。
TrailsをONにし、Noiseの強さを制御するStrengthを4にすると次の動画のようになります。
Collisionモジュールの説明
Collisionモジュールは、Particleが他のオブジェクトと衝突したときの挙動を制御します。
ONにすると、オブジェクトと衝突したときの物理挙動を表現できます。
CollisionモジュールのTypeをWorldに設定すると、シーン上に存在するコライダーを持つほかのオブジェクトとの衝突が可能になります。
Bounceでは、衝突したときの衝撃の大きさを設定します。値が小さいほど、衝撃が小さいです。
Sub Emittersモジュールの説明
Emitterとは、Particleの発生地点のことです。Sub EmittersモジュールではEmitterを追加することができます。
追加の条件には、Birth、Collision、Deathなどがあります。Collisionの条件を適用してみます。
CollisionモジュールのTypeをWorldに設定します。
シーンには、衝突させたいオブジェクトを設置します。
Sub EmittersモジュールをCollisionに設定し、衝突したら発生させるParticleを設定します。
Lightモジュールの説明
Lightモジュールを設定すると、Particleを発光させることができます。
LightモジュールのLightに、ヒエラルキーウィンドウのPoint Lightを選択し、Intensity Multiplierを0.5に設定すると次の動画のようになります。
Inherit Velocityモジュールの説明
Inherit Velocityモジュールは、Particle Systemを子階層にしているときに、親オブジェクトの速度を考慮した動きをParticle Systemに与えることができます。
Inherit Velocityモジュールを使用するときは、Simulation SpaceをWorldに設定します。
Multiplierが1より小さい場合は、子階層にあるParticleが親オブジェクトに追従します。
Multiplierが1より大きい場合は、子階層にあるParticleが親オブジェクトより速く進みます。
Particleの各モジュールについての概要を、動画を用いて紹介しました。
奥が深い部分なので、色々カスタマイズしてみると、面白い表現が見つかりそうです。
STYLYにアップロードする方法
3DモデルをSTYLYにアップロードしてみましょう。
アカウント作成方法
STYLYにアップロードする方法
UnityからSTYLYにアップロードする方法