【问题标题】:Is it possible to get 3D objects with the coords they have on the screen (XNA)?是否可以使用屏幕上的坐标获得 3D 对象(XNA)?
【发布时间】:2016-01-29 18:35:57
【问题描述】:

我目前正在尝试创建一个游戏,您可以通过“装箱”来选择单位(单击然后拖动以创建一个选择框)。但是,这些单位以 3D 编码并具有 3D 坐标,并且选择矩形在我的屏幕上为 2D。

现在我正在尝试在我的相机视图上将 3D 坐标转换为 2D 坐标,我知道:3D 项目的坐标、我的相机的坐标以及它正在查看的位置。谁能帮帮我?

【问题讨论】:

    标签: c# 3d xna


    【解决方案1】:

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

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

    使用您要选择的模型位置作为 source Vector3 和您相机的 ViewProjection 作为参数(您可以使用 Matrix. World 矩阵的标识)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-01
      • 2012-07-18
      • 1970-01-01
      相关资源
      最近更新 更多