私は既存のゲームのライブラリに取り組んでいます。このプロジェクトでは、3D プロジェクション マッピングを行いたいのですが、タスクを難しくするいくつかの問題があります。
私はカメラについてではなく、世界についてかなり多くのことを知っています。
- 私はマウススクリーンの位置を持っています
- 画面の位置と同時にキャプチャされたマウスの世界の位置があります。
- ゲームワールドでカメラ X、Y、Z を取得できます。
- カメラの FOV を取得できません。
最初の 2 つは、関数を使用していつでも取得できます。
これから、私は世界座標しか持っていないオブジェクトの2Dスクリーン位置を見つける必要があります。
カメラから地面のオブジェクトまでの距離を取得しようとしました。そこから、カメラから画面までの距離を取得し、この記事の図を使用しました。
http://en.wikipedia.org/wiki/3D_projection
しかし、世界は斜めになっており、カメラはわずかに傾いています。つまり、取得したポイントからの距離と、オブジェクト自体は、モニターの上部では下部に比べて離れています。
また、Z は (モニター上で) 常に上にあり、カメラの回転はありません。
これは解決するのが難しい問題ではないと確信していますが、すべての情報を頭に入れておくことはできません.
この問題に関するヘルプは大歓迎です。