Comunidad orientada al desarrollo de videojuegos

Exportar Animación Usando Wave Engine 1.x (Starfish)

Para exportar animaciones de personajes, lo primero que necesitamos es un modelo 3D animado por huesos o bípedo. Para este ejemplo usaremos un modelo cedido por (MRCalderon3D).

Este es el modelo:

model3ds

Tenemos que tener en cuenta que el primer fotograma de la animación debe ser de referencia, es decir, la postura en la que se skineo el modelo. Empezando desde el primer fotograma, crearemos todas las animaciones para el personaje:

Nombre de la Animación Fotograma Inicial – Fotograma Final
ReferenceFrame 000 – 001
Run 001 – 017
Combat 018 – 048
Sideattack 049 – 080
Attack01 081 – 101
Attack02 102 – 135
Spell01 136 – 221
Spell02 222 – 276
Hit 277 – 297
Hitfall 298 – 371
Dead 375 – 395
Jump 396 – 430
Idle 433 – 468
Walk 471 – 495

PASO 1 INSTALANDO EL PLUGIN PARA 3D STUDIO MAX 2010/2011

En la página de descargas de la web de Wave Engine podemos encontrar el plugin que tenemos que instalar (KWXport) para 3D Studio Max.

plugin3ds

Link (http://www.waveengine.net/Download/Index)

El resultado es un archivo llamado kwxport.dle que necesitamos poner en la carpeta plugin dentro del directorio de nuestro 3D Studio Max. (Nota. 3D Studio Max necesitará ser reiniciado para cargar el nuevo plugin)

installplugin

PASO 2 EXPORTANDO EL MODELO EN FORMATO .X

Primero necesitamos establecer en la barra de animación el fotograma de referencia “ReferenceFrame” (Nota. Esto es importante para que el modelo sea cargado). Y tenemos que seleccionar todos los huesos y mallas.

frame0

Ahora necesitamos usar el nuevo plugin instalado para exportar el modelo, 3DStudio -> Exportar –> Exportar seleccionado y seleccionamos “KW X-port (*.X)”.

selectplugin

Después seleccionamos el directorio destino y el nombre del archivo, veremos un nuevo panel con opciones de exportación. Es importante que la caja exportar esté marcada y todas las animaciones de nuestro modelo estén añadidas (Tened en cuenta que la primera será ReferenceFrame).

exportoptions

Después podremos pulsar OK para exportar el archivo pirate.X.

PASO 3 EXPORTAR EL MODELO ANIMADO A FORMATO WPK (WAVE ENGINE PACKAGE) USANDO WAVE EDITOR.

Lo primero que necesitamos es crear una copia del modelo en formato X, Uno se usará para cargar la geometría y otro para cargar las animaciones. Por lo tanto, ahora debemos tener dos archivos iguales con los nombres pirate.X y pirate_animation.X.

duplicate

Ahora debemos abrir WaveEditor (Herramienta instalada con WaveEngine), crear un nuevo proyecto y añadir ambos archivos .X:

waveeditorfiles

Seleccionamos el archivo pirate.X y marcamos las propiedades SwapWindingOrder, GenerateTangentSpace y FullBoneWeights, en el panel derecho.

modeloptions

Ahora seleccionamos el archivo pirate_animation.X y marcamos la propiedad ExportAnimations:

animationoptions

Después iremos a Project –> Export(o presionamos Ctrl + Shift + E) y encontramos los resultados, pirate.wpk y pirate_animation.wpk en la carpeta Export/Default.

PASO 4 CARGAR EL MODELO ANIMADO EN WAVE ENGINE

El último paso es probar el modelo exportado en nuestro proyecto de Wave Engine, para hacer esto tenemos que crear un nuevo proyecto de wave engine usando la plantilla correcta de Visual Studio y añadir nuestros archivos WPK(pirate.wpk y pirate_animation.wpk) en la carpeta Content de la solución. Una vez hecho esto, seleccionamos estos archivos y establecemos la propiedad “Copy to Output Directory” a Copy if newer.

copytoouputdirectory

y finalmente podemos pegar en Scene.cs este código  para cargar y animar el modelo del pirata:

Entity animatedModel = new Entity("Pirate")
     .AddComponent(new Transform3D())
     .AddComponent(new BoxCollider())
     .AddComponent(new SkinnedModel("Content/pirate.wpk"))
     .AddComponent(new MaterialsMap(new BasicMaterial("Content/pirate_texture.wpk")))
     .AddComponent(new Animation3D("Content/pirate_animation.wpk"))
     .AddComponent(new SkinnedModelRenderer());

EntityManager.Add(animatedModel);

Animation3D anim = animatedModel.FindComponent();
            anim.PlayAnimation("Run", true);

waveloadanimation

DESCARGAR RECURSOS

Puedes descargar los archivos .X aquí.

FUENTES

Tutorial original en inglés: http://blog.waveengine.net

Para descargar Wave Engine: http://www.waveengine.net

Para descargar el plugin http://www.waveengine.net/Download/Index

Traducido por Carlos Sánchez López

, , , , , , ,

Leave a Reply