FC2ブログ
夢か現か、きっと気付けば、貴方は夢うつつのまどろみの中へ。
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
--.--.-- (--:--) / スポンサー広告 / (-) / (-) /
やらなければいけないことを纏めると、問題点が浮き彫りになるとは聞きますが。
なにより、普段の生活からして問題だらけのLenardです。こんばんわ。

半端にやって放置したため役に立たない中途半端知識だけになっていた3D関係。
改めて、仕切りなおして3D関連の準備を整えていたのですけど。

とりあえず、自前のMetasequoia形式のLoaderと行列、ベクトルクラス、
モデリングデータの読み込みくらいはなんとか。

さてはて、次は何をしなければ、と考えてみると…。

目の前にあったのは、当たり判定という壁でした。

とりあえず、実際のポリゴンデータで判定していては頂点数を削ってるとはいえ
どうにも計算量が多くて処理が間に合いそうに無い気がする。
(実際にやったわけではないので分からないですが)

ということで、まずは、当たり判定用にオブジェクトの頂点全てを包める程度の
境界ボリュームの球体を作ってみることに。

<安直に取ってみた手法>
ロード時に全頂点データから、XYZ各点の最大値と最小値を探し
それぞれの最大値と最小値の中間を中心に。
中心から最大値までの距離を球体の半径にする。

数十分後。
落ち着いて考えてみると、この手法だとボックスを完全に含む球体を作っているだけで、
最小体積の球体にはならないと気づく。
…。色々調べてみる。
結果。
どうにも、主軸を作りそこから球体を膨らませていくという手法が一般的な模様。
結構、計算が面倒なのですけど。
まぁ、球体ならば方向性が無いから、中心点の位置さえ変えれば、
後は変更の必要がないから最初の計算以外では、処理の量的には問題ないのか。
むむっ。自分で書きつつ理解半ば状態。難しい。

…。と、とりあえず実装は資料見つつ考えよう。

次。さらに判定の前に。

オブジェクトごとに、ローカル座標を持ってる以上、
当たり判定をするには2つのオブジェクトをワールド座標系に持ってくるか
どちらかを、もう片方のローカル座標系に変換しないと位置が分からない…。
…どっちが一般的なのだろう?
後者、片側のローカル座標でするほうが、なんとなく私的にはしっくり来るのだけど。
判定がローカル座標の原点付近で行われるのも、なんだか良さそう。
が。なんだか、という理由だけで確証が無い。(--;

むぅ。3Dの境界ボリュームを用いた当たり判定…
どっかに手本に出来るような良い資料がないのだろうか…。
スポンサーサイト
2006.08.09 (21:49) / Game / (0) / (0) /





 管理者にだけ表示を許可する


Copyright © 2004 Powered by FC2 All Rights Reserved.
Template by lovehelm
/ 2018.12 /
S M T W T F S
- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 - - - - -
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。