Intro
Vamos a tratar de extraer modelos de items o personajes de videojuegos, convertirlos a un formato de objeto imprimible y crearlos en la realidad.
Antes de usar el blog como cajón sin fondo, solía hacer documentos de texto con anotaciones sobre las cosas, lo que pasa que siempre se acaban perdiendo :(. Copypasteo y completo las notas sobre los pasos a seguir y los enlaces. Tengo que decir que ando desconectado de éste mundillo de hace un buen puñado de meses y seguro que ahora mismo tendremos herramientas mejores a las mencionadas. En cualquier caso, lo guardo por si pudiese resultar de interés.
- Extracción del fichero del videojuego: Puede ser necesario extraer y decompilar contenido del videojuego.
- Conversión del archivo a cuerpo sólido.
Nota: En mi caso, he creado una máscara de un personaje de Dota 2. Hay que tener en cuenta que la extracción/decompilación es un proceso para un determinado juego o motor concreto. Aunque recojo los pasos seguidos para extraer y decompilar, ésto valdría solamente para juegos de source y seguramente no funcione para Dota tras las actualizaciones al motor gráfico.
Extracción (Específica para juego/motor)
Ésta puede ser la parte más compleja, porque las herramientas a utilizar dependerán del juego, afortunadamente hay tutoriales para importar modelos de muchísimos juegos. Mis pruebas las he realizado con Dota 2, para ello he seguido la primera parte de ésta guía, no es necesario seguirla entera porque está obsoleta, para el caso de Dota 2 los formatos de los ficheros han cambiado el último año por causa de la actualización del motor gráfico.
Vamos a extraer en primer lugar los archivos .vpk (Valve PAK) para ello se utiliza GFCScape. Tras bajarlo e instalarlo, lo abrimos y a través de File -> Open, buscamos en “nuestra instalación de Steam/steamapp/scommon/dota 2 beta/game/dota” el fichero “pak01_dir.vpk” y lo abrimos, tras ello, aparecerá un árbol en el menú de la izquierda, click derecho en “root” y pulsamos Extract, elegimos un directorio y comenzamos, llevará unos minutos.
Descompilación (Específica)
Con el paso anterior obtendríamos archivos de 3 tipos diferentes en la carpeta de “models”, los que nos interesan a nosotros son los .MDL, que tedremos que descompilarlos a un formato que nuestros software de diseño pueda interpretar. Para ello utilizaremos StudioCompiler, que necesita de un SDK para obtener los ficheros SMD, usaremos el de Alien Swarm, en Steam, Library -> Tools, podemos encontrarlo.
* En la página de Cannonfodder podemos encontrar otros compiladores para juegos de Valve.
Tras lanzar StudioCompiler, vamos a la pestaña Model Decompile, y definimos el directorio del SDK en el botón de Configure. Tras eso, simplemente rellenar los campos del fichero model y del directorio de output.
Se generará un fichero SMD.
Creación del fichero STL
3DSMax
Buscamos conseguir un precioso fichero STL para poder laminarlo e imprimirlo. En este caso tenemos de partida un SMD de valve, se usa 3DS Max para importarlo y poder generar (exportar) un STL. 3DSMax tiene plugins para importar casi cualquier cosa que le eches…
Una característica de los objetos creados para videojuegos es que no tienen “cuerpo”, son solamente superficies y no suelen conformar un “objeto” cerrado, es como el envoltorio de un caramelo, una lámina sin grosor ninguno. 3DSMax nos permite coger esta lámina y “extruirla”, darle cuerpo, para ello nos resulta muy útil la función “Shell”, que “tira” de cada cara de la figura en una dirección perpendicular a ella. Link!
Podría ser que nuestra figura quede con pequeños extraños en las intersecciones de las nuevas caras resultado del Shell. Haciendo que haya “agujeros” entre caras que hacen que la pieza no quede completamente cerrada como una figura con cuerpo, por lo que estaríamos en una situación parecida a la anterior.
Modelrepair
Una herramienta que puede resultar útil para corregir ésto es:
https://modelrepair.azurewebsites.net/
Netfabb
Ésta es la herramienta que siempre he utilizado para “partir” modelos de piezas grandes en piezas más pequeñas.
Otra cosa que ofrece Netfabb es que también puede fixear los agujeros de la figura. Sería con las funciones Extras -> Repair. Hace más de un año que no lo utilizo y estoy viendo que ahora es parte de autodesk, seguramente será capaz de muchas más cosas.
Resultado
Links a cholón
https://www.autodesk.com/education/free-software/3ds-max
https://www.autodesk.com/education/free-software/netfabb
https://web.archive.org/web/20130630101519/http://wyksblog.com/getting-started-dota-2-cosmetics
https://modelrepair.azurewebsites.net/
https://developer.valvesoftware.com/wiki/3DS_Max
http://www.chaosincarnate.net/cannonfodder/cftools.php
http://www.thingiverse.com/thing:952560