Sample12の解説

Sample 12 はQuadTreeによる当たり判定です

当たり判定を取る部分を分割して細分化することにより

高速化を図ろうってな美味しい処理です^^

いつものように変数フィールド内でQuadTreeを宣言して初期化します

QuadTree = new QuadTree(int split, CollisionModel col);
Splitには分割の細かさ、CollisionModelには当たり判定を取るモデルを入れてください
これでQuadTreeの完成です

後は、そのQuadTreeを利用して当たり判定をとります

CollisionModel.CheckCollision(QuadTree qt,

Vector3 StartPos,

Vector3 EndPos,

ref Vector3 HitPos,

out Vector3 Norm,

out MaterialColor matCol,

out int Cell);

QuadTree部分に作成したQuadTreeを入れる以外は一緒ですね^^
Cellには現在いる空間番号が帰ってきます

現在いる空間番号から親空間番号を得るには

QuadTree.CheckCellParents(int Cell);
で習得できます

モートン順序という方法を用いて空間の割り出しをしているので

かなりの高速化になると思います

« 前の記事: を読む

次の記事: を読む »

コメント

※名前の入力は必須です

コメントを残す

---

以下のHTMLタグが使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

※管理人にのみコメントを残す場合は、こちらのフォームよりお願いします