我正在为现有游戏开发一个库,对于这个项目,我想做一些 3d 投影映射,但是我确实有一些困难使任务变得更加困难。
我对这个世界了解很多,只是不了解相机。
- 我有鼠标屏幕位置
- 我有鼠标世界位置,与屏幕位置同时捕获。
- 我可以在游戏世界中获得相机 X、Y 和 Z。
- 我无法获得相机的 FOV。
前两个我可以随时使用函数获得。
从这里我需要找到一个我只有世界坐标的对象的二维屏幕位置。
我尝试获取从相机到地面物体的距离,然后从获取相机到屏幕的距离,然后使用本文中的图表:
http://en.wikipedia.org/wiki/3D_projection
但是世界是一个角度,相机稍微倾斜。这意味着与我得到的点的距离以及对象本身在显示器顶部与底部相比是父亲的距离。
还要注意的是,Z 总是向上(在监视器上),相机没有旋转。
我确信这不是一个很难解决的问题,但我无法将所有信息都放在脑海中。
任何有关此事的帮助将不胜感激。