iPhone eの画面から世界への問題
EAGLView でレンダリングされた 3D モデル (CUBE) があり、立方体の特定の面の中心に (任意の方向角度から) 触れていることを検出できるようにしたいと考えています。とても簡単に聞こえますが、そうではありません...
問題:
スクリーン座標 (タッチ ポイント) をワールド座標 (OpenGL 3D 空間内の位置) に正確に関連付けるにはどうすればよいですか? 確かに、特定のポイントを画面/ワールド軸の「パーセンテージ」に変換することは論理的な解決策のように思えるかもしれませんが、3D 空間をズームまたは回転する必要がある場合に問題が発生します。注: 3D 空間を回転およびズームインおよびズームアウトすると、2D 画面座標と 3D 世界座標との関係が変化します...また、視点と 3D 空間内のオブジェクトとの間の「距離」を考慮する必要があります。 . 最初は、これは「簡単な作業」のように思えるかもしれませんが、実際に要件を調べると、それは変わります。また、iPhone でこれを行っている例は見つかりませんでした。これは通常どのように行われますか?
「簡単な」タスク?:
確かに、画面と世界の間の仲介者として機能する API を作成するタスクを引き受けるかもしれませんが、そのようなフレームワークを作成するタスクには、本格的な設計が必要であり、「時間」がかかる可能性があります。 to do -- 4 時間で1 人でできることではありません...そして 4 時間がたまたま私の締め切りです。
質問:
- iPhone OpenGL ES ワールドの 3D 空間で特定の場所に触れたかどうかを知る最も簡単な方法は何ですか?