3D Tutorials

Chances are, if you want to learn how to make games, you will soon want to know how to make 3D games. This category of tutorials has everything you need to get started with 3D games in XNA. There is a lot to cover with 3D graphics, but these tutorials will get you started.

## 1 - 3D Modeling Programs

Before we can make 3D games, we will need 3D models to work with. If you are working on a full fledged game with a large team, there will probably be artists on the team who are responsible for creating these models. But if you are going through these tutorials, you probably don't have a large team yet. You can sometimes find 3D models online, but they are often quite expensive or not what you are looking for. The best option for someone who is learning how to make 3D games is to find a 3D modeling program and learn how to use it. Then you can create your own models. This tutorial discusses some of the 3D modeling programs that are out there, including some free ones. For the purposes of these tutorials, I have uploaded the models that I am using to my [[[model-library
3D Modeling Programs

## 2 - Basic Matrices and Coordinate Systems

Before really getting in to 3D game making, there are a few principles that we need to cover. Matrices (the plural of matrix) are mathematical tools that do a wide variety of things in 3D games. Don't let the word "mathematical" scare you though. We only need to work with them at a high level, so we don't need to know too much about the underlying math. This tutorial will cover a little bit about how matrices are used in a 3D game. Also, this tutorial will cover the basics of the coordinate systems in a 3D game, which will prepare us for the next tutorial, where we start drawing 3D models.
Basic Matrices and Coordinate Systems

## 3 - Using 3D Models

This tutorial is probably the one you've been waiting for. Having laid the foundation for drawing in 3D, we are now ready to draw 3D models. This tutorial will show you how to get a model from the file into your game and onto the screen.
Using 3D Models

## 4 - Simple 3D Animation

In the previous tutorial, we looked at how to draw a 3D model on the screen. We will now look at the simplest method of 3D animation that there is. Later on, we will discuss some more advanced animation techniques.
Simple 3D Animation

## 5 - The BasicEffect Class

The BasicEffect class is a simple and powerful way to get some interesting effects in 3D games, including texturing, lighting, and fog. This tutorial will introduce you to the BasicEffect class, which you have actually been using during the last few tutorials without even knowing about it!
The BasicEffect Class

## 6 - BasicEffect Lighting

This tutorial discusses some of the principles of lighting in any game, and then continues on to demonstrate how to do lighting with the BasicEffect class.
BasicEffect Lighting

## 7 - BasicEffect Fog

This tutorial continues on with the discussion about the BasicEffect class, explaining how to do simple fog with it. Fog is quite useful in games, as it provides a "depth cue", which is a way for the player to get an understanding of how far away objects they are seeing are.
BasicEffect Fog

## 8 - Mesh-by-Mesh Animation

This tutorial covers a more advanced method for animation, which is done by individually transforming the parts of a model separately.
Mesh-by-Mesh Animation