Modding con Blender: age of empires i
modding con Blender: age of Empires i. Por isgren
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 [URL=http://www.Python.org/ftp/Python/2.5.2/Python-2.5.2.ms http://www.Python.org/ftp/Python/2.5.2/Python-2.5.2.msi [/url].
Instalar última versión de Blender [URL=http://download.blender.org/release/blender2.49a/blender-2.49a-avifix-Windows, ex http://download.blender.org/[/url]
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)
[URL=http://forums.heavengames.com/redir/http%3a//games, build-a.com/aoe3/files/aoe3ed, ex http://forums.heavengames.com/redir/http%3a//games, build-a.com/aoe3/files/aoe3ed, exe.[/url]
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.

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

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


seleccionamos todo y copiamos a la carpeta del proyecto.

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

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

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.

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.

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

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

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.

Marcamos la opción capture texture cords.

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.

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.


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.


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.

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

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.

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.

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.


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.

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.

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.

Desde Blender.

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

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.

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

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.

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.

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.

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.
Por isgren
.
Última edición por 3dpoder; 06-07-2009 a las 10:11
|Agradecer cuando alguien te ayuda es de ser agradecido|