Atras Menú

Black-byte

Arte 3d profesional y mods

Después de un tiempo de trabajar con gráficos noobish (los mios por supuesto) para demos y demás (ver referencia de mi portafolio en la imagen superior), tenía la curiosidad de ver como es realmente el arte 3d para los juegos profesionales del momento. Como los estudios  no andan por ahí haciendo público sus modelos 3d y animaciones usadas para los videojuegos fué necesario acudir al mundo de los modders y sus herramientas para ver que se le podía sacar a un juego en limpio.

Al final he dado con bastantes herramientas para darle reversa a los modelos de la mayoría de los juegos comerciales, principalmente aquellos que usan motores conocidos como el Source de Valve, Unreal Engine, Cryengine, etc. Para este caso me interesó Mass Effect 2 que corre sobre una versión algo actualizada del Unreal Engine 3, hay que notar que la reversa que se le hace a los modelos 3d que presento a continuación es únicamente con propósitos educativos, que no me estoy lucrando con ello y que no estoy usando en otros proyectos o distribuyendo archivos reversados a partir de este procedimiento, todos los derechos de dichos modelos 3d pertenecen a Bioware y EA.

Para empezar con la reversa del Mass Effect 2 hay que tener el juego por supuesto, para este caso en su versión PC (vale la pena comprárselo, es un excelente juego). Adicionalmente son necesarias un par de herramientas para extraer e importar los modelos:

Unreal Model  Viewer (UMV) permite visualizar y extraer los modelos a partir de sus paquetes, para el caso de el Mass Effect 2 en formato PPC, ubicados en la carpeta BioGame/CookedPC. Estos paquetes contienen los modelos animaciones, textura y shaders asociados a cada modelo. Para visualizar se copia el UMV a la carpeta donde se encuentra instalado el juego y se usa la línea de comandos:

umodel #nombrepaquete

reemplazando #nombrepaquete con el nombre del archivo a visualizar, ubicado en BioGame/CookedPC y sin la extensión PPC. Con un poco de suerte se podrá encontrar el paquete deseado, para este caso estoy visualizando uno de los paquetes con el personaje de Kasumi, parte del DLC mas reciente del juego. El paquete puede contener varios modelos con sus respectivas texturas, por lo que se debe usar PgDwn y PgUp para explorar los diferentes recursos del paquete. Aqui por fin he encontrado a Kasumi sin cabeza :D .

Por supuesto el modding no para ahí, para extraer los modelos y poderlos visualizar en 3d Max o cualquier otro programa 3d se debe ejecutar

umodel -export #nombrepaquete

Esto generará un directorio con el nombre del paquete y las siguientes carpetas:

  • AnimSet: Contiene las animaciones en formato psa.
  • Material3:  Materiales del paquete con extensión .mat (no he comprobado si se pueden cargar directamente en el editor de materiales del UDK).
  • MaterialInstanceConstant: Un conjunto de valores para inicializar los materiales
  • SkeletalMesh: Los mesh con esqueleto para animaciones en formato psk. Generalmente aquí van los personajes.
  • StaticMesh: Todos los otros objetos estáticos en formato psk.
  • Texture2D: Las texturas en formato tga.

Los formatos .psk y .psa son propietarios del unreal engine, una buena referencia de éstos se puede encontrar en el UDN. Con los modelos exportados es hora de utilizar el ActorX Importer, un script que permite cargar los modelos en 3d Max. La instalación procede como la de cualquier script de 3d Max, aqui vemos al modelo de Kasumi ya en el editor.

El modelo tiene 10k polígonos y ya se puede empezar a notar la diferencia con los modelos 3d amateur a los que usualmente estoy acostumbrado. La maya es absolutamente optimizada, incluyendo todos los detalles, bordes, etc que le dan volumen (aún no incluye efectos ni texturas adicionales, solo difusión).  Las áreas claves como las articulaciones, las manos y el cuello están ejecutadas con todo el cuidado a pesar de ser “low poly”, para la muestra basta dar unas flexiones a los brazos y los dedos, aprovechando que el modelo viene ya con huesos y mapas de influencia.  Ahora una animación de prueba utilizando uno de los psa del paquete:

Por último se pasó el modelo a Lighwave donde me siento mas cómodo ajustando materiales, el modelo viene con mapa de color, difusión, normal ,especular y poder de especular, este es un resultado rápido montandolos todos en Lighwave:

El realismo es muy bueno utilizando unicamente mapas, a esto falta agregar todas las capas de shaders que corren sobre el juego. Cabe destacar tambien la forma de empacar los mapas UV, el empaquetado es eficiente y a diferencia de los modelos que realizo o veo generalmente, las partes tratan de ser grandes, continuas y bien definidas. Generalmente los modelos que hago parecen un rompecabezas al tener que fragmentar las partes mas de lo necesario (que tambien causa problemas con textura como la normal).

En definitiva mucho que aprender viendo los modelos utilizados profesionalmente en los juegos, realmente hay una brecha enorme entre desarrollar un juego por hobby y hacerlo como parte de una compañía profesional (para empezar el control de calidad, dirección de arte y artistas :D ). Para los verdaderos artistas que estan iniciando creo que puede ser muy util ver cual es el estandar de calidad para los juegos actuales.