スポンサーリンク
ゲーム制作チュートリアル

Unityのパーティクルエフェクト入門|爆発・煙・キラキラ演出を作る基本の全手順

ゲーム制作チュートリアル

Unityでゲームやアプリを作っていると、「爆発シーンをもっと迫力あるものにしたい」「煙がふわっと立ち上るような演出を入れたい」と感じる場面が出てきませんか。そんなときに頼りになるのが、Unityに標準で搭載されているパーティクルシステムです。

この記事では、爆発・煙・キラキラという3つの代表的な演出を、Inspectorの設定だけで作っていく手順をひとつずつ紹介していきます。プログラミングの知識がなくても、設定項目を順番に追っていけば形になる内容なので、ぜひ手元のUnityを開きながら読み進めてみてください。


Particle Systemとは?基本の仕組みと作り方

Particle Systemは、大量の小さな粒(パーティクル)を同時に動かすことで、炎や煙、水しぶきといった通常のメッシュでは表現しづらいものを再現できる機能です。1つ1つの粒はシンプルな画像ですが、それが何十個・何百個と重なり合うことで、複雑で自然な動きに見えてくるというイメージを持っておくとわかりやすいと思います。

操作自体はInspectorウィンドウの数値を変えるだけなので、スクリプトを書けなくても直感的に演出を組み立てられるのが大きな特徴です。まずは、そのベースとなるオブジェクトを作るところから始めましょう。

Hierarchyからパーティクルシステムを作成する手順

パーティクルの演出を作るには、まず土台となるオブジェクトをシーンに配置する必要があります。以下の手順で作成してみてください。

  1. Unityエディタの「Hierarchy」ウィンドウで右クリックする(または上部メニューの「GameObject」を選択する)
  2. 「Effect」から「Particle System」を選択する
  3. 「Scene View」上に白い粒状のアニメーションが表示されれば作成完了

この時点ではまだ白い粒が漂っているだけの状態ですが、ここから先の設定で爆発や煙といった具体的な演出に変化していきます。

発生位置を工夫したいときは、こちらの記事も参考にしてみてください。

Module・Lifetimeなど基本用語のイメージ

Particle Systemを開くと、Main・Emission・Shapeといった項目がずらりと並んでいて、最初は戸惑ってしまうかもしれません。これらは「モジュール」と呼ばれる設定のかたまりで、それぞれが粒の異なる性質を担当していると考えるとイメージしやすくなります。

たとえば、粒が生まれてから消えるまでの寿命を決めるのがLifetime、どんな形の範囲から発生させるかを決めるのがShapeという役割分担です。全部を一度に理解しようとせず、次の見出しから実際に演出を作りながら、ひとつずつ役割を覚えていくくらいの感覚で大丈夫です。




爆発エフェクトの作り方|基本設定とバースト発生

爆発の演出は、「一瞬で大量の粒を放出すること」と「放出後にすぐ勢いを失わせること」の2点を押さえれば、思っているよりシンプルに再現できます。ここでは、Main・Emission・Shape・Velocity over Lifetime・Size over Lifetimeという5つのモジュールを順番に設定していきます。

Main・Emissionモジュールの設定(Bursts)

まずは爆発の土台となる基本パラメータと、粒を一気に放出する仕組みを作っていきましょう。

  1. Mainモジュールで「Start Lifetime」を1に設定する(爆炎が消えるまでの時間)
  2. 「Start Speed」を0にする(速度は後のモジュールで制御するため)
  3. 「Start Size」を5程度に設定する(爆発の規模)
  4. 「Start Color」を赤やオレンジに設定する
  5. 「Looping」のチェックを外す(1回限りの爆発にするため)
  6. Emissionモジュールで「Rate over Lifetime」を0にする
  7. 「Bursts」の「+」ボタンで項目を追加する

Rate over Lifetimeを0にしたうえでBurstsを使うのがポイントです。この組み合わせによって、じわじわ発生するのではなく、一瞬でドンと放出される爆発らしい動きになります。

Shape・Velocity over Lifetimeで広がりを作る

次は、放出された粒がどの方向に、どんな勢いで広がっていくかを設定します。

  1. Shapeモジュールで「Shape」を「Sphere」に設定する(球状に広がるようにするため)
  2. Velocity over Lifetimeモジュールを開き、「Radial」の右端にある「▼」から「Curve」を選択する
  3. 「Curve Editor」で右下がりの曲線(初速が速く、徐々に減速する形)を選び、最大値を5に設定する

ワンポイント

右下がりの曲線を選ぶことで、爆発の瞬間は勢いよく飛び散り、時間が経つにつれて自然に失速していく動きになります。曲線の形を右上がりにしてしまうと、逆にどんどん加速する不自然な爆発になるので注意してください。

Size over Lifetimeで消滅を自然にする

最後に、粒が消えていくときの見た目を整えて、爆発の余韻を表現します。

  1. Size over Lifetimeモジュールを開く
  2. 「Size」を「Curve」設定にする
  3. 右下がりの曲線を選択する(消滅に向けて徐々に小さくなるようにするため)

これで、放出直後は大きく見えていた粒が、時間経過とともにすっと小さくなりながら消えていく、爆発らしい仕上がりになります。ここまでの5つのモジュールを一通り設定すれば、基本的な爆発エフェクトは完成です。




煙エフェクトの作り方|上昇と揺らぎの表現

煙の演出は、爆発とは逆に「ゆっくり」がキーワードになります。1点から発生させ、上向きにふわっと浮かせながら、揺らぎを加えていくというイメージで、Main・Shape・Size over Lifetime・Noise・Trails・Rendererの6つのモジュールを設定していきます。

Main・Shapeモジュールの設定(発生源を1点にする)

まずは、煙が立ち昇る出発点と、動きのベースになる部分を作りましょう。

  1. Mainモジュールで「Start Speed」を0にする
  2. 「Start Size」を0.5にする
  3. 「Gravity Modifier」を-0.05(マイナスの値)に設定する(上方向への浮力を表現するため)
  4. Shapeモジュールで「Radius」を0.0001(最小値)に設定する(1点から発生させるため)

Gravity Modifierをマイナスにするのがポイントです。重力というと下向きの力をイメージしがちですが、値をマイナスにすることで逆に上へ持ち上げる力として働かせられます。

Noiseモジュールで揺らぎを加える

1点から真っ直ぐ上がるだけだと、煙というよりレーザーのような不自然な動きになってしまいます。ここにランダムな揺らぎを加えて、自然な広がりを作っていきましょう。

  1. Size over Lifetimeモジュールを開き、「Size」を右上がりの曲線に設定する(上昇とともに煙が広がる様子を表現するため)
  2. Noiseモジュールにチェックを入れて有効化する
  3. 「Strength」を0.05に設定する
  4. 「Frequency」を1に設定する
  5. 「Scroll Speed」を1に設定する

この3つの数値を入れることで、粒がまっすぐ進むのではなく、ふわふわと揺れながら上昇するような動きになります。

Trails・Rendererで軌跡を表現する

粒そのものを煙の塊として見せるのではなく、粒が通った軌跡を線としてつなげることで、よりもやもやとした煙らしい質感に近づけられます。

  1. Trailsモジュールで「Mode」を「Ribbon」に変更する(粒子間が線でつながるようにするため)
  2. 「Color over Trail」を「Gradient」にし、透明→白→透明の変化を設定する
  3. Rendererモジュールで「Render Mode」を「None」にする(元の粒を非表示にするため)
  4. 「Trail Material」に「Default-Line」などを設定する(軌跡のみを表示するため)

Render ModeをNoneにし忘れると、線でつながった軌跡と、元の粒の両方が同時に表示されてしまい、狙った煙の質感にならないので注意してください。

透明→白→透明というグラデーションの考え方は、煙以外の演出でも応用が効きます。UI要素をふわっと出し入れしたい場合は、こちらの記事も参考にしてみてください。

ここまでの設定で、1点からゆっくり立ち昇り、揺らぎながら消えていく煙のエフェクトが完成します。




キラキラエフェクトの作り方|ランダムな点滅と拡散

キラキラした演出は、爆発や煙とは違って「ランダムさ」がポイントになります。粒のサイズや向きを毎回バラバラにしつつ、点滅するように光らせることで、宝箱を開けたときやレベルアップ時のような華やかな見た目に近づけられます。ここではMain・Shape・Color over Lifetime・Size over Lifetimeの4つのモジュールを使います。

Main・Shapeモジュールでランダム性を出す

まずは、粒が画面上でバラバラの見た目・動きになるように設定していきましょう。

  1. Mainモジュールで「Transform」の「Rotation」を0にする(正面を向かせるため)
  2. 「Start Speed」を0にする(動きを止めるため)
  3. 「Start Size」の右にある「▼」から「Random Between Two Constants」を選択し、2つの数値を入力する
  4. 「Start Rotation」も同様に「Random Between Two Constants」に設定し、2つの数値を入力する
  5. Shapeモジュールで「Radius」を3程度に設定する(広い範囲に出現させるため)

Start SizeとStart Rotationをランダム設定にすることで、同じ形の粒が規則正しく並ぶのではなく、大きさも向きもバラバラなキラキラ感が生まれます。

Color over Lifetimeで点滅を表現する

キラキラらしさの決め手になるのが、光ったり消えたりを繰り返すような点滅表現です。

  1. Color over Lifetimeモジュールを開く
  2. グラデーション設定でアルファ値を「255」と「0」の間で変化させる

アルファ値を細かく上下させることで、粒が現れては消え、また現れるという点滅の動きが作れます。マテリアルの透明度を使った点滅表現は、パーティクル以外の場面でも使える考え方なので、あわせてこちらもチェックしてみてください。

Size over Lifetimeで浮遊感を加える

最後に、粒がふわっと浮かび上がるような浮遊感を足していきます。

  1. Size over Lifetimeモジュールを開く
  2. 右上がりの曲線に設定する(徐々に大きくなる変化を加えるため)

粒が生まれた直後は小さく、時間が経つにつれて少しずつ大きくなっていくことで、静止した点滅ではなく、ふわふわと浮かび上がるようなキラキラ感を演出できます。

これで、ランダムに漂いながら点滅するエフェクトの完成です。




リアルな質感を出すマテリアル・テクスチャ設定

ここまでの3つの演出は、モジュールの数値設定だけでも十分に形になりますが、使用するマテリアルやテクスチャを工夫すると、見た目のクオリティがぐっと上がります。特に発光系の演出と、素材の準備方法という2つのポイントを押さえておくと安心です。

Additiveシェーダーで発光表現を作る

炎や光のような、周囲を明るく照らすような演出を作りたい場合は、マテリアルのシェーダーを「Particles/Additive」(加算合成)に設定するのが効果的です。

加算合成は、粒が重なった部分をより明るく発光させる仕組みのシェーダーです。爆発の中心部分やキラキラエフェクトなど、光っている感じを出したい演出との相性が良いので、まずはこのシェーダーを試してみるのがおすすめです。

透過PNGテクスチャを準備する際の注意点

パーティクルに使う画像素材は、背景を透過させたPNG形式で用意するのが基本です。背景が透過されていない画像を使うと、粒の周りに不要な四角い枠が表示されてしまい、せっかくの演出が台無しになってしまいます。

自分で画像を用意するのが難しい場合は、Unity公式が無料で配布しているサンプル集を使ってみるのも1つの方法です。爆発や煙で使えるテクスチャがひとまとめになっているので、練習用の素材としても扱いやすいです。

もっと本格的な演出を探している場合は、有料のVFXアセットを探してみるという選択肢もあります。ジャンルやクオリティに応じて幅広いラインナップが揃っています。

自作の演出と既製アセットを組み合わせながら、プロジェクトに合った質感を探ってみてください。素材選びに迷ったときは、こちらの記事も参考になります。




移動オブジェクトに追従させるSimulation Spaceの使い分け

剣を振ったときに軌跡を出したい、車のマフラーから煙を出したいなど、動くオブジェクトにパーティクルを付けたいケースはよくあります。ただ、その場合はMainモジュールの「Simulation Space」という設定を見直さないと、思っていたのと違う動きになってしまうことがあります。

Simulation SpaceはデフォルトでLocalになっていて、これは発生源のオブジェクトを基準にして粒の位置が管理される設定です。演出が静止した状態で使う分には特に問題ないのですが、発生源そのものが動くシーンでは注意が必要です。

すでに放出された粒まで発生源の動きにつられて一緒に移動してしまうため、たとえば剣を振った軌跡を残したいのに、粒全体が剣と一緒にスライドしてしまうような、不自然な見た目になりやすいです。

この症状に心当たりがある場合は、以下の基準で使い分けを判断してみてください。

  • 発生源が動かない演出(爆発・据え置きの炎など)→ Localのままで問題ない
  • 発生源が動く演出(武器の軌跡、乗り物からの排気、キャラクターに追従するエフェクトなど)→ Worldに変更する

SimulationSpaceをWorldに切り替えると、一度放出された粒はワールド座標を基準に独立して動くようになります。発生源がどれだけ移動しても、すでに出た粒はその場に取り残されるような形になるため、軌跡や排気といった「置いていかれる感じ」を自然に表現できます。


演出を思い通りに調整する確認・微調整のコツ

ここまでの手順通りに設定しても、実際に再生してみると「思っていたのと少し違うな」と感じることがあると思います。そんなときに役立つのが、Playback Speedでの確認方法と、Gravity Modifier・Max Particlesという2つの数値の関係、そしてPrewarm機能です。

Playback Speedでスロー再生確認する

爆発のような一瞬で終わる演出は、通常再生だとどこがどう動いているのか把握しづらいものです。細かい動きを確認したいときは、再生速度を落としてチェックしてみましょう。

  1. 「Scene View」右下にあるプレビューパネルを表示する
  2. 「Playback Speed」の数値を下げる

速度を落として再生することで、粒がどのタイミングで広がり、どのタイミングで消えていくのかがはっきり見えるようになります。狙った通りの動きになっているか確かめながら、曲線の形や数値を微調整していくとスムーズです。

Gravity Modifierの符号とMax Particlesの関係

「Gravity Modifier」は、値が正か負かによって力の向きが変わる設定です。正の値なら下向き、負の値なら上向きに力が働き、絶対値が大きいほど影響も強くなります。煙のように浮かせたい演出ではマイナス、落下物のような演出ではプラスというように、狙いに応じて符号を使い分けてみてください。

もう1つ意識しておきたいのが「Max Particles」です。これは同時に画面上へ表示できる粒の最大数を指す設定で、この数値に達すると、古い粒が消えるまで新しい粒は生成されません。

数値通りに設定したはずなのに、途中から粒が生成されなくなったように見える場合は、Max Particlesの上限に達していないか確認してみてください。

デフォルトの数値以上に豪華なエフェクトにしたい場合は、このMax Particlesを増やす必要があります。ホラー演出のように画面いっぱいに粒を漂わせたいケースなど、ジャンルに応じた応用については、こちらの記事も参考にしてみてください。

Prewarmでループ開始時の不自然さをなくす

雪や霧のように、常に画面いっぱいに粒が漂っているような演出を作りたいとき、再生した瞬間はまだ粒が少なく、徐々に増えていくような状態になってしまうことがあります。この立ち上がりの不自然さを解消できるのが「Prewarm」機能です。

Prewarmは、Mainモジュールの「Looping」がオンになっている場合のみ使用できる設定です。有効にすると、再生を開始した瞬間からすでに粒が発生しきっている状態を再現できるため、シーンを読み込んだ直後から自然な密度の演出を見せられます。




よくある質問

Q
パーティクルの数が多いと動作が重くなるのはなぜですか?
A
同時に表示される粒の数が増えるほど、描画や計算の処理負荷が上がるためです。特にMax Particlesの上限を大きく増やした場合は、実機やスマホでの動作も確認しながら、必要以上に数を増やしすぎないよう調整することをおすすめします。
Q
スクリプトからパーティクルを再生・停止することはできますか?
A
はい、可能です。特定のタイミングだけ演出を出したい、条件によって止めたいといった場合は、スクリプトからの制御が必要になります。この記事ではInspector上での作り方に絞って紹介しているため、制御方法については別の機会に扱いたいと思います。
Q
Particle SystemとVFX Graphは何が違いますか?
A
この記事で紹介しているParticle Systemは、Inspectorの数値設定だけで扱える従来からの機能で、初めてパーティクルに触れる場合に取り組みやすいのが特徴です。一方のVFX Graphは、ノードをつなげてより複雑で高密度な演出を作れる仕組みで、表現の幅は広い反面、扱いにはもう少し慣れが必要になります。まずはParticle Systemで基本の考え方をつかんでから、必要に応じてVFX Graphに進んでいくのがおすすめです。

※当サイトはアフィリエイト広告を利用しています。リンクを経由して商品を購入された場合、当サイトに報酬が発生することがあります。

※本記事に記載しているAmazon商品情報(価格、在庫状況、割引、配送条件など)は、執筆時点のAmazon.co.jp上の情報に基づいています。
最新の価格・在庫・配送条件などの詳細は、Amazonの商品ページをご確認ください。

スポンサーリンク