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
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
Últimos Comentarios