Les bases de la programmation 3D
CHAPITRE 12
299
Charger un modèle
Rassurez-vous, dans un jeu en 3D, vous ne passerez pas votre temps à coder des vertices
pour obtenir des triangles et former les objets que vous désirez. Nous allons voir dans la
dernière partie de ce chapitre comment charger et afficher à l’écran un modèle en 3D. Les
modèles sont des objets constitués de polygones créés dans des modeleurs 3D.
Les modèles et objets 3D qui peuvent être chargés par défaut par XNA doivent être au
format .x ou .fbx. Pour créer de tels objets, vous pouvez utiliser des modeleurs 3D open
source tels que Blender (http://www.blender.org/) ou encore TrueSpace (http://www.caligari.com/)
ou, si vous êtes un artiste 3D et que vous possédez une licence d’un modeleur professionnel
tel que 3ds max, Cinema 4D, etc., rien ne vous empêche de les utiliser. Assurez-vous juste
de posséder un exportateur de fichier .x (c’est généralement le cas).
Dans l’exemple suivant, nous utilisons un vaisseau du starter kit Space War. Un modèle
s’ajoute au projet exactement de la même manière qu’une texture ou une autre ressource.
Pour utiliser un modèle, pensez à la classe Model. Vous chargerez ensuite le modèle grâce
à la méthode Load() du Content Manager.
Model model;
protected override void LoadContent()
{
spriteBatch = new SpriteBatch(GraphicsDevice);
model = Content.Load("Models\\p1_wedge");
}
Pour rendre les choses un peu plus jolies, faites tourner le modèle.
float rotation = 0.0f;
protected override void Update(GameTime gameTime)
{
rotation += (float)gameTime.ElapsedGameTime.TotalMilliseconds *
➥MathHelper.ToRadians(0.1f);
base.Update(gameTime);
}
Un modèle pouvant être composé de plusieurs mesh, vous devrez les parcourir, puis les
dessiner un par un avec la méthode Draw(). Chaque mesh peut également posséder plusieurs
effets, pensez à les parcourir eux aussi :
protected override void Draw(GameTime gameTime)
{
Références
O. Saraja. La 3D libre avec Blender, 3 e édition, éditions Eyrolles, 2008.
J.-P. Couwenbergh. 3ds max 2008, éditions Eyrolles, 2008.
C. Blazy et E. Roux. Cinema 4D, éditions Eyrolles, 2006.
=Labat FM.book Page 299 Vendredi, 19. juin 2009 4:01 16
Précédent

- 320/366

Suivant