1

XNA3.1フレームワークで作業しているときに問題が発生しました。実際、DEMファイルから地形モデルを作成しました。地形モデルはX、Y、Z座標を持っています。地形は画面の下半分に作成されます。xnaドメインでは、0,0が画面の中心です。私の問題は、ユーザーが画面をクリックしたときに(マウスを使用して)地形座標を特定したいということです。画面ビューでは、0,0が左上隅です。画面座標を地形座標にマッピングするのが難しくなり、その逆も同様です。

誰かが同様の問題に直面したことがありますか、またはこれに対する解決策を提案させてください。任意のポインタが私に役立ちます。

ありがとうアディー

4

1 に答える 1

0

あなたがやろうとしていることは「ピッキング」と呼ばれ、それに関するリソースはネット上に無数にあります。つまり、次のもので構成されます。

  • マウス座標を X、Y として使用して、視錐台の前から後ろに向かう 3D 空間での光線の生成
  • ビュー投影行列の逆変換を適用して、ワールド空間でこのベクトルを取得します
  • このベクトルと地形の各ポリゴンとの交差をテストします
  • Z オーダーを使用して、最も近い交差ポリゴンを選択する

詳細な説明については、 XNA ピッキング チュートリアルを参照してください。または、「ピッキング 3D」をググってください。

于 2012-07-19T16:54:00.733 に答える