VRChatプレイヤーによるParticle System解説 ~Collision Module編~
この記事はUnity 2019.4.29f1の記事です
External Forces, Noise Module編 << ここ >> Triggers, Sub Emitters Module編
はじめに
この記事はちょっとParticle System触れるようになったけどまだまだ知らないパラメーターだらけで抵抗感がある人向けにじゃあ全項目解説しようという記事です。
パーティクル?シェーダー?憧れるけどよくわかんない…という人は最近はVRCUnity勉強会などで初歩の初歩から解説してくれる講座などが解説されているのでそこに参加してみたりするといいでしょう。
その他にこの記事はアドベントカレンダーにしてParticle Systemの記事を増やしてパーティクルへの抵抗感を減らしてやろうという企みもあります。
Collision Moduleってどこ?
Collision
パーティクルがコライダーに衝突した時にどういう反応をするか決めるパラメーター
Type
デフォルト Planes
パーティクルがどこのコライダーにぶつかるか設定するパラメーター
ワールドのコライダーに反応させたいことが殆どだと思うのでその場合はWorldにする
Visualization
デフォルト Solid
TypeがPlaneの時のみ弄れる
コライダーがどういう見え方をするか決めるパラメーター
Scale Plane
デフォルト 1 (0~3.402823e+38)
コライダーの見え方の大きさを決めるパラメーター
あくまでどういう見え方になるかと言うだけなので実際の判定は無限にある
以下はWorld前提で解説
Mode
デフォルト 3D
2Dに切り替えれば2Dコライダーで扱えるようになるけど…そもそも3D前提の話なのでスルー
Dampen
デフォルト 0 (0~1)
単位 割合
パーティクルが衝突した際にどれくらいパーティクルのスピードが減るか決めるパラメーター
1にすると衝突したとこに留まる
Bounce
デフォルト 1 (0~2)
パーティクルがどれくらいの強さで跳ね返るか決めるパラメーター
0にすると衝突した表面を滑っていく
Lifetime Loss
デフォルト 0 (0~1)
単位 割合
パーティクルが衝突した際にどれだけ寿命が減るか決めるパラメーター
1にすると衝突した瞬間に消えるしLifetimeを長くしたパーティクルに0.2とか設定すれば4~5回跳ねて消えるパーティクルが作れる
Min/Max Kill Speed
デフォルト 0/10000
単位 m/s
パーティクルが衝突した際にこの数値より遅い/速いパーティクルは消される
Maxを0にしとけば衝突した瞬間に消えるしMinを設定すれば遅いパーティクルだけ消したりできる
Radius Scale
デフォルト 1 (0.0001~3.402823e+38)
単位 倍
パーティクル1つ1つの衝突判定の大きさ
下の方にあるVisualize Boundsで判定を見えるようにしながら調整するといい
Collision Quality
デフォルト High
パーティクルが動的なコライダーに衝突するかどうか決める設定
アバターにパーティクルを入れるならHighじゃないと何にも衝突しない
ワールドに入れてアバターに衝突させたいってのもHigh
ここではHighの場合のみ解説する
Collide With
デフォルト Everything
パーティクルがどのレイヤーに衝突するか指定するパラメーター
基本デフォルトでいいが19番目のレイヤーがメニューのレイヤーなのでそこを外すとメニューに当たらなくなる
Max Collision Shapes
デフォルト 256 (0~2,147,483,647)
同時に認識できる最大のコライダー数
まあデフォルトでいいけど増やすと負荷の原因になる
Enable Dynamic Colliders
デフォルト ON
動的なコライダーにパーティクルが衝突するか決めるパラメーター
Dynamic Boneは関係ない、デフォルトでいい
Collider Force
デフォルト 0 (0~3.402823e+38)
パーティクルがどれくらいの力でオブジェクトを押しのけるか決めるパラメーター
Rigidbodyが適用されてるオブジェクト(転がったりするやつ)を動かせる
Multiply by Collision Angle/Particle Speed/Particle Size
デフォルト ON/OFF/OFF
オブジェクトを押しのける力を衝突した角度/速度/サイズに比例させるパラメーター
速度はONのほうがよさげ
Send Collision Message
デフォルト OFF
パーティクルが衝突したことで何か起こるオブジェクトに対して衝突したサインを送るかどうか決めるパラメーター
これ入れてると対策してないギミック勝手に起動したりできちゃう
Visualize Bounds
デフォルト ON
パーティクルの衝突判定を可視化するかどうか決めるパラメーター
ONにしててもUnity上でしか見えないから困らない
おわり
ということでCollision Moduleでした
レイヤー周りの仕様は最近変わったのであんま詳しくないです
次はTriggers, Sub Emitters Moduleです
External Forces, Noise Module編 << ここ >> Triggers, Sub Emitters Module編
Author And Source
この問題について(VRChatプレイヤーによるParticle System解説 ~Collision Module編~), 我々は、より多くの情報をここで見つけました https://qiita.com/abcde_kind/items/38c2dd357145b14a686e著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .