是否可以使用屏幕上的坐标(XNA)获取3D对象?

时间:2016-01-29 18:35:57

标签: c# 3d xna

我目前正在尝试制作一款游戏,你可以通过“#34;拳击他们”选择单位" (单击然后拖动以创建一个选择框)。但是,单位以3D编码并具有3D坐标,选择矩形在我的屏幕上为2D。

现在我想在我的相机视图中将3D坐标转换为2D坐标,知道:3D项目的坐标,我相机的坐标,以及它在哪里看。任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

您可以使用Viewport.Unproject()方法来实现这一目标。

https://msdn.microsoft.com/en-us/library/microsoft.xna.framework.graphics.viewport.unproject.aspx

使用您要选择的模型位置作为 Vector3和相机的查看投影作为参数(您可以将Matrix.Identity用于 World 矩阵。)