Our view of the world
Before we can place objects and geometry into our virtual representation of a 3D world, we need to come up with a way to describe to XNA how we are going to control the viewpoint of the player. In many 2D games, a simple Vector2
value is often enough to cover the requirements of the camera – assuming the 2D game needed a camera at all. The camera viewing a 2D world might only need to know how far across and down the game world the current view should be located. Other aspects of the view, such as the distance from which the player is viewing the action, may be fixed due to the size of the pre-drawn sprites representing the game environment and objects.
In contrast, we need a bit more information to define the camera in a 3D game. The fact that we need a third coordinate (the Z coordinate) should not be surprising; since we have moved from 2D to 3D, it only stands to reason that we need three coordinates to define a point. What may be less obvious, however, is that we...