Clan DLAN
Herramientas personales
Clan DLAN
Clan DLAN
Clan DLAN
Clan DLAN
Clan DLAN

Tutorial Crear una espada

De Videojuegos

Tutorial para crear una espada

Contenido

Descripción

Espada en el juego

Puedes crear una espada desde cero o a partir de mallas (meshes) existentes. En este tutorial utilizaré una espada creada desde cero, para poder mostrar todos los pasos que hay que seguir, aunque si utilizas espadas existentes y sólo quieres modificar las texturas o las bonificaciones del objeto, te puedes saltar los primeros pasos.

Los pasos principales son:

  • Crear la espada en Blender:
    • darle forma a la espada
    • añadirle un material
    • añadirle los UV maps
    • crear las texturas y los normal maps en GIMP
    • centrar la espada y darle las dimensiones correctas
    • añadirle una malla de colisión
  • Exportar la espada
  • Retocar la espada en NifSkope
  • Añadir la espada al juego usando el GECK


Crear la espada en Blender

Darle forma a la espada

En este tutorial no explicaré cómo utilizar Blender para modelar objetos en 3d, ya que existen tutoriales muy buenos en castellano, como por ejemplo Blender 3D: de novato a profesional.


Añadir un material

Añadir material
Añadir textura
Map Input: UV
Asociar la textura a una imagen

A la vez que das la forma a la espada o después, has de añadirle como mínimo un material. El juego necesita el material que añadas porque a él le asociará las texturas, los UVmaps y las propiedades que hacen que se vea de una forma u otra dentro del juego.

Para crear el material, en el panel Editing (F9), aprieta en el botón "New" (dentro del círculo rojo en la imagen Añadir material).

A continuación, en el panel Shading (F5) aprieta la bolita roja (Material buttons), y te aparecerá el panel que aparece en la imagen Añadir textura. En este panel puedes cambiar el nombre al material en la pestaña Links and Pipeline, cambiar las propiedades del material, y añadirle una textura. Las propiedades del material pueden modificarse en NifSkope, y es más sencillo hacerlo allí, por lo que en esta pantalla sólo añadiremos una textura al material. Para ello aprieta el botón "Add New" de la pestaña Texture.

Una vez has añadido una nueva textura te aparecen dos pestañas nuevas "Map Input" y "Map To". Ve a la pestaña Map Input y selecciona UV como en la imagen Map Input: UV. Esto es necesario para que la malla interprete que la textura le vendrá dada a través de las posiciones de los vértices en el UVmap.

El último paso es asociar la textura que acabas de crear a una imagen. De momento puedes asociar cualquier imagen, no hace falta que sea la definitiva. Ésta ya la asociaresmos a la malla en NifSkope. Para asociar la imagen aprieta el botón Texture buttons (F6) como en la imagen Asociar la textura a una imagen, y en el desplegable Texture type selecciona "Image". Te aparecerá una ventana para que elijas el fichero de la textura, y como he comentado antes, puedes asociar aquí cualquier fichero dds que tengas porque luego en NifSkope podrás asociar la textura definitiva.


Añadir los UV maps

Pantalla UV/Image editor
Generar los UV maps

Una vez tengas la espada con la forma que quieras y al menos un material añadido, tienes que darle color o se verá transparente en el juego.

Para ello el primer paso es crear los UV maps. Los UV maps son proyecciones en 2 dimensiones de la malla, que es en 3 dimensiones. Con los UV maps le dices a la malla qué zona de la textura, que es un dibujo plano en 2 dimensiones, ha de pintar cada una de las caras de la malla.

  • Subdivide la pantalla de Blender en dos ventanas: haz doble click con el botón derecho en la parte de arriba de la pantalla y selecciona "Split area" y mueve la línea de separación entre las ventanas hasta que las dos tengan más o menos el mismo tamaño.
  • En la pantalla de la derecha elige "UV/Image Editor" tal como se muestra en la imagen.
  • En la pantalla de la izquierda, donde tienes la espada, sigue estos pasos:
    • en "Edit Mode" selecciona las caras de la espada que quieras pintar juntas
    • abre el menú Mesh -> UVUnwrap, y te aparecerá una pantalla cómo la que se muestra en la imágen. Selecciona la opción para generar los UVmaps que mejor te vaya. Yo suelo usar o Unwrap o Project from View (proyectar desde la vista actual), pero puedes ir probando cual te funciona mejor. Si utilizas Project from view, ten en cuenta que el UVmap se generará tal como estés viendo la malla en ese momento, así que asegúrate de que tienes el objeto en la posición mejor para generarlo.
    • en la pantalla de la derecha te aparecerán los UVmaps que acabas de generar. Puedes trabajar con ellos igual que con los objetos, cambiándolos de tamaño, de posición, etc.
  • Una vez tengas todos los UVmaps generados para tu espada, guarda una imagen de ellos para luego poder crear las texturas sabiendo donde pintar. Para ello, en la pantalla UV/Image editor, selecciona: UVs -> Scripts -> Save UV Face Layout y dale a OK. En la pantalla que aparece a continuación, selecciona el directorio y pon el nombre con el que quieras guardar el UV map.


Crear las texturas y los Normal maps en GIMP

Ventana Normal map

El siguiente paso es crear las texturas: para ello puedes usar un programa de dibujo como GIMP. En GIMP puedes importar el dibujo de los UV maps y utilizarlo de guía para crear las texturas, así sabrás qué trozo de la espada estás pintando en cada momento.

Una vez creadas las texturas guárdalas con formato dds que es el que necesita el juego. Si las texturas no tienen transparencia, puedes guardarlas con formato DTX1, que es el que tiene más compresión. Asegúrate de que el flag "Generate mipmaps" está seleccionado al guardar.

El siguiente paso es crear los normal maps, que son los que le darán sensación de volumen a tu espada. Puedes crear un normal map a partir de la textura que hayas pintado, para ello sigue estos pasos:

  • Selecciona Colores -> Color a alfa, selecciona el color negro cmoo color de transparencia (alfa) y dale a OK. La textura ahora te habrá quedado muy transparente, es corercto.
  • Selecciona Filtros -> Mapa -> Normalmap, se te abrirá una ventana como la de la pantalla:
    • si aprietas 3d preview, podrás ver en otra pantalla cómo los cambios que hagas en los parámetros le dan más o menos profundidad al normal map.
    • selecciona el flag "Wrap" y cambia el valor de "Height source" a Alpha.
    • selecciona un filtro (yo normalmente uso 3x3 pero puedes probar diferentes filtros y ver cual te convence más).
    • puedes variar la escala (scale) para que el normal map tenga más profundidad (yo uso 3 ó 4 normalmente).
    • Aprieta el botón aceptar y tu textura habrá pasado a tener un tono azulado: este es el normal map. Guárdalo con el mismo nombre que tu textura con la extensión _n.dds y en formato DTX5. Asegúrate de que el flag "Generate mipmaps" está seleccionado al guardar.


Centrar la espada y darle las dimensiones correctas

Centrar la espada

Para que la espada se vea bien en el juego en cuanto a posición y dimensiones, lo más fácil es ayudarse de una espada que ya funcione en el juego. Piensa que el centro de la espada es el punto por el que los personajes la cogerán en el juego.

  • Importa la otra espada (en el ejemplo es la espada de oficial chino)
  • Alinea los centros de los dos objetos:
    • en Object mode selecciona la espada importada y selecciona Object -> Snap -> "Cursor -> Selection". Al hacer esto, el cursor se ha colocado en el centro de la espada importada.
    • selecciona tu espada y selecciona Object -> Snap -> "Selection -> Cursor". Ahora el centro de tu espada está en el mismo sitio que el de la espada que te ha servido de guía.
  • Puede ser que tu espada haya quedado en una posición rara después de mover el centro, puedes mover tu espada pero sólo en Edit mode, seleccionando todos los vértices a la vez y moviéndolos o rotándolos. Al mover los vértices en Edit mode no modificas el centro del objeto.
  • Una vez tengas la espada en la posición correcta, puedes cambiar su tamaño escalándola, tomando como guía la espada que has importado.


Crear una malla de colisión

Crear malla de colisión
Añadir lógica a la malla de colisión

El último paso en Blender es añadir colisión a la espada, de forma que en el juego la espada no atraviese el suelo cuando la tiras. Blender tiene un script que crea automáticamente mallas de colisión para un objeto:

  • selecciona la espada
  • pasa a Edit Mode
  • selecciona el menú Mesh -> Scripts -> Hull, como se ve en la imagen.
  • selecciona la opció que prefieras. Si tu espada tiene forma compleja, como el caso del ejemplo, selecciona Convex entre las opciones que te aparecen.
  • dale al botón OK para aceptar la precisión que Blender te propone (0.100).
  • espera un rato y cuando acabe el script te habrá aparecido una rosa que envuelve a la espada: esa es la malla de colisión.

Una vez la malla de colisión esté creada selecciónala y, en Object Mode:

  • aprieta el botón "Object" o la tecla F7 y comprueba que el valor de Drawtype es Bounds, y que el de Draw Extra es Wire
  • aprieta el botón "Logic" o la tecla F4
    • define el tipo de colisión como Dynamic, dale un valor a la masa (en el ejemplo es de 7), y comprueba que el radio (la esfera punteada en la imágen) es correcto, ni demasiado grande ni demasiado pequeño.
    • comprueba que Bounds está apretado, que el tipo de polígono es Convex Hull
    • aprieta el botón "Add property" y rellena las tres cajitas que te aparecen debajo de este botón de la sigueinte forma:
      • en la primera caja selecciona "String"
      • en la segunda caja donde pone Name:prop escribe HavokMaterial, de forma que quedará Name:HavokMaterial.
      • en la tercera caja escribe HAV_MAT_METAL (esto si quieres que suene a metal. Si quieres que suene a piedra, escribe HAV_MAT_STONE, si quieres que suene a madera escribe HAV_MAT_WOOD).


Exportar la espada

Ctrl+A
Exportar a nif

Antes de exportar, en Objetc Mode selecciona todos los objetos (la espada y la malla de colisión) y aprieta las teclas Ctrl y A. Selecciona la opción "Scale and Rotation to ObData".

Para exportar la estatua:

  • En Object Mode, selecciona todos los objetos (la espada y la malla de colisión).
  • elige la opción de exportación de ficheros nif y kf, y dale un nombre al fichero (Espada.nif, por ejemplo).
  • en la pantalla que te aparece
    • aprieta el botón Weapon y selecciona "Metal" (si la espada va a ser de metal. Sino, elige el material que creas conveniente), y establece su peso (Mass).
    • deselecciona las opciones Flatten Skin y Export Skin Partition porque no aplican a la espada ya que no muestra piel, aunque no pasa nada por tenerlas seleccionadas.
    • presiona el botón OK.


Retocar la espada en NifSkope

Copiar la forma de la espada

Copiar la forma de la malla de colisión
Copiar la forma de la espada

Si estuviésemos haciendo la espada para Oblivion, en NifSkope sólo habría que dar unos últimos retoques: asociar las texturas definitivas y modificar los valores del material si es necesario, y ya estaría. Pero para Fallout las herramientas de exportación aún es necesario hacer algunas cosas manualmente para que todo funcione correctamente en el juego, aunque con cada versión nueva de Niftools el proceso es más parecido al de Oblivion, siendo necesarias menos manualidades.

De momento, lo que hay que hacer es lo siguiente:

  • abre dos ventanas de NifSkope, en una de ellas carga el fichero nif con tu espada y en el otro abre el fichero nif de una espada del juego (lo mejor es que uses la que utilizaste como guía para centrar tu espada).
  • Lo que hay que hacer a continuación es copiar la forma de tu espada en el nif de la espada del juego, por lo que va bien guardar el fichero nif de la espada del juego con un nuevo nombre, por ejemplo EspadaFallout.nif como medida de precaución.
  • Para copiar la forma de la malla de colisión:
    • ves a tu fichero Espada.nif, selecciona el nodo bhkConvexVerticesShape (ver imagen Copiar la forma de la malla de colisión) y haz click con el botón derecho del ratón sobre él. Te aparecerá un menú del que debes seleccionar la opción Block -> Copy.
    • ves al fichero del juego EspadaFallout.nif, selecciona el nodo bhkConvexVerticesShape y haz click con el botón derecho del ratón sobre él. Te aparecerá un menú del que debes seleccionar la opción Block -> Paste Over. Ahora en este fichero la forma de la malla de colisión es la que creaste en Blender.
    • Si quieres puedes cambiar el valor del HavokMaterial por otro de los valores disponibles en la lista tal como se indica en la imagen Copiar la forma de la malla de colisión. Cambiando este valor, la espada sonará de diferente forma cuando la tires al suelo.
  • Para copiar la forma de la espada:
    • ves a tu fichero Espada.nif, selecciona el nodo NiTriStripsData (ver imagen Copiar la forma de la espada) y haz click con el botón derecho del ratón sobre él. Te aparecerá un menú del que debes seleccionar la opción Block -> Copy.
    • ves al fichero del juego EspadaFallout.nif, selecciona el nodo NiTriStripsData y haz click con el botón derecho del ratón sobre él. Te aparecerá un menú del que debes seleccionar la opción Block -> Paste Over. Ahora en este fichero la forma de la espada es la que creaste en Blender.
    • Si quieres puedes cambiar el valor de los TSpaceFlag de 240, que es el valor que pone Blender al exportar, a 16 que es el valor que usan las mallas en el juego (ver imagen Copiar la forma de la espada). Una vez hayas cambiado el valor de este parámetro, baja un poco y verás los parámetros Binormals y Tangents. Haz click con el botón derecho del ratón encima de las flechitas verdes que tienen estos dos parámetros y selecciona Array -> Update. Luego selecciona el nodo principal, BSFadeNode arriba de todo, y en el menú de arriba selecciona: Spells -> Batch -> Update All Tangent Spaces, y espera a que NifSkope acabe de realizar la tarea.


Modificar texturas y materiales

Shader flags
Texturas
Material

En Fallout han aparecido unos parámetros nuevos, los Shader flags, que es necesario que estén bien seleccionados en la malla o el objeto puede verse mal en el juego (demasiado brillante, demasiado oscuro, etc) e incluso puede ser completamente invisible. Para verificar o modificar sus valores selecciona el nodo BSShaderPPLightingProperty (ver imagen Shader flags) y en Block details busca la propiedad Shader flags. En la imagen puedes ver los que he usado yo para mi espada.

A continuacíón asocia los ficheros de las texturas que creaste antes a la malla. Para eso selecciona el nodo BSShaderTextureSet (ver imagen Texturas) y en Block details expande la propiedad Textures: verás que hay espacio para 6 imágenes, pero en principio sólo has de rellenar las dos primeras. En la primera posición, arriba del todo, pon el link a la textura donde hayas pintado el color y en la segunda posición pon el link al normal map. Comprueba que los ficheros de texturas empiezan así: textures\... como en la imágen Texturas (si los ficheros empiezan C:\Archivos de Programa\Bethesda Softworks\Fallout3\Data\textures\..., o \textures\... pueden no cargarse en el juego y provocar que los objetos se vean lilas o negros).

El último paso es modificar el material. Bajo el nodo NiTriStrips que tiene la forma de tu espada, selecciona el nodo NiMaterialProperty, haz click con el botón derecho del ratón sobre él y seleeciona Material: se te arbrirá una pantalla como la de la imagen Material. En Fallout, los materiales no tienen nombre, así que borra el nombre que aparezca en el recuadro superior (si es que aparece algún nombre). En esta pantalla puedes modificar los valores de los colores de Ambiente, Difuso, Especular y Emisivo de la espada, además de el nivel de transparencia (Alpha) y el brillo (Glossiness). También pueeds modificar estos valores de forma numérica en la pantalla de abajo (para abrirla, selecciona View -> Block details).

Una vez hayas modificado estos valores, guarda el fichero nif de tu espada.


Añadir la espada al juego

Propiedades de la espada
Propiedades de la espada II

Para colocar la espada en el juego has de usar el GECK. Los pasos a seguir son:

  • crea una arma nueva, para ello lo más fácil es que busques una espada existente en el juego, haz doble click sobre ella para abrir la pantalla con sus características y cámbiale el ID y el nombre, que son los dos primeros campos que están arriba del todo en la imagen Propiedades de la espada. Haz click en el botón aceptar y el GECK te preguntará si quieres crear un objeto nuevo, dile que sí.

Nota: el GECK tiene la mala costumbre de lanzar muchos mensajes de Warning. Cuando te aparezca uno de estos mensajes dale a "Cancelar" y ya no te aparecerán más.

  • vuelve a abrir la espada que acabas de crear con tu ID y tu nombre, y modifica los valores que quieras.

Algunos valores útiles son:

  • En la parte de arriba de la pantalla (imagen Propiedades de la espada):
    • Script: si quieres añadirle un script a tu arma indica aquí de qué script se trata (puedes dejarlo en blanco).
    • Repair item list (arriba a la derecha): indica la Form list que le dice al juego con qué objetos se puede reparar tu arma
    • Equip type: indica el tipo de arma que es y la animación que ha de usarse para equiparla y atacar.
    • Skill: indica qué habilidad gobierna al arma
    • Flags, Playable: indica que la puede usar tu caracter
  • En la pestaña Game Data (imagen Propiedades de la espada):
    • Weight: Peso del arma
    • Value: Lo que cuesta en chapas cuando está al 100% de su condición
    • Reach: Alcance
    • El daño que hace arma sigue una fórmula que tiene en cuenta bastantes valores, los más importantes son: Damage, Crit Dmg, Limb Dmg Mult, Crit % Mult y Base VATS to hit chance (si usas el VATS).
    • Crit Effect: indica si el arma produce algún efecto visual sobre el NPC al que ataques con este arma
    • Resist: si el arma es resistente a algo (fuego, electricidad, etc)
    • On hit: si al golpear con el arma el atacado sólo es desmembrado, explota, o si simplemente muere sin efectos gore.
  • En la pestaña Art and Sound (imagen Propiedades de la espada II):
    • Inventory image: fichero que contiene el icono del arma que verás en el Pipboy
    • Message icon: fichero que contiene el icono del arma que verás en los mensajes
    • Model: el fichero con la malla de tu espada (EspadaFallout.nif en el ejemplo). Aprieta el botón Edit y se te abrirá una pestaña desde donde seleccionar el fichero con tu espada.
    • 1st Person Model Object: Objeto Static que contiene la malla de tu espada a usar en primera persona. Si quieres puedes usar la misma malla que en tercera persona o puedes usar una malla con más detalle ya que en el juego la ves desde más cerca.


Para colocar la espada en el mundo:

  • selecciona la celda donde quieras colocar la espada en la seccion "Cell View" y haz doble click sobre ella para que se abra en la ventana de Render.
    • para saber cual es la celda donde poner tu espada, en el juego abre la consola y teclea:
  sdt 31
  tdt

Al hacer esto te aparecerá en la parte superior izquierda de la pantalla el nombre o las coordenadas de la celda en donde estás.

  • arrastra el objeto que has creado a la celda en la pantalla de render y colócalo a tu gusto (tienes más detalle en el tutorial Colocar un joyero, aunque es para Oblivion, en Fallout funciona igual).
  • guarda el fichero esp modificado con la espada colocada en el mundo, actívalo y ves a comprobar los resultados en el juego :)


Herramientas Necesarias