R2 – Texturizado
Introducción
En esta actividad texturizo los dos modelos del trabajo anterior con el addon Material Works de Blender Bros y hago un bake de los materiales para que sean game ready.
Flujo de trabajo
Primero de todo agrupé los distintos elementos del modelo y les asigné vertex groups para mantener la distinción de materiales en un mismo objeto.
Tras crear los nuevos materiales con el plugin Material Works utilicé la función “Remap Users” en los materiales de blender para vincular todas las instancias del material de ejemplo que utilicé al nuevo material:
Seleccionando todas las partes del robot en modo edición “faces”, hago una smart UV project para conseguir el mapa de UVs
Para crear los materiales utilizo Material Works, de Blender Bros. La gracia de este plugin es que permite generar metales con diferentes capas de desgaste configurables a voluntad. He prestado especial atención en el desgaste de los bordes (edges) para resaltar más la silueta de las figuras hard surface.
Y una vez hecho todo esto, llega el momento de hacer el bake de las texturas. Este paso costó mucho más de lo esperado, ya que todas las herramientas de las que disponía para hacer el bake daban herror o no creaban un mapa de UVs coherente. Siguiendo el tutorial “Blender Baking Textures in less that 1 Minute using Omniverse“, decidí utilizar la implementación de Envidia Omniverse en Blender.
Por desgracia, con este método por alguna razón aparecía el error Circular dependency for image “Basic_Metal_basecolor.png” from object “Cube.029_baked” (ejemplo). Tras prueba y error descubrí que se producía debido al uso compartido de las instancias de las texturas del plugin Material Works, de modo que para arreglarlo fui uno por uno en los nodos de las texturas haciendo únicas las instancias (single-user copy):
Este proceso convierte en tedioso lo que en un principio pensaba que iba a ser sencillo (eso sin contar las diversas otras pruebas que realicé haciendo bake con la herramienta nativa de Blender, usando el blugin Bystedts Blender Baker…). Aun así, creo que Omniverse es una herramienta muy potente y si creas las texturas por tí mismo adecuadamente puede ser un gran aliado (eso sí, su coste computacional es elevado).
Aquí tenemos el resultado con las texturas procedurales:
Y aquí con las texturas de Omniverse:
No obstante, precisamente antes de comenzar a texturizar el robot V2 me encontré con este tutorial: Blender to Unreal and Unity – Export and Bake Anything, que mencionaba un addon que todavía no había probado: Principled Baker.
Y tras probarlo, llegué a la conclusión de que era una mucho mejor opción, ya que era más eficiente, no daba error con mis texturas y el mapa de UVs era más fiel al de las texturas procedurales. Aquí un ejemplo:
En este caso pude añadirle los decals que quise siguiendo este tutorial, y utilizando los recursos de Chuck_CG en Gumroad: https://chuckcg.gumroad.com/l/SXxhW?layout=profile
En el caso de los logos, pertenecientes a cada modelo, le pedí a ChatGPT que creara unas ilustraciones con la sinopsis del trabajo anterior como input y las retoqué con Photoshop:
Para el texturizado podéis ver un time-lapse con el flujo de trabajo ya optimizado:
Mapa de UVs finales:
Robot V1:
Robot V2:
Sketchfab links
Robot V1: https://skfb.ly/p8sCw
Robot V2: https://skfb.ly/p8sCD
Final thoughts
Echando la vista atrás, el proceso ha sido más intenso y tedioso de lo que esperaba. Y siendo sinceros ni siquiera he invertido apenas tiempo en el mapa de UVs (también porque creo que las texturas procedurales hacen que no se noten apenas los cortes de sección). Aun así, debería haber dado más margen al desplegar, ya que algunas caras se solapan.
Estoy bastante satisfecho con el trabajo final, aunque para facilitar el proceso he tenido que juntar todos los objetos en uno solo. Ya veremos cómo afecta eso en las siguientes fases del proyecto.
Referencias
Recursos
Material works. (n.d.). Blender Market. https://blendermarket.com/products/material-works
Danielenger. (n.d.). GitHub – danielenger/Principled-Baker: Blender Add-on: Bake PBR textures with a few clicks. GitHub. https://github.com/danielenger/Principled-Baker
Develop on NVIDIA Omniverse platform. (n.d.). NVIDIA Developer. https://developer.nvidia.com/omniverse
Sci Fi decal Kpack for blender and Kit Ops. (n.d.). Gumroad. https://chuckcg.gumroad.com/l/SXxhW?layout=profile
Tutoriales
osasart. (2023, July 23). How to Add Decals/Logos to Any Model in Blender New update!!! [Video]. YouTube. https://www.youtube.com/watch?v=Cev__NKXZe8
Markom3D. (2022, January 6). Blender Baking Textures in less that 1 Minute using Omniverse [Video]. YouTube. https://www.youtube.com/watch?v=C6i–hhNt5M
GDT Solutions. (2022, January 7). How to EXPORT 3D model WITH PACKED TEXTURES from Blender to Unity – Extract textures in Unity [Video]. YouTube. https://www.youtube.com/watch?v=BYf4QnzXynQ
dariomac. (2021, September 30). Blender to unreal and unity – export and bake anything [Video]. YouTube. https://www.youtube.com/watch?v=BhecWp8AcDI
Debatcontributions 2el R2 – Texturizado