我目前正在尝试制作一款游戏,你可以通过“#34;拳击他们”选择单位" (单击然后拖动以创建一个选择框)。但是,单位以3D编码并具有3D坐标,选择矩形在我的屏幕上为2D。
现在我想在我的相机视图中将3D坐标转换为2D坐标,知道:3D项目的坐标,我相机的坐标,以及它在哪里看。任何人都可以帮助我吗?
答案 0 :(得分:1)
您可以使用Viewport.Unproject()方法来实现这一目标。
https://msdn.microsoft.com/en-us/library/microsoft.xna.framework.graphics.viewport.unproject.aspx
使用您要选择的模型位置作为源 Vector3和相机的查看和投影作为参数(您可以将Matrix.Identity用于 World 矩阵。)