modding con Blender: age of Empires i.

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.

Nombre:  1.jpg
Visitas: 1499
Tamaño: 52.2 KB


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

Nombre:  2.jpg
Visitas: 1499
Tamaño: 99.1 KB


Buscamos los archivos. Bar dentro de la carpeta del juego. Para esto, he utilizado el visualizador xnview en lugar del buscador del Windows Vista.

Nombre:  3.jpg
Visitas: 1430
Tamaño: 77.6 KB

Nombre:  4.jpg
Visitas: 1446
Tamaño: 75.9 KB


Seleccionamos todo y copiamos a la carpeta del proyecto.

Nombre:  5.jpg
Visitas: 1487
Tamaño: 102.3 KB


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

Nombre:  6.jpg
Visitas: 1455
Tamaño: 44.9 KB

Nombre:  7.jpg
Visitas: 1505
Tamaño: 48.1 KB


Lanzamos el extractor de archivos.bar llamado archiveviewer, exe y abrimos art1.bar para extraer todo en la misma carpeta.

Nombre:  8.jpg
Visitas: 1453
Tamaño: 116.7 KB


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.

Nombre:  9.jpg
Visitas: 1399
Tamaño: 50.7 KB


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.

Nombre:  10.jpg
Visitas: 1431
Tamaño: 86.2 KB


Seleccionamos todo y lo copiamos a la carpeta texturas creada anteriormente.

Nombre:  11.jpg
Visitas: 1480
Tamaño: 51.6 KB


Con la herramienta fileconverter, exe seleccionamos todos los archivos.ddt de la carpeta texturas para convertirlos a.tga.

Nombre:  12.jpg
Visitas: 1446
Tamaño: 165.1 KB


Ahora, en la carpeta texturas eliminamos todos los archivos.ddt dejando solamente 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.

Nombre:  13.jpg
Visitas: 1489
Tamaño: 97.9 KB


Marcamos la opción capture texture cords.

Nombre:  14.jpg
Visitas: 1433
Tamaño: 89.7 KB


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 Control + mayúsculas+f.

Pulsamos el botón start application para iniciar el proceso.

Nombre:  15.jpg
Visitas: 1398
Tamaño: 86.1 KB


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.

Nombre:  16.jpg
Visitas: 1377
Tamaño: 46.2 KB

Nombre:  17.jpg
Visitas: 1430
Tamaño: 68.1 KB


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.

Nombre:  18.jpg
Visitas: 1404
Tamaño: 104.9 KB

Nombre:  19.jpg
Visitas: 1487
Tamaño: 112.4 KB

Nombre:  20.jpg
Visitas: 1372
Tamaño: 87.6 KB


Finalmente, volvemos al menú inicial para realizar la captura de pantalla pulsando Control + 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.

Nombre:  21.jpg
Visitas: 1336
Tamaño: 33.8 KB

Nombre:  22.jpg
Visitas: 1358
Tamaño: 64.0 KB


Cerramos la aplicación granny viewer y desde Blender abrimos el archivo (*.obj) que se encuentra en la carpeta mallas.

Nombre:  23.jpg
Visitas: 1379
Tamaño: 35.7 KB


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.

Nombre:  24.jpg
Visitas: 1410
Tamaño: 38.4 KB


Desde modo objeto selecciona la malla con el bdr (botón derecho del ratón) para cambiar a modo edición, donde de-seleccionamos 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.

Nombre:  25.jpg
Visitas: 1312
Tamaño: 75.2 KB


Invertimos la selección con la orden del menú select-->inverse o pulsar Control + i, para eliminar el resto de la malla pulsando la tecla.

Suprimir y seleccionando la opción Faces, es decir caras.

Nombre:  26.jpg
Visitas: 1326
Tamaño: 35.4 KB

Nombre:  27.jpg
Visitas: 1374
Tamaño: 29.3 KB


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.

Nombre:  28.jpg
Visitas: 1382
Tamaño: 133.5 KB


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.

Nombre:  29.jpg
Visitas: 1542
Tamaño: 128.9 KB


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.

Nombre:  30.jpg
Visitas: 1415
Tamaño: 111.6 KB


Desde Blender.

Nombre:  31.jpg
Visitas: 1372
Tamaño: 68.3 KB


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).

Nombre:  32.jpg
Visitas: 1437
Tamaño: 102.0 KB


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 de-seleccionamos 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.

Nombre:  33.jpg
Visitas: 1410
Tamaño: 183.3 KB


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

Nombre:  34.jpg
Visitas: 1369
Tamaño: 165.3 KB


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.

Nombre:  35.jpg
Visitas: 1506
Tamaño: 165.6 KB


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 a 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.

Nombre:  36.jpg
Visitas: 1820
Tamaño: 76.0 KB


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.

Nombre:  cats.jpg
Visitas: 1388
Tamaño: 92.2 KB


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.