質問: 刃物でオブジェクトを切る、メッシュカットスクリプトを使って オブジェクトを切り刻めるプロジェクトを作っています。 細かくオブジェクトを切断していくと、まれにエラーが発生するメッシュが生産されてしまうようで、 Non-convex MeshCollider with non-kinematic Rigidbody is no longer supported in Unity 5. If you want to use a non-convex mesh either make the Rigidbody kinematic or remove the Rigidbody component. Scene hierarchy path "right side", Mesh asset path "" Mesh name "Split Mesh Right" 上記のエラーが発生します。 生産されたオブジェクトに、MeshColliderをアタッチしているのですが、 その時に生産された非凸メッシュのオブジェクトにも、MeshColliderをアタッチしているのが問題なようです。 そこで、この非凸メッシュを検出して、その場合オブジェクトを削除してしまうスクリプトを組みたいのですが、 生産された非凸メッシュを検出する方法はなにかありますでしょうか?
回答: 単純にMeshColliderがconvexかどうかを判別するだけであれば、meshCollider.convexを参照してfalseであれば非凸です。 生産されたオブジェクトを取得するようなイベントがあれば、生産されたオブジェクトをobjとして、 ``` bool isConvex = obj.GetComponent().convex; ``` で判定することができます。