8 minute read

Proyecto inicial: uso de Blender para crear un esqueleto y su animación

Proyecto inicial: uso de Blender para crear un esqueleto y su animación

En este apartado no se tratará de cómo hacer un modelo desde cero, sino más bien modificar y procesar un modelo estático (con o sin textura). Después de haber instalado primero el Blender y luego la suite de plugins (Blender Jedi Academy Plugin Suite 0.2.1). Se procede a importar un modelo estático, en este caso el modelo correspondiente al turbo láser DBY-827, que está en formato 3DS. Para poder hacer una animación se necesitan otras entidades (huesos) los cuales pueden estar conectados o no según el modelo que se vaya a animar. Un esqueleto es una forma de organizar la jerarquía de las partes que se van a mover del modelo durante la secuencia de animación. Antes de hacer el esqueleto, el modelo debe tener las siguientes características, las cuales se deben de efectuar con Blender: 1° El modelo debe de dividirse en varios mesh donde cada uno no debe superar más de 1000 vértices, de lo contrario, no servirá en el motor de id Software. Para esto, en Blender se trabaja en modo edición, y una vez seleccionadas las caras/vértices debe acceder a la opción Mesh > Vertices > Separate > Selection. 2° Crear la estructura de datos scene_root, y dentro de esta, otras dos con estos nombres: model_root_0 y skeleton_root. La primera rama se va a utilizar para referir a las partes del modelo que se separaron y la segunda es para el esqueleto ya comentado. A continuación, una muestra de cómo se ve el contenido de las estructuras de datos turbo láser DBY-827:

Advertisement

En la estructura model_root_0 cada uno de los mesh ( ) deben tener modificadores, similar al siguiente ilustración:

En este caso, al mesh DBY-827_SO se le agregó un modificador llamado Armature con el nombre skin. El nombre del objeto del esqueleto a seleccionar es skeleton_root (como no se ha creado, se deja vacío el cuadro de texto hasta el final del paso 3), y debe estar sólo enlazado a Vertex Groups. Es importane no hacer nunca clic en los tres botones (Apply, Apply as Shape Key y Copy) ya que al hacer esto desaparece el modificador y la exportación no será correcta. También en cada mesh se requiere establecer la siguiente información para los vértices. Para hacer esto, ya debería haberse separado el modelo en varios mesh, y a continuación trabajar en modo edición, y en la vista 3D seleccionar el mesh correspondiente. Después en las propiedades, debe ubicarse en la sección vértices, como en la siguiente imagen: Una vez seleccionado, hacer clic en el botón agregar (+) del marco Vertex Groups y poner un nombre al grupo de vértices (ej. model_root_, para el cimiento o base del modelo) Si el mesh fuera parte del cuerpo principal, el nombre sería body_bone. Luego hacer clic en el botón Select para seleccionar los vértices que están seleccionados en la vista 3D. A continuación hacer clic en el botón Assign para que estos vértices se asignen al grupo de vértices. Como el modelo no sólo consiste de vértices conectados, también se requiere crear los “UV seams”. Para esto, hacer clic en el botón agregar (+) del marco UV Maps para crear los UV seams de este grupo de vértices. Por último, hay que ubicarse en la categoría de Propiedades del objeto y llenar la información como la siguiente ilustración:

En el grupo de Propiedades Relations, sólo hay que elegir el objeto padre (ej. model_root_0, etc.) del cual depende este mesh. Después hay que agregar las Propiedades Ghoul2, haciendo clic en el botón Add G2 Properties del grupo Ghoul2 Properties La propiedad g2_prop_name debe ingresar un nombre más simple, que va a tener este objeto al ser exportado, que en este caso como se trata de un mesh base del modelo, sería “base”. La propiedad g2_prop_shader sirve para indicar el nombre físico del archivo de textura el cual contiene la textura de este mesh. Si el mesh fuera un mesh que sirve para el origen de algún láser, el contenido de su cuadro de texto sería [nomaterial] La propiedad g2_prop_tag se utiliza por ejemplo en un mesh que sirve para el origen de algún láser. En este caso hay que activar la casilla de verificación de esta propiedad. Como puede ver en la ilustración aparecen los campos name y shader, y también se tiene que llenar estos campos.

3° Después crear en modo Object la estructura skeleton_root (Add > Armature > Single Bone) y agregar cada hueso que va a relacionarse con el grupo de vértices, y moverlo para asignarlo jerárquicamente, simplemente moviéndolo hacia dentro de su hueso “padre”. El nombre de cada uno de los huesos debe corresponder con el nombre del grupo de vértices que se creó en el paso anterior. Otra información requerida en el esqueleto es la siguiente:

En esta sección se ha indicado el objeto padre del objeto skeleton_root, es cual debe ser siempre scene_root. Las propiedades Ghoul 2 se agregan automáticamente haciendo clic en el botón Add del grupo Custom Properties. Si desea cambiar la escala del esqueleto, se ingresa el porcentaje en el cuadro de texto g2_prop_scale, y luego hacer clic en el botón edit para ingresar otras propiedades (Min y Max) para ingresar el porcentaje mínimo y máximo de la escala), los cuales serían 0.000 y 1.000.

4° Se procede a crear la animación del modelo. Para esto ya debería haber tenido idea de qué mesh son los que van a tener movimiento y cuántos frames se ocupan. El primer frame debe ser el número 0. Debe trabajar en modo Pose y ubicarse inicialmente en el primer frame. En el panel Outliner elija todos los huesos (mantenga pulsada la tecla Shift y luego clic en cada uno). Elija Pose > Animation > Bake Action… para crear los canales de la animación. En el cuadro de diálogo que aparece solamente modifique el frame inicial y el final. Luego sólo mover desde el modo Pose los huesos que controlan los mesh desde la vista 3D.

5° Cambie al panel DopeSheet ( ) para crear los keyframes de la animación. En este caso sólo se necesita crear dos keyframes ya que la secuencia en cada frame va cambiando automáticamente (realizado en el paso anterior). Generalmente el primer frame representa el primer movimiento que hace el(los) mesh(s) del modelo, y en el último se representa(n) el(los) mesh(s) del modelo a su estado idle. Posicionarse al inicio de cada frame “clave” y seleccionar Key>Insert Keyframes I y seleccionar LocRotScale. 6° A continuación hay que agregar los marcadores necesarios (pulsando tecla M) y ponerles el nombre adecuado (Ctrl+M para renombrarlos). Cambie a la ventana propiedades y cambie el nombre del Action ( ) que pertenece a la estructura Animation por el nombre skeleton_rootAction. 7° Una vez que se ha revisado que la animación funciona, es momento de crear una plantilla UV de cada mesh para que sirva de base para crear posteriormente su textura en otro programa. Seleccione el mesh y cambie al Modo Edición. En la ventana de edición de Propiedades, cambie a la ventana de edición UV/Image Editor. Visualice el panel de Propiedades (menú View > Properties). Haga clic en el menú Image y elija New Image. En

el cuadro de diálogo ingrese el mismo nombre que tiene el mesh, y las dimensiones (es recomendable 1024 y 1024). Deshabilite la casilla de verificación Alpha, ya que no se utiliza en modelos JA Ghoul 2. El tipo generado es Blank. En la imagen cuadrada con fondo negro pueden aparecer las superficies del modelo fuera de lugar y puede ser necesario redimensionar las superficies que aparecen en la ventana de edición UV/Image Editor, utilizando el comando scale (tecla S) y/o mover las superficies que estén encima de otras (importante si la textura no va a ser la misma en todas las superficies), usando tecla C para seleccionarlas y la tecla G para mover la selección. 8° Una vez que queden ubicadas todas las superficies seleccionadas en la ventana de UV/Image Editor, es momento de exportar la plantilla. Haga clic en el menú UVs Export y seleccione UV Layout. Elija la misma ubicación donde están los archivos gly y gla. El nombre que se debería ingresar sería el mismo que tiene el mesh, con la extensión png. Para que se elija esta plantilla como textura, haga clic en la lista desplegable Source y seleccione Single Image. En el cuadro de texto que se muestra debajo de esta lista desplegable haga clic en el botón Open a File Browser y en el cuadro de diálogo elija el archivo png que acaba de generarse en la exportación. Las superficies ahora deben de aparecer de color blanco. Para concluir este proceso, todavía falta ingresar la propiedad de shader Ghoul 2. Regrese a la ventana de edición de Propiedades y haga clic en el botón Object. Vaya hasta el final del panel Object para llegar a la categoría Ghoul 2 Properties. En el cuadro de texto shader escriba el nombre del archivo png generado en este paso, incluyendo la ubicación (ej. models/map_objects/DBY-827/[nombre_de_archivo].png) 9° El proceso de exportación de un modelo con animación a skeleton/animation (GLA) es el siguiente: 1° En la ventana 3D View, cambiar al Modo Object, y seleccionar la opción de Export (JA Ghoul 2 skeleton/animation (.gla)) del menú File 2° En el cuadro de diálogo de exportación a GLA, ingresar sólo los siguientes campos al exportar a GLA: gla name (ej. models/map_objects/DBY-827/DBY-827) 3° Seleccionar la opción Export (JA Ghoul 2 model (.glm)) del menú File 4° En el cuadro de diálogo de exportación a GLM, ingresar sólo los siguientes campos al exportar a GLM: .gla name (ej. models/map_objects/DBY-827/DBY-827) 5° Seleccionar la opción de Export (JA Ghoul 2 model animation markers (.cfg)) del menú File 6° En el cuadro de diálogo de exportación a CFG, ingresar el nombre animation.cfg (la propiedad Offset sólo se usa cuando estamos agregando la secuencia de animación en un archivo animation.cfg que tiene ya otras secuencias.

This article is from: