- 494 名前:名前は開発中のものです。 mailto:sage [2016/05/20(金) 20:57:55.85 ID:imTmdaD1.net]
- >>488
MeshColliderをconvexにした場合そうなる。 convexというのは凸包という意味だ。 RigidBodyをつける場合にはこれにしなければならない。 なぜそういうことになるかというと凸包でない剛体のモーメント計算など リアルタイムではやってられないからだ。 またメッシュコライダー同士の衝突も少なくとも片方は凸包にしなければならないのは やはり計算が爆発的に増えるからだ。 MeshColliderの中身は推測するしかないが恐らく一面一面をコライダーとしている。 つまり100トライアングルのメッシュを使うということは100個コライダーをつけるということだ。 二つの100トライアングルメッシュ同士で衝突計算した場合1万回の衝突判定が行われることになる。 こういったことはリアルタイムゲームではやってられないので そういうのは最初から無しにしようというのがUnityの仕様。 だからその事例でその形に判定をとりたかったら Colliderに使うメッシュをあらかじめ凸包要素に分割した上で 複数のMeshColliderを使うくらいしか方法はない。 勿論Convexにしなくていい、という事情があればそれだけでもいい。
|

|