locked
Problema con animación XNA RRS feed

  • Pregunta

  • Saludos!

    Ojala me podais ayudar con un juego que estoy haciendo en 3D! Estoy desesperado!

    El problema es que quiero reproducir una animacion de un personaje andando. Tengo varios modelos fbx descargados de internet pero no se como cargarlo en XNA. He encontrado un ejemplo donde aparece un personaje andando (http://create.msdn.com/en-US/education/catalog/tutorial/skinned_model_extensions), este me funciona pero si lo abro con el cinema4D y le modifico lo que sea ya no me funciona.

    Tengo el juego acabado nada mas me falta que el muñeco ande. Si tengo la animacion hecha como puedo lograr que funcione? Trabajo con el cinema4D. Me podriais recomendar alguna libreria o alguna manera de poder reproducir una animacion?

    Ah! Trabajo con XNA 3.1.

    Muchisimas gracias! En cuanto ponga la animacion os paso el juego a quien lo quiera! Gracias!

    sábado, 21 de mayo de 2011 16:45

Respuestas

Todas las respuestas

  • Buenas,

    No he trabajado personalmente con cinema4D, siempre con 3D Studio Max y con este no he tenido problema. Básicamente necesitas exportar tus modelos en un formato y desde código tener algo que sea capaz de leer la información de la animacion, bones, etc... (un model processor)

    El ejemplo que comentas es posterior a este:

    http://create.msdn.com/en-US/education/catalog/sample/skinned_model

    En él puedes ver como está hecho el model processor para leer toda la información de animación almacenada en el fbx.

    Personalmente te recomendaría que usaras 3D Studio Max, si estás más familiarizado con cinema4D busca un exporter para 3D Studio Max y exporta a fbx desde este mejor, ya que va muy bien. Buscando un poco por internet he encontrado este post de uno que explica como lo hace él:

    http://pieterhoste.be/blackpillow/posts/36-How-to-export-an-animated-skinned-3D-model-and-get-it-to-work-in-XNA

    El cual recomienda que uses una librería de animación que está en codeplex, en vez del código de la demo de Creator club:

    http://animationcomponents.codeplex.com/

     

    Además de estos ejemplos en XNACommunity tenemos multiples processors de diferentes formatos con su código fuente, puedes echarle un vistazo:

    http://xnacommunity.codeplex.com/wikipage?title=Cal3DLoader&referringTitle=Utilidades

    http://xnacommunity.codeplex.com/wikipage?title=MD5Loader&referringTitle=Utilidades

    http://xnacommunity.codeplex.com/wikipage?title=Importer%20de%20MD3&referringTitle=Utilidades

    http://xnacommunity.codeplex.com/wikipage?title=XNASkinModelView&referringTitle=Utilidades

     

    Espero que todo esto te ayude a aprender como cargar modelos animados en XNA.

     

    Saludos


    MVP XNA/DirectX

    Blog

    XNACommunity

    sábado, 21 de mayo de 2011 17:28
    Moderador
  • Muchas gracias, luego me pondre a ello.Que llevo todo el dia con eso y no me sale.

    Ya te diré algo.

    Gracias! :)

    sábado, 21 de mayo de 2011 19:11
  • Una cosa esto que estoy mirando ahora de MD3Demo y MD2 los cuales tienen modelo en formato .pk3 y .md5anim.

    De donde sale ese formato? Como paso yo de cinema4D a estos formatos? A mi realmente me servirian estos modelos. Lo deformo un poco le cambio la textura y ya tengo el muñeco que quiero.

    Es posible hacer eso sin generar ningun error no?

     

    Gracias experto

    sábado, 21 de mayo de 2011 19:39
  • Esos formatos son propios de los motores de ID Software:

    - MD3 es el formato de modelos de Quake III.

    - MD5 es el formato de modelos de Doom 3.

     

    Creo que hay plugins para exportar a estos formatos desde 3D Studio Max, sino recuerdo que había una herramienta llamada milkshape que era gratuita y te permitía exportar a estos formatos. (podrías pasar de cinema 4 a milkshape y desde ahí exportar en uno de esos formatos).

    Mira a ver si exite un plugin sobre collada para cinema 4, que también tenemos un importer en XNACommunity de este formato:

    http://xnacommunity.codeplex.com/wikipage?title=ColladaDemo&referringTitle=Utilidades

     

    Saludos

     

     


    MVP XNA/DirectX

    Blog

    XNACommunity

    sábado, 21 de mayo de 2011 20:58
    Moderador
  •  

    Bueno, llevo todo el dia provando cosas y no hay manera :(. El problema lo tengo al pasar de un formato a otro.

    Si yo cojo el ejemplo  http://create.msdn.com/en-US/education/catalog/sample/skinned_model (es un .fbx) y lo abro con cinema4D o 3D max ya no lo puedo usar. El 3D max me da error nada mas abrirlo peta la animacion, y se queda tarada.

    No se como hacerlo ya. El ejemplo este me iria perfecto, seria cambiar nada más deformarlo ya que otro modelo no le puedo cargar.

    Tu que harias en mi caso? Porque te decantarias, porque no se como me puede dar tantos problemas una simple animacion... El problema es que este juego es el proyecto final de carrera y lo tengo que entregar este martes. Y nada mas me falta esto y estoy desesperado. 

    Sino tuviera prisa me daria igual aprender 3Dmax i lo que sea pero es que no hay manera de hacerlo con ningun conversion ni nada. :S

    No se que estoy haciendo mal

    domingo, 22 de mayo de 2011 11:55
  • Bueno ya me ha salido :) Al final lo he hecho con la libreria XNANIMATION

    Ahora me falta unos retoques de poner un array de objetos i aver que tal mover mas de uno a la vez...

    Gracias ;). Cuando lo acabe ya lo pasare

    domingo, 22 de mayo de 2011 17:36
  • Saludos Javier! Que tal?

    Yo ya tengo acabado el juego :) nada mas me faltan algunos detalles que no se si son cosa del cinema4D o del XNA.

    Por ejemplo en el cinema4D hago un modelo con transparencias o le pongo una luz en el escenario y luego no me lo muestra en el juego.

    Y otra cosa es que al dibujar si por ejemplo cojo un cilindro con cualquier textura y le quito sus dos caras para que luego sea una especie de tunel, la textura no se me ve si estoy dentro del cilindro. No se si me explico. Si lo miro desde fuera se ve bien pero si lo miro por dentro no carga la textura. Me pinta el color que le haya puesto yo en el GraphicsDevice.Clear(Color.Black) del draw. Vaya que parece que no haya objeto.

    Te lo pregunto mas que nada por si hay alguna propiedad con la que puedo jugar con el XNA o para saber por donde van los tiros.

    Muchas gracias Javier, al final te voy a tener que pagar y todo. Gracias maquina!

    miércoles, 25 de mayo de 2011 11:04