■ このスレッドは過去ログ倉庫に格納されています
【3Dゲームエンジン】Unity質問スレッド24
- 489 :名前は開発中のものです。:2016/05/20(金) 20:57:55.85 ID:imTmdaD1.net
- >>488
MeshColliderをconvexにした場合そうなる。
convexというのは凸包という意味だ。
RigidBodyをつける場合にはこれにしなければならない。
なぜそういうことになるかというと凸包でない剛体のモーメント計算など
リアルタイムではやってられないからだ。
またメッシュコライダー同士の衝突も少なくとも片方は凸包にしなければならないのは
やはり計算が爆発的に増えるからだ。
MeshColliderの中身は推測するしかないが恐らく一面一面をコライダーとしている。
つまり100トライアングルのメッシュを使うということは100個コライダーをつけるということだ。
二つの100トライアングルメッシュ同士で衝突計算した場合1万回の衝突判定が行われることになる。
こういったことはリアルタイムゲームではやってられないので
そういうのは最初から無しにしようというのがUnityの仕様。
だからその事例でその形に判定をとりたかったら
Colliderに使うメッシュをあらかじめ凸包要素に分割した上で
複数のMeshColliderを使うくらいしか方法はない。
勿論Convexにしなくていい、という事情があればそれだけでもいい。
総レス数 1006
312 KB
新着レスの表示
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver.24052200