エフェクト

エフェクトのはじめかた Unity(初心者向け)Particle System入門

皆さんこんにちは!LunchTime広報部です!!

本記事では、エフェクトに興味がある人やエフェクトデザイナーを目指したいけど、何から始めたら良いかわからない人に向けて、UnityのParticle System(Shuriken)の基本概念から基礎的な使い方までを解説します。

エフェクトデザイナーを目指す方にとって、UnityのParticle Systemは欠かせないツールの1つです。習得すれば、炎、煙、魔法、爆発など、さまざまなゲームエフェクトを作成できるようになります。
沢山の機能があるので、まずは最初は簡単なところから始めてみましょう!

1. Particle Systemとは?

Particle System(Shuriken)は、Unityの基本機能の1つで、小さなパーティクル(粒子)を大量に発生させ、動かすことでリアルなエフェクトを表現する仕組みです。パーティクルを時間経過とともに色やサイズを変化させたりすることで視覚効果を表現することができます。また物理演算を適用することで風や重力の影響を受けることもできます。

2. UnityでParticle Systemを作成する

それでは、早速UnityでParticle Systemを追加してみましょう。
Unityの導入については過去のブログで紹介していますので、そちらも参考にしてください!
https://lunch-inc.jp/blog/unity_install/

2.1. 新しいParticle Systemを追加

基本的な流れを以下に記しました。

  1. Unityを開き、GameObjectメニューから Effects → Particle System を選択。
  2. シーンに「Particle System」というオブジェクトが追加される。
  3. インスペクターで設定を変更してカスタマイズ。

2.2. 基本設定

Particle Systemには多くのパラメータがありますが、今回は基本的なもの絞ってを紹介します。
実際にパラメータの値を変えながら色々試してみましょう!

  • Duration(持続時間): パーティクルの持続時間。
  • Looping(ループ): 繰り返し再生するかどうか。
  • Start Lifetime(寿命): 各パーティクルが生存する時間。
  • Start Speed(初速度): パーティクルの初速。
  • Start Size(サイズ): パーティクルの初期サイズ。
  • Start Color(色): 初期色。
  • Gravity Modifier(重力影響度): パーティクルに重力を適用する割合。
  • Max Particles(最大パーティクル数): 一度に表示されるパーティクルの最大数。

Duration(持続時間)

Particle Systemの持続時間です。時間は秒単位で調整が可能です。
Loopingにチェックが付いているとシステムが持続し続けるので、秒数を指定したい時はチェックを外しましょう。
またParticle Systemの持続時間と発生したパーティクルの寿命とは別なので注意してください。
※値を「1」にすると一秒だけシステムが持続する。

Looping(ループ)

チェックを付けるとParticle Systemがループ再生し続けます。
Durationで設定した時間を1サイクルとしてループ再生します。
チェックを外すとループ再生しなくなり、Durationの時間が経過するとParticle Systemが停止します。

Start Lifetime(寿命

パーティクルの最初の生存期間を設定できます。
値が「1」の場合Particle Systemからパーティクルが発生してから、1秒間生存しその後停止します。

右端の下三角のメニューから「Constant(一定値)」「Curve(曲線)」「Random Between Two Constants(2つの値の範囲内でランダム)」「Random Between Two Curve(2つの曲線の範囲内でランダム)」のいずれかを選択することができます。
※「Random Between Two Constants(2つの値の範囲内でランダム)」にして「1」「5」に値を設定すると1~5秒のランダムな寿命のパーティクルが発生する。

Start Speed(初速度)

パーティクル発生時の放出速度の速さを設定することができます。
値が大きいほど早く、小さいほどゆっくりと放出されます。
Start Lifetimeと同じように右端の下三角のメニューから「Constant(一定値)」「Curve(曲線)」「Random Between Two Constants(2つの値の範囲内でランダム)」「Random Between Two Curve(2つの曲線の範囲内でランダム)」のいずれかを選択することができます。
※「Random Between Two Constants(2つの値の範囲内でランダム)」にして「1」「5」に値を設定すると1~5のランダムな速さのパーティクルが発生する。

Start Size(サイズ)

パーティクル発生時の大きさを設定することができます。
上段の「3D Start Size」にチェックを付けると、X,Y,Zのそれぞれの軸ごとにサイズを設定することができます。

Start Lifetimeと同じように右端の下三角のメニューから「Constant(一定値)」「Curve(曲線)」「Random Between Two Constants(2つの値の範囲内でランダム)」「Random Between Two Curve(2つの曲線の範囲内でランダム)」のいずれかを選択することができます。
※「Random Between Two Constants(2つの値の範囲内でランダム)」にして「1」「5」に値を設定すると1~5のランダムな大きさのパーティクルが発生する。

Start Color(色)

パーティクル発生時の色を設定することができます。
初期設定は白に設定されています。色のついた四角をクリックすることで、カラーピッカーが開き好きな色に設定する事ができます。

右端の下三角のメニューから「Color(単色)」「Gradient(グラデーション)」「Random Between Two Colors(2つの色でランダム)」「Random Between Two Gradient(2つのグラデーションでランダム)」「Random Color(選択したグラデーションでランダム)」のいずれかを選択することができます。

Gravity Modifier(重力影響度)

パーティクルに対して重力を設定することができます。
初期設定は0に設定されています。(無重力)値を+にすると下向きに重力がかかり、値を-にすると上向きに重力が働きます。
値が大きいほど、パーティクルにかかる重力が強くなります。
右端の下三角のメニューから「Constant(一定値)」「Curve(曲線)」「Random Between Two Constants(2つの値の範囲内でランダム)」「Random Between Two Curve(2つの曲線の範囲内でランダム)」のいずれかを選択することができます。

Max Particles(最大パーティクル数)

表示するパーティクルの最大数を設定できます。入力した値以上のパーティクルは発生しません。
初期設定は1000に設定されています。発生している数はScene ViewのParticlesタブで確認することができます。

3. モジュールを活用してエフェクトを作成

Particle Systemはモジュールを追加・変更することでさまざまな表現が可能です。
※説明すると膨大になるので、ここからは簡易的に紹介します。

3.1. Shape(形状)

  • Cone(円錐): 炎や噴射系のエフェクトに適用。
  • Sphere(球): 爆発や煙に適用。
  • Box(ボックス): 雨や雪のエフェクトに適用。
  • Mesh(メッシュ): 任意の3Dオブジェクトの形状に沿ったエフェクトを作成可能。

3.2. Color over Lifetime(時間経過で色を変える)

  • パーティクルの色を時間とともに変化させ、よりリアルな表現に。

3.3. Size over Lifetime(サイズ変化)

  • パーティクルの大きさを時間経過で変え、消えていくような効果を演出。

3.4. Noise(ノイズ)

  • ランダムな動きを追加して、より自然なエフェクトを作成。

3.5. Velocity over Lifetime(速度変化)

  • 時間とともに速度を変化させ、重力や風の影響を疑似的に作り出すことが可能。

3.6. Rotation over Lifetime(回転)

  • パーティクルを回転させ、より動的なエフェクトを作成。

4. 応用テクニック

4.1. テクスチャを使用する

カスタムテクスチャを適用すると、より独自性のあるエフェクトを作成できます。

  1. Material を作成し、Shaderを Particles/Unlit に設定。
  2. 任意のテクスチャを適用。
  3. Particle Systemの Renderer モジュールでこのMaterialを設定。

4.2. Sub Emitters(サブエミッター)

  • 爆発時にさらに細かい破片を出すなど、パーティクル同士を連携させる。
  • 親パーティクルが消えたときに新しいエフェクトを発生させる。

4.3. Collision(衝突)

  • 地面やオブジェクトと衝突させることで、よりインタラクティブなエフェクトを作成。
  • Collision Mode を "World" に設定すると、他のオブジェクトと衝突可能。

4.4. Trail(軌跡)

  • パーティクルの動きを視覚化し、流れるようなエフェクトを作成。

4.5. Light(発光)

  • パーティクルが発光し、周囲のライティングに影響を与える。

5. まとめ

本記事では、エフェクトに興味がある方や今からエフェクトデザイナーを目指したい方向けに、UnityのParticle Systemのシステム概要と初歩的な機能をいくつかご紹介いたしました!

UnityのParticle Systemの基本設定を理解し、モジュールを組み合わせることで、色んなエフェクトを作れるようになります。

エフェクトに興味がある方は、UnityのParticle Systemを使って簡単なエフェクトから制作を始めてみるのはいかがでしょうか!

それでは次回もお楽しみに~!

-エフェクト