現在横4縦4 計16頂点があると仮定して、
それをワールド空間には変換して描画しています。 (四角ポリゴンがでる)
これをワールド空間内のプレイヤーと当たり判定する場合、ローカル空間の16個の頂点どれと当たっているか確かめたいです。
どう当たり判定すれば良いのでしょうか?
あまりに説明不足すぎて意味不明です
返信ありがとうございます
どこがどう説明不足なのか教えていただけると助かります。
その説明からは、各頂点をワールド座標に変換するか、プレイヤーを頂点のローカル座標に変換して、座標系を合わせて当たり判定すれば良いでしょう、としか答えようがないですね。
第3の座標系αを唐突に導入し,
ローカル座標での座標値を座標系αでの座標値に変換するための座標変換手段(1)と
ワールド座標での座標値を座標系αでの座標値に変換するための座標変換手段(2)とを用意し,
「16頂点」のローカル座標での座標値を前記座標変換手段(1)を用いて変換した結果の座標値と
「プレイヤー」のワールド座標での座標値を前記座標変換手段(2)を用いて変換した結果の座標値とを比較することによって
当たり判定を行う
…みたいな話も(無理矢理?)考えられなくもない.
できれば新座標系は作らずに当たり判定をしたいんですよね。
もう少し調べてみます
どこの座標系だろうが,とにかくその「当たり判定」の処理をやるのに都合が良い座標系でやればよいだけです.
「ローカル」や「ワールド」がそれに見合うならば,そこでやればよい.
ワールド空間でですが、配列やら何らかのデータ構造で
四角ポリゴンと当たり判定したいということなので、三次元の矩形?の当たり判定
バウンディングボックスの判定を配列とやるなら
プレイヤーポリゴンA(Ax,Ay,Az),四角ポリゴンB(Bx[idx],By[idx],Bz[idx])として
if(Ax+w>Bx && Ax<Bx+w && Ay+h>By && Ay<By+h && Az+zz>Bz && Az<Bz+zz)
ループ内でidxを回せば↑の条件が当たっていればidxが当たった番号になるかもしれません。
で当たった番号が分かればワールド空間からローカル空間に逆変換する式で求めればいいかも
しれないです
あなたの回答
tips
プレビュー