Rotando un modelo 3D

Saludos a todos, hace pocos días os contaba como cargar un modelo 3D en pantalla, con este nuevo tutorial os enseñaré como poder rotarlo alrededor del eje Y para poder verlo en todo su explendor :P

Os aconsejo que os descarguéis el proyecto LoadModel del tutorial de Cargando modelos 3D ya que partiremos de ahí, podés ir al tutorial clicando aquí: Cargando Modelos 3D

Una vez con el código en pantalla haremos lo siguiente:

  float rotacion;

Creamos la variable rotación, que contendrá los grados que rotaremos. Una vez hecho esto, la inicializamos en el método initialize:

protected override void Initialize()
 {
 aspectRatio = (float)graphics.PreferredBackBufferWidth /
 (float)graphics.PreferredBackBufferHeight;
 rotacion = 0;

 base.Initialize();
 }

Ahora en el método upload le vamos a ir sumando 0.02 cada vez que sea invocado, lo haremos así:

protected override void Update(GameTime gameTime)
 {
 // Allows the game to exit
 if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed)
 this.Exit();
 rotacion += 0.02f;

 base.Update(gameTime);
 }

Y para terminar nos vamos al método Draw y cambiamos la linea que teníamos antes por esta:

effect.World = Matrix.CreateTranslation(modelPosition) * Matrix.CreateRotationY(rotacion);

Todo listo, os dejo el enlace al archivo del proyecto y un video de como queda

Descarga:

Rotar Modelo 3D.rar (1,34MB) (XNA 2.0)

Rotar modelo 3D.zip XNA 3.0

  1. Aún no hay comentarios.
  1. Aún no hay trackbacks