VRChatプレイヤーによるParticle System解説 ~Force over Lifetime, Color/Size/Rotation over Lifetime, by Speed Module編~


この記事はUnity 2019.4.29f1の記事です

Limit Velocity over Lifetime / Inherit Velocity Module編 << ここ >> External Forces, Noise Module編

はじめに

この記事はちょっとParticle System触れるようになったけどまだまだ知らないパラメーターだらけで抵抗感がある人向けにじゃあ全項目解説しようという記事です。

パーティクル?シェーダー?憧れるけどよくわかんない…という人は最近はVRCUnity勉強会などで初歩の初歩から解説してくれる講座などが解説されているのでそこに参加してみたりするといいでしょう。

その他にこの記事はアドベントカレンダーにしてParticle Systemの記事を増やしてパーティクルへの抵抗感を減らしてやろうという企みもあります。

Force over Lifetime, Color/Size/Rotation over Lifetime / by Speed Moduleってどこ?


ここ

Force over Lifetime

パーティクルにかかる力を決めるModule
スピードではなく力を決めるためその方向に加速し続けることになる
デフォルトでXYZで分かれてる
単位 m/s^2

Space

デフォルト Local
座標軸の基準をローカルかワールドにするか決めるパラメーター
Localはこのオブジェクト基準

Randomize

Two ConstantsあるいはTwo Curvesモードを使ってるときのみONにできる
力のかかる方向が毎フレーム変わるようにするパラメーター
OFFにしているとパーティクルが出た瞬間から変化しない

Color over Lifetime

Color

パーティクルが出てから消えるまでどのように色が変わるかグラデーションで決めるパラメーター

Color by Speed

Color

パーティクルの速度に応じてパーティクルがどういった色に変わるかグラデーションで決めるパラメーター

Speed Range

デフォルト (0,1)
上のグラデーションの横軸の範囲を決めるパラメーター

Size over Lifetime

Color over Lifetimeの大きさ版みたいな感じ

Separate Axes

デフォルト OFF
サイズをXYZに分けて制御するかどうか決めるパラメーター

Size

パーティクルが出てから消えるまでどのようにサイズが変わるかグラフで決めるパラメーター

Size by Speed

Size

パーティクルの速度に応じてパーティクルがどういった大きさに変わるか決めるパラメーター

Speed Range

デフォルト (0,1)
上のグラフの横軸の範囲を決めるパラメーター

Rotation over Lifetime

Separate Axes

デフォルト OFF
サイズをXYZに分けて制御するかどうか決めるパラメーター

Angular Velocity

デフォルト 45 (-3.402823e+38~3.402823e+38)
単位 度/s
1秒間に何度パーティクルが回転するか決めるパラメーター

Rotation by Speed

Angular VelocityをConstantにしているとRotation over Lifetimeとほぼ同じ挙動をする

Angular Velocity

デフォルト 45
単位 度/s
1秒間に何度パーティクルが回転するか決めるパラメーター

Speed Range

Angular VelocityをCurveにすると操作できるようなる
Curveの横軸を決めるパラメーター

おわり

というわけでForce over Lifetime, Color/Size/Rotation over Lifetime, by Speed Moduleの解説でした
似たような項目が続くしまとめちゃえってまとめましたがタイトルが散らかってますね、正規表現とか使えば良いんですがそれも伝わりづらいので苦肉の策です
次はExternal Forces, Noise Moduleです


Limit Velocity over Lifetime / Inherit Velocity Module編 << ここ >> External Forces, Noise Module編