VRChat で Particle System を当たり判定として使っているときに見つけた仕様。
知らないとハマりがちなので、メモしておきます。
いつも通りの前提条件はこちら:
- Unity 2018.4.20f1 Personal
実験を行ったリポジトリはこちらにあります。
GitHub - mika-sandbox/Unity-ParticleSystem-NotWorkingStopAction
少し前の記事で解説しましたが、 Particle System の Stop Action を用いることで、
当たり判定を作る事が出来るのですが、一定条件を満たすと動作しなくなるらしい。
結論だけ言うと、 Particle System の Duration の値を十分小さくする必要がありました。
私の場合は、以下のように設定した場合はうまく動きました。
- Animation の再生時間は 1s
- Particle System の Duration を 0.1s
親パーティクルの発生時間がなぜ子パーティクルに影響を与えるのかは知りませんが、
とりあえずこれで解決したのでメモ。