質問: ParticleSystemの粒子にSphereのようなオブジェクトを設定して、粒子の当たり判定とすることで粒子同士の衝突ができるのではと考えています。 発生する粒子にSphereなどのゲームオブジェクトを設定することは可能でしょうか?また、発生した粒子に追従のようなことは可能でしょうか?
回答: パーティクルに3Dモデルを使うことは一応できるのですが(参考:【Unity】パーティクルにモデルを使いたい - テラシュールブログ)、やはり粒子同士の衝突はサポートしていないようです。多数の粒子が相互に衝突するというのは、衝突の組み合わせが急激に増大しますので、かなりの負荷がかかってしまいます。そのため標準では対応していないのだろうかと思います。 Unity標準のパーティクルシステムは諦めて、自前で作る(ちょっと難しめのチャレンジだと思います...いかに計算量を削減するかが肝心ですが、パーティクルシステムの代わりに、Rigidbodyを付けたオブジェクトを大量に発射した場合よりも高速に動作するものを作れるかと言われますと、自信はありません)か、アセットを探すかした方がいいかもしれません。 参考1:CEDEC 2007 - NVIDIA、DirectX 10世代の流体力学技術とスキンシェーダについて解説 (1) 3Dゲームにも採用されつつある流体物理シミュレーション | マイナビニュース 参考2:爆発火炎の粒子ベースビジュアルシミュレーション法 参考3:流体シミュレーションによる炎の形状制御(PDF) 参考4:GitHub - Scrawk/PBD-Fluid-in-Unity: A PBD fluid in unity running on the GPU