Skip to content

第02回 パーティクル ​

前回: 第01回 オリエンテーション / 次回: 第03回 色と半透明の操作

今回の授業内容 ​

  • 発生数・寿命・速度が見た目に与える変化を、一項目ずつ確かめる
  • 一度に出す表現と出し続ける表現を作り分ける
  • 変更した設定と結果の関係を説明する

開始状態 ​

第01回のURPプロジェクトを使います。まだ作成していない場合は、制作環境の準備を先に行ってください。Lesson01.unityを開き、File > Save AsでLesson02.unityとして保存します。VFXのGameObjectは無効のままにします。

粒子と発生源 ​

粒の集まりで作るエフェクトのイメージ
AI生成のイメージです。今回のUnity実習の完成画面ではありません。

パーティクル(Particle)は画面に表示する小さな要素です。一つずつが位置・速度・大きさ・色・寿命を持ちます。エミッター(Emitter)は、その粒子を、いつ・どこへ・何個出すかを決める発生源です。

例えば発生源が毎秒10個を出し、各粒子が2秒生きるなら、しばらく後にはおよそ20個が同時に存在します。粒子が消えても発生源が動いていれば、新しい粒子が出続けます。

パーティクル・エミッター・トレイルの構成イメージ
AI生成の説明図です。Unityの設定画面や完成見本ではありません。

粒子が通った後に軌跡を残す表現をトレイル(Trail)と呼びます。粒子そのものの色や大きさに加えて、軌跡の色や太さでも動きを表せます。今回は粒子の発生と動きを扱い、軌跡の制作は第07回で学びます。

基本となるParticle Systemの作成 ​

PracticeParticlesがある場合はそれを使います。なければGameObject > Effects > Particle Systemで作成してください。名前をOneShotにし、PositionとRotationを(0, 0, 0)、Scaleを(1, 1, 1)にします。

Particle SystemのMainモジュールParticle SystemのMainモジュール

Inspectorの各まとまりをモジュール(Module)と呼びます。最上部のMainは初期値、Emissionは発生数、Shapeは発生位置と方向、Rendererは描画を担当します。今回は次の設定から始めます。

場所項目開始値と意味
MainDuration1秒。発生処理の区間
MainLoopingOff。発生区間を繰り返さない
MainStart Lifetime1秒。各粒子が生まれてから消えるまで
MainStart Speed3。初速の大きさ。単位はUnityの距離単位/秒
MainStart Size0.1。粒子の初期サイズ
MainPlay On AwakeOn。Play Mode開始時に再生する
MainStop ActionNone。比較中はGameObjectを残す
EmissionRate over Time0。時間当たりの連続発生を止める
EmissionBursts+で1行追加し、Timeを0、Countを12、Cyclesを1、Probabilityを1にする
ShapeShapeSphere。球形の範囲から発生させる
ShapeRadius0.1。発生する範囲を小さくする

Start Lifetimeなどの値にカーブや二値が表示されている場合は、項目横のメニューでConstantへ切り替え、表の数値を入力します。最初は乱数による違いを増やさず、設定と結果の対応を見ます。

Play Modeで、粒子がまとめて発生し、外へ動いて消えることを確認します。再確認するときはPlay Modeを終了し、もう一度開始します。Durationは各粒子の寿命そのものではありません。遅い時刻に生まれた粒子は、発生区間の終了後も残る場合があります。

一つの条件を変える比較 ​

OneShotを複製し、OneShotBaselineと名付けて無効にします。変更前の設定を残しておけば、迷ったときにInspectorを見比べられます。以下の変更はPlay Modeを終了してから行い、同じカメラで再生してください。

変更する値変更前→変更後予想すること比較後の復元
BurstのCount12→24発生範囲や速さを変えずに、数だけが増えるか12へ戻す
Start Lifetime1→2遠くまで残るか。初速も変わったように見えるか1へ戻す
Start Speed3→6同じ1秒で広がる距離がどう変わるか3へ戻す
Start Size0.1→0.2粒の移動と、画面を覆う面積のどちらが変わるか0.1へ戻す

数値を変える前に予想を書き、再生後に一致した点と違った点を記録します。寿命を長くすると、速さが同じでも遠くまで動く時間が増えます。見た目が似た変化でも、寿命と速度は別の量です。

ばらつきと寿命に沿った変化 ​

動きの基本を確認したら、全ての粒子が同じ状態になる設定から、粒子ごとに少しずつ違う設定へ広げます。初めに作ったOneShotBaselineを残し、次の項目を一つずつ試してください。

表現したい違い使用する設定確認すること
粒ごとに初速や大きさを変えるStart SpeedやStart SizeのメニューでRandom Between Two Constantsを選び、最小値と最大値を指定する同じ瞬間に発生した粒でも、広がる距離や大きさにばらつきが出るか
生まれた後で大きさを変えるSize over Lifetimeを有効にし、カーブを編集する寿命に沿って、一つの粒子が大きくなったり小さくなったりするか
生まれた後で色を変えるColor over Lifetimeを有効にし、Gradientを編集する一つの粒子の色が、発生時から消えるまでに変化するか

初期値のランダム化は「生まれる粒ごとの違い」、Lifetimeによる変化は「生まれた後の変化」です。カーブやGradientの横軸は、0が発生時、1が寿命の終わりを表します。Start Lifetimeが異なれば、同じカーブでも変化にかかる実時間は異なります。

各比較が終わったら、初期値はConstantと開始値へ戻し、追加で有効にしたモジュールは無効へ戻します。色と透明度を組み合わせた消え方は、次回詳しく扱います。

発生形状と画像の変更 ​

Shapeを変えると、粒子が生まれる範囲や飛び出す方向が変わります。現在のSphereとConeを切り替え、全方向へ広がる出方と、円錐に沿って方向を持つ出方を比べてください。発生数・寿命・速度は固定し、比較後はSphereへ戻します。Coneの向きが想定と違う場合は、Sceneビューの形状表示を確認します。

粒子に使う画像も印象を左右します。同じ動きでも、丸い粒、星、煙などの画像によって見えるものが変わります。画像の指定先は、Rendererに割り当てたMaterialです。Materialと半透明の設定手順は次回扱います。外部サイトやAsset Storeの素材を使う場合は、利用条件を確認し、出典を残してください。

最初から細かなタイミングまで調整するのではなく、まず作りたい動きを決め、発生・移動・消滅の流れを確認します。その後で、ばらつき、色、画像を調整すると、どの設定が見た目へ影響したかを追いやすくなります。

連続発生への変更 ​

一度出て終わる表現をワンショット、繰り返し続く表現をループと呼びます。次に連続発生を作り、一回の発生との違いを比べます。

ワンショットとループの用途を示すイメージ
AI生成の説明図です。火花・爆発・着地の土煙はワンショット、炎・煙・オーラ・雨などはループの用途例です。

  1. 復元したOneShotを複製し、LoopParticlesへ名前を変えます。OneShotは無効にします。
  2. LoopingをOnにし、EmissionのBurst行を削除します。
  3. Rate over Timeを10、Start Lifetimeを2にします。他の値はそのままにします。
  4. Play Modeで3秒以上待ち、新しい粒子が出続けることを確認します。
  5. Play Modeを終了してRate over Timeを20へ変更し、同じ時間で比較します。比較後は10へ戻します。

Loopingは再生区間を繰り返す設定であり、発生数を決める設定ではありません。Rate over TimeとBurstの両方が0なら、LoopingをOnにしても粒子は生まれません。

複数のParticle Systemによる構成 ​

一つのエフェクトが、一つのParticle Systemだけで作られているとは限りません。例えば爆発では、一瞬の発光、飛び散る火花、後に残る煙で役割が異なります。それぞれの発生方法や寿命を分け、重ね合わせることで一つの表現にします。

まず個々の粒子の役割を理解し、その後でワンショットとループを組み合わせます。全てを同時に表示して調整する前に、一つずつ有効・無効を切り替えると、何が見た目に寄与しているかを確認できます。

表示が違う場合の確認 ​

状態最初に確認する場所
一度も出ないEmissionが有効か。BurstのTime・Count、またはRate over Timeに発生設定があるか
出続けてしまうワンショットならLoopingがOffで、Rate over Timeが0か
見えたか分からないStart LifetimeとStart Sizeを開始値へ戻す
画面外へ飛ぶカメラを第01回の位置へ戻し、Shape・Start Speedを開始値と比べる

授業内課題 ​

ワンショットかループを一つ選び、火花や漂う粒など、伝えたい動きを決めて調整してください。まず一項目を変えて確認し、その後に必要な次の項目へ進みます。色とMaterialの詳しい調整は次回行います。

  • 選んだ発生方式で再生できる
  • 発生数・寿命・速度・サイズのうち二項目以上を調整し、それぞれの役割を説明できる
  • 条件を一つ変えた比較と、その結果を説明できる
  • SceneをLesson02.unityとして保存し、結果の画像または短い動画を提出している

Play Modeを終了して採用する値を保存します。OneShotとLoopParticlesは保存する直前に有効へ戻し、それぞれProjectのPrefabsへドラッグして保存します。保存後、SceneではLoopParticlesだけを有効に戻し、比較用のOneShotBaselineは無効のまま残します。次回は粒子の動きを固定して、色と背景への重なり方を比べます。