そして、ここで別の質問があります。
前のものの後、私はついにkDopシステムと関連するすべてを完成させました。(kDopの階層ツリーなど。)すべてが正常に機能します。
ここで、デバッグ目的で衝突を画面に描画し、作業の結果を確認したいと思います。(特定のモードで行った階層的な選択が適切かどうかを確認するには)
AABB / Sphereの場合、問題はありません。作成は非常に簡単です。問題はkDOPにあります...
私は持っています :
軸
(1,0,0)(0,1,0)(0,0,1)(1,1,1)(-1,1,1)(1、-1,1)(1,1 -1)(1,1,0)(1,0,1)、(0,1,1)、(1、-1,0)、(1,0、-1)、(0,1、- 1)
および軸を使用して計算された最小/最大値。
これらのデータを使用して一連のポリゴン(実際には単純なメッシュ)を作成するにはどうすればよいですか?(私は実装を気にしません、私はそれを実装できるように理論的に理解したいだけです)
答えてくれてありがとう!!!
編集:私はすでに軸を持っているので、メッシュの法線を簡単に計算できます。問題は頂点位置の計算です...
編集2:私はネット上で有用と思われるこのコードを見つけました(または少なくともデバッグメッシュを作成するためにそれが言っているドキュメントでは)が、頂点の位置を見つけるためにそれを使用する方法がわかりません:
real Kdop::getDistanceOfPlaneToOrigin(int k) const {
if (k < 0 || k >= mK) {
return 0.0f;
}
if (k >= mK/2) {
return (real) (mDistances[k] * -1.0);
}
return mDistances[k];
}
編集3:法線と点(原点、平面が通過すると確信している)があると思ったので、操作に関連するすべての平面を作成できます...今はもっと何かが必要です...。