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

Rotar modelo 3D.zip XNA 4.0

Video:

19 pensamientos en “Rotando un modelo 3D

  1. Gracias por el tutorial es muy bueno, pero estoy teniendo un pequeño problema, pues necesito cargar el modelo en una Windows Form Application en visual C#, y tengo q dejar el modelo fijo mientras que bueno solo uno de sus ejes al rededor del eje X, pero este movimiento ocurre cada 0.001 segundo y la señal la tomo de una tarjeta de adquisicion de datos, yo ya tengo todo en un poryecto de Windowa form application pero como puedo montat el modelo en esa misma ventana, o de alguna ejecutar el programa XNA desde la ventana??

  2. esta bueno saber algo mas por este dia pero a mi me gustaria saber como ejecutar un juego de xna desde c# en la plataforma windows con un boton desde ya muchas gracias si me ayudas

  3. David Mariscal :

    gracias por probar el juego!
    Me temo que todo lo que tenga IK’s no se cargará bien, normalmente la parte de IK’s se suele hacer por código, al menos asi lo hemos hecho nosotros en el dark ocean, la unica solucion seria modificar el exportador de fbx para que te exportara también esa información de alguna manera, aunque ya te digo, no suele hacerse asi, creo.

    ok amigo pues me ahorraste entonces como 25 horas de probar y probar por Ik, xD…
    bueno quizas haya otra al ternativa en 3d asi como hacen los riggin, pero bueno seria cuestion de checar a ver si = me puedes orientar o eres mas de programacion?
    he visto que ponen asi como cuadritos que no influyen en el render, pero para animacion digamos un pie sigue a un cuadrito y eso, pero lo que no recuerdo es que si se deforma si estiro mucho el cuadro, etc…
    de antemano gracias otra vez. y si por ahi tienes tiempo alguna vez que podamos chatear o algo asi, me gustaria contribuir con tu web, pss creo que ya tienes mi correo xD en el wordpress… sale muchas gracias nos vemos a jugar dark ocean a ver k tal😉.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s