パーティクルを地面のタイルへの接触で跳ねさせたり消したりしたいのですが、GPUParticles2Dのコリジョン設定にある「Rigid」も「Hide On Contact」も一切変化がなく、タイルもほかのコリジョンも貫通します。
どうやればコリジョン設定が機能するんでしょう?
タイルのほうは「SDF Collision」オンにしてもダメだけど、「LightOccluder2D」を使って「SDF Collisoin」をオンにすれば衝突機能しますね。
これしか方法ないのかな?
パーティクルのコリジョン>モードをRigid
タイル設定のレンダリング>オクルージョンレイヤー>SDF Collisionを有効
にすれば衝突するはずですが動作しないでしょうか?
サンプルプロジェクトのAdvanced Sample: Side-Scroller Mouse Shooterでは射撃時に薬莢パーティクル(gun_case.tscn)を出すようにしており、薬莢パーティクルはシーンのBaseLayerと衝突するように設定してあります、先程試してみましたが正常に動作しているようでしたので、参考になるかもしれません。
ご回答ありがとうございます。
タイル設定の方で「Occlusion Layer」のポリゴンを作ってなかったのが原因でした。
「Occlusion Layer 0」でポリゴンを作ったら普通に行けました。
1 Like
