Développement XNA pour la XBox et le PC
294
public void Update(GameTime gameTime)
{
Vector3 translation = Vector3.Zero;
if (Keyboard.GetState().IsKeyDown(Keys.Right))
translation = new Vector3(0.1f, 0, 0);
if (Keyboard.GetState().IsKeyDown(Keys.Left))
translation = new Vector3(-0.1f, 0, 0);
if (Keyboard.GetState().IsKeyDown(Keys.Up))
translation = new Vector3(0, 0, -0.1f);
if (Keyboard.GetState().IsKeyDown(Keys.Down))
translation = new Vector3(0, 0, 0.1f);
effect.World *= Matrix.CreateTranslation(translation);
effect.World += Matrix.CreateScale(0.1f *
➥(float)gameTime.TotalGameTime.TotalSeconds);
}
Jouer avec les lumières
Jusqu’à présent, nous avons laissé de côté un point important, mais il prend toute sa
signification dans le dessin d’une scène en 3D de qualité : la lumière. C’est grâce à elle
que vous rendrez une scène plus vivante, en lui donnant une certaine ambiance et en
imaginant des mécanismes du gameplay basés sur elle.
Les différents types de lumière
La première chose à savoir est qu’il existe plusieurs types de lumière :
• La lumière diffuse (diffuse lighting), qui vient d’une direction particulière. L’intensité
de ce type de lumière dépend de l’angle entre la surface de l’objet éclairé et la direction
de la lumière : plus l’angle se rapproche de 90°, plus la lumière est réfléchie. Après
avoir rencontré une surface, elle est renvoyée uniformément dans toutes les directions.
• La lumière spéculaire (specular light), qui vient d’une direction particulière et qui repart
dans une direction particulière. Ce genre de lumière peut généralement se repérer par
un petit point intensément brillant.
• La lumière d’ambiance (ambient light), c’est-à-dire le type de lumière qui ne semble
pas venir d’une source en particulier, mais qui semble faire partie de l’environnement.
Elle permet aux objets de ne pas sembler totalement noirs.
Pour utiliser une lumière diffuse ou une lumière spéculaire, vous devez connaître l’angle
entre la surface d’un objet et la direction des rayons de lumière. Ce n’est pas la peine de
vous saisir de votre rapporteur, l’effet se chargera de ce travail. La seule chose que vous
=Labat FM.book Page 294 Vendredi, 19. juin 2009 4:01 16
294
public void Update(GameTime gameTime)
{
Vector3 translation = Vector3.Zero;
if (Keyboard.GetState().IsKeyDown(Keys.Right))
translation = new Vector3(0.1f, 0, 0);
if (Keyboard.GetState().IsKeyDown(Keys.Left))
translation = new Vector3(-0.1f, 0, 0);
if (Keyboard.GetState().IsKeyDown(Keys.Up))
translation = new Vector3(0, 0, -0.1f);
if (Keyboard.GetState().IsKeyDown(Keys.Down))
translation = new Vector3(0, 0, 0.1f);
effect.World *= Matrix.CreateTranslation(translation);
effect.World += Matrix.CreateScale(0.1f *
➥(float)gameTime.TotalGameTime.TotalSeconds);
}
Jouer avec les lumières
Jusqu’à présent, nous avons laissé de côté un point important, mais il prend toute sa
signification dans le dessin d’une scène en 3D de qualité : la lumière. C’est grâce à elle
que vous rendrez une scène plus vivante, en lui donnant une certaine ambiance et en
imaginant des mécanismes du gameplay basés sur elle.
Les différents types de lumière
La première chose à savoir est qu’il existe plusieurs types de lumière :
• La lumière diffuse (diffuse lighting), qui vient d’une direction particulière. L’intensité
de ce type de lumière dépend de l’angle entre la surface de l’objet éclairé et la direction
de la lumière : plus l’angle se rapproche de 90°, plus la lumière est réfléchie. Après
avoir rencontré une surface, elle est renvoyée uniformément dans toutes les directions.
• La lumière spéculaire (specular light), qui vient d’une direction particulière et qui repart
dans une direction particulière. Ce genre de lumière peut généralement se repérer par
un petit point intensément brillant.
• La lumière d’ambiance (ambient light), c’est-à-dire le type de lumière qui ne semble
pas venir d’une source en particulier, mais qui semble faire partie de l’environnement.
Elle permet aux objets de ne pas sembler totalement noirs.
Pour utiliser une lumière diffuse ou une lumière spéculaire, vous devez connaître l’angle
entre la surface d’un objet et la direction des rayons de lumière. Ce n’est pas la peine de
vous saisir de votre rapporteur, l’effet se chargera de ce travail. La seule chose que vous
=Labat FM.book Page 294 Vendredi, 19. juin 2009 4:01 16
