Modding con Blender: Age of Empires III


Comenzaremos descargando los programas necesarios. Los enlaces son para la plataforma Windows 32 bits:
1) Blender:
– Instalar Python 2.5.2 http://www.python.org/ftp/python/2.5.2/python-2.5.2.msi
– Instalar última versión de Blender
http://download.blender.org/
2) OpenGLExtractor:
http://members.chello.at/alexan/ogle/GLXtractor.zip
3) Visualizador del Granny3D
http://gr2decode.altervista.org/files/gr2_viewer.zip
Listado de juegos que podemos utilizar con el visualizador Granny3D
http://gr2decode.altervista.org/gamelist.html
4) Extractor de archivos .bar (donde se encuentran los recursos del juego)
http://forums.heavengames.com/redir/...les/AoE3Ed.exe
Esta herramienta incluye un conversor de archivos .ddt a .tga
5) También utilizo un visualizador de imágenes http://www.xnview.com
Creamos una carpeta temporal en el directorio raíz donde añadiremos los programas necesarios.

Modding con Blender: age of Empires III-1.jpg


Extraemos los 3 archivos en la misma carpeta y los eliminamos.

Modding con Blender: age of Empires III-2.jpg


Buscamos los archivos .BAR dentro de la carpeta del juego. Para esto, he utilizado el visualizador XnView en lugar del buscador del Windows vista.

Modding con Blender: age of Empires III-3.jpg


Modding con Blender: age of Empires III-4.jpg


Seleccionamos todo y copiamos a la carpeta del proyecto.

Modding con Blender: age of Empires III-5.jpg


Antes de comenzar, vamos a crear dos carpetas, una para guardar las mallas y otra para guardar las texturas.

Modding con Blender: age of Empires III-6.jpg


Modding con Blender: age of Empires III-7.jpg


Lanzamos el extractor de archivos .bar llamado ArchiveViewer.exe y abrimos Art1.bar para extraer todo en la misma carpeta.

Modding con Blender: age of Empires III-8.jpg


Hacemos lo mismo con art2.bar y ar3.bar, ya que en Art1.bar no se encuentran todas las texturas de las mallas.
En Font.bar encontraremos varios tipos de fuentes de texto y en Sound.bar una colección de sonidos en formato .wav.
Este sería el resultado.

Modding con Blender: age of Empires III-9.jpg


Las mallas en formato .gr2 junto a sus texturas en formato .ddt se encuentran en las carpetas buildings, homecity, objects, terrain y units.
En la carpeta 'cursors' encontraremos una colección de cursores para el ratón del ordenador.
Antes de visualizar las mallas con el Granny Viewer, vamos a convertir los archivos .ddt a .tga.
Primero realizaré una búsqueda de los archivos .ddt en la carpeta 'Art' desde el XnView.

Modding con Blender: age of Empires III-10.jpg


Seleccionamos todo y lo copiamos a la carpeta 'Texturas' creada anteriormente.

Modding con Blender: age of Empires III-11.jpg


Con la herramienta 'FileConverter.exe' seleccionamos todos los archivos .ddt de la carpeta 'Texturas' para convertirlos a .tga.

Modding con Blender: age of Empires III-12.jpg


Ahora, en la carpeta 'Texturas' eliminamos todos los archivos .ddt dejando sólamente los archivos .tga, que son los que utilizaremos con Blender.

Sólo falta convertir el formato de la malla .gr2 a un formato que reconozca Blender. Para esto, vamos a utilizar 'GLXtractor.exe'. Elegimos la aplicación desde la cual visualizaremos las mallas .gr2 para realizar la captura, en este caso Granny3D Viewer.

Modding con Blender: age of Empires III-13.jpg


Marcamos la opción 'Capture Texture Coords'.

Modding con Blender: age of Empires III-14.jpg


También establecemos a la carpeta 'Mallas', creada anteriormente, como destino de las capturas del proceso y, aunque es opcional, el nombre del archivo .obj por 'captura'. Guardamos los cambios realizados pulsando el botón 'Save'.
Vemos que la combinación de teclas utilizadas para realizar la captura es ctrl+mayúsculas+f.
Pulsamos el botón 'Start Application' para iniciar el proceso.

Modding con Blender: age of Empires III-15.jpg


Ya desde el 'Granny Viewer' abrimos un archivo .gr2 seleccionando la opción 'Load File', desde una de las subcarpetas que encuentran dentro de 'Art'.

Modding con Blender: age of Empires III-16.jpg


Modding con Blender: age of Empires III-17.jpg


Antes de realizar la captura voy a eliminar los ejes, la rejilla y resetear la orientación de la malla.
Aquí dejo unas imágenes del proceso.

Modding con Blender: age of Empires III-18.jpg


Modding con Blender: age of Empires III-19.jpg


Modding con Blender: age of Empires III-20.jpg


Finalmente, volvemos al menú inicial para realizar la captura de pantalla pulsando ctrl+mayúsculas+f.
ANOTACIÓN: Para visualizar las mallas debemos estar situados en la pestaña 'Scene Preview'. Si queremos seguir realizando nuevas capturas de otras mallas debemos pulsar sobre 'Clear All', es decir 'Limpiar Todo', para limpiar el escenario. A continuación, pulsamos sobre 'Load File' para cargar la nueva malla.

Modding con Blender: age of Empires III-21.jpg


Modding con Blender: age of Empires III-22.jpg


Cerramos la aplicación 'Granny Viewer' y desde Blender abrimos el archivo .obj que se encuentra en la carpeta 'Mallas'.

Modding con Blender: age of Empires III-23.jpg


Durante la captura se han guardado formas que no forman parte del objeto 3D que estamos tratando.
Si nos acercamos al centro del escenario haciendo un zoom con la rueda del ratón y rotamos la vista manteniendo pulsada la rueda del ratón mientras lo desplazamos, podremos localizar el edificio representado por el objeto 3D.

Modding con Blender: age of Empires III-24.jpg


Desde modo objeto selecciona la malla con el BDR (Botón derecho del Ratón) para cambiar a modo edición, donde deseleccionamos todo pulsando A, y a continuación seleccionamos las partes de la malla que representan el edificio utilizando la orden del menú Select--> Border Select o pulsa tecla de acceso rápido B.

Modding con Blender: age of Empires III-25.jpg


Invertimos la selección con la orden del menú 'Select-->Inverse' o pulsar Ctrl+I, para eliminar el resto de la malla pulsando la tecla
Suprimir y seleccionando la opción 'Faces', es decir 'Caras'.

Modding con Blender: age of Empires III-26.jpg


Modding con Blender: age of Empires III-27.jpg


El edificio esta formado por dos partes. Si seleccionamos ambas partes por separado podremos ver las coordenadas del mapeado desde la ventana del UV/Image Editor.

Modding con Blender: age of Empires III-28.jpg


En el mapeado de la imagen superior apreciamos que la base del edificio esta proyectada de tal forma que abarca toda la zona del mapeado, superponiéndose a otras zonas del edificio. Esto significa que la base del edificio utiliza una textura diferente al resto.

Modding con Blender: age of Empires III-29.jpg


En cambio, en el mapeado de la otra parte del edificio no encontraremos ese problema.
Para encontrar las texturas que utiliza esta malla he buscado en la carpeta 'Texturas' los archivos que contienen la palabra 'church' con XnView.
Estas serían las texturas a utilizar.

Modding con Blender: age of Empires III-30.jpg


Desde Blender.

Modding con Blender: age of Empires III-31.jpg


Después de abrir la imagen, esta no aparece en la ventana del UV/Image Editor pero sí aplicada sobre la malla. Vemos que la disposición de la textura sobre la malla esta invertida verticalmente por lo tanto habrá que invertir verticalmente (eje Y) el mapeado. (Con el puntero del ratón sobre la ventana del UV/Image Editor pulsa A hasta seleccionar todo, a continuación ejecuta la orden del menú UVs-->Mirror-->Y Axis).

Modding con Blender: age of Empires III-32.jpg


Seleccionamos la otra parte de la malla donde tendremos que deseleccionar las zonas que comprenden la base del edificio. Para esto marcamos el botón 'Sync UV and Mesh Selection', es decir 'Sincronizar Vista del Mapeado y Malla Seleccionada', y desde la ventana 3D deseleccionamos utilizando 'Border Select' en su forma circular pulsando dos veces consecutivas la tecla B. Para deseleccionar vértices con esta herramientas establece la circunferencia de selección girando la rueda del ratón y pulsar ese mismo botón para deseleccionar.

Modding con Blender: age of Empires III-33.jpg


También tendremos que invertir las coordenadas del mapeado verticalmente.

Modding con Blender: age of Empires III-34.jpg


Utilizando la misma herramienta de selección circular, seleccionamos la zona que corresponde a la base del edificio y abrimos la imagen donde se encuentra la textura.

Modding con Blender: age of Empires III-35.jpg


Después de abrir la imagen vemos que mientras en la ventana del UV/Image Editor sigue apareciendo la textura anterior, sobre la malla sí se ha aplicado la nueva textura (tendremos que invertir verticalmente las coordenadas del mapeado de nuevo). Pulsamos sobre el botón con la imagen de un paquete, para empaquetar la imagen en el .blend de la malla.
Finalmente, establecemos un nombre a la malla(ME) y al objeto(OB) que utiliza Blender, y eliminamos el material creado durante la importación del archivo .obj

Modding con Blender: age of Empires III-36.jpg


Para crear un nuevo material que nos sirva en la utilización del modelo 3D desde un motor de juego, donde marcamos el botón 'TexFace'.

Modding con Blender: age of Empires III-cats.jpg


El ejemplo utilizado ha sido obtenido desde la carpeta 'Art\homecity' y se trata de un edificio con dos puntos de vista diferentes, donde se han eliminado algunas de sus partes para reducir el número de polígonos ya que durante el juego se mantiene un ángulo de visión fijo.
Si buscamos edificios cerrados totalmente, debemos buscar en la carpeta 'Art\buildings'.