3D SplitScreen XNA - 如何使用2个摄像头在同一个视口中绘制2个玩家

时间:2013-03-14 01:05:04

标签: 3d xna camera models viewport

我是这个网站上的新手,但是我尽力在网上研究我的问题的答案......但是我找不到任何真正有用的东西。

所以这就是事情,我正在尝试一个简单的3D汽车游戏,而我只是刚开始。我目前正在研究分屏,我遇到的问题是:

我实际上可以看到两个“船只”(一个在右侧视口中,一个在左侧),但我似乎无法找到一种方法在两个视口中绘制两个船只,但使用自己的相机。所以是的,我还创建了两个不同的追逐摄影机,一个用于左视口,另一个用于右视点。

任何人都可以以任何方式指导我吗?如果您需要任何代码来帮助您回答,我会粘贴并解释(唯一的问题是它是法语)。

非常感谢你!

1 个答案:

答案 0 :(得分:0)

更新了讨论的答案:

听起来你需要改变你的构造函数,不仅要接受“目标”汽车,还要接受赛道上的所有其他汽车。例如查看(targetCar,allOtherCars)

我建议:创建一个新方法,该方法采用相机位置/平移并从该角度渲染所有汽车。然后,在绘制方法中,使用与当前视口关联的相机调用新方法。

原始答案:

我无法准确理解你所追求的效果,但假设这只是分屏概念的一个变种,这是解决这个问题的一种方法:

在游戏初始化中:

  1. 创建两个渲染目标 - 每个玩家的屏幕一个
  2. 在绘制方法中:

    1. 将图形目标设置为玩家1的渲染目标,从玩家的摄像机视角渲染场景......然后对玩家2进行相同操作。

    2. 将两个玩家的渲染目标都绘制到屏幕上。

    3. 如果您不了解RenderTargets,那么Microsoft的以下示例可能有所帮助:http://msdn.microsoft.com/en-us/library/ff434402.aspx