実現したいこと
現在、Unityで2Dの横スクロールアクションゲームを作成しています。
そこでゲームの処理として、オブジェクト間の衝突力によって処理を分岐させたいと思っています。実現したい具体的な処理としては、プレイヤーに対して一定以上のインパクトが加わった時、ダメージを受けるといった処理です。
調べたこと・分からないこと
衝突した時のインパクトを取得する方法について調べたところ、以下のようなコードを見つけました。
C#
1 private void OnCollisionEnter(Collision collision) 2 { 3 float collisionForce = collision.impulse.magnitude / Time.fixedDeltaTime; 4 5 if(collisionForce > 200.0f) 6 { 7 Die(); 8 } 9 }
【Unity】衝突時のインパクト力を取得する方法
https://ymgsapo.com/2021/02/12/unity-impact-power/
上記のコードは、自分が実現したいものとほぼ同等なもので、Collision.impulseによってインパクトの取得と受け渡しを行っていますが、どうやら自分が調べた限りでは、Collision2Dには代替できる機能が存在しないということが分かりました。最終的にはこのような処理を行いたいのですが、結局インパクトの取得と受け渡し方法が分かりませんでした。
解決策やヒント等がありましたら、よろしくおねがいします。
