#子オブジェクトからRigidbody2Dを外す
Composite Collider2Dを使おうとしたら、親オブジェクトのInspectorに
"Outline geometry is composed of edges and will not preserve the original collider's center-of-mass or rotational inertia. The CompositeCollider2D is attached to a Dynamic Rigidbody 2D so you may need to explicitly set there if they are required."
という警告のような文章が出てきて、子オブジェクトのInspectorには
"This collider will not function with a composite until there is a CompositeCollider2D on the GameObject that attached Rigidbody2D is on."
という警告が出てきたときの解決法は、
**「子オブジェクトからRigidbody2Dを外す」
**こと
です。
親オブジェクトにRigidbody2Dがすでにあるはずなので子オブジェクトにはRigidbody2Dは要らないということですね。
#おわりに
子オブジェクトのRigidbody2Dをはずしていなかったことが原因でComposite Collider2Dが使えずに挫折した人も多いかもしれません。この記事が少しでもそういう人たちに読んでもらえたらとても嬉しいです。
私も最初は挫折したうちの一人でした。ですが、ゲーム制作をしている途中でどうしてもComposite Collider2Dを使いたい場面が出てきて、そこで色々と試してこの問題を解決することができました。
最初はInspector内に出てきた警告文をGoogle翻訳で解読しようとしましたが、意味不明な文章にしかならず、翻訳せずに直接検索してみても欲しい答えが見つからず、とても苦労した思い出があります。
誰かにきけばすぐに分かったかもしれませんが、私にはそんな当ても勇気もなくただただ一人で抱え込んでいました。
そんな人のために私はこの記事を書きました。
もしここまで読んで、何か文句があるなら、ここまで読んだ自分自身を責めてください。
もしここまで読んで、共感してくださったなら、ありがとうございます。