R2 – 3D Texturing Robots

Texturización de dos robots

He texturizado los dos modelos (“Little Robot” y “Big Robot”) usando Blender y Substance Painter.
El objetivo visual ha sido darles un acabado realista: metal pintado, zonas con desgaste, suciedad acumulada y sensación de uso/daño.

A nivel de color partí de los concepts iniciales de cada robot. No buscaba un acabado limpio tipo “juguete nuevo”, sino algo más vivido. En el caso del Little Robot, por ejemplo, le falta un brazo, así que le di un look más castigado. El Big Robot en teoría debía parecer más “entero”, pero al final, por cómo responde el material, casi da la impresión contraria cuando los ves juntos.

Desplegado de UVs

El unwrap de UVs lo he hecho en Blender manualmente, marcando los cortes en zonas coherentes con la geometría y colocándolos donde menos se noten al bakear. He intentado que:

  • La malla se pueda abrir sin provocar estiramientos grandes.

  • Los seams queden en cantos duros (sharp edges) o en zonas que normalmente no se ven en cámara.

  • Las islas importantes mantengan orientación consistente cuando voy a pintar detalles gráficos (por ejemplo, piezas donde quiero meter símbolos, franjas o letras). En esas piezas he respetado orientación horizontal/vertical en UV para que luego sea más fácil pintar algo legible (Ej: Pelo de “BigRobot”).

  • En el resto de piezas, donde solo me importa aprovechar espacio, he permitido rotar las islas para empaquetarlas mejor y aprovechar al máximo el espacio útil de los mapas.

Las islas de UV mantienen escala proporcional al tamaño real de cada parte del modelo. No he hecho “texel density trampa” (no hay manos a 4x resolución y torso a 1/4, por ejemplo). Para comprobar que las UVs estaban bien apliqué un UV checker para ver si había estiramientos raros o giros locos del patrón.

 

Antes de exportar a Substance, unifiqué materiales en Blender. Dejé cada robot con un solo material asignado a todas sus piezas físicas, y preparé un vertex paint de IDs. Ese vertex color me sirve como máscara de materiales en Substance Painter.

Ejemplo: todas las partes verdes del Big Robot comparten el mismo ID de color en el vertex paint, porque sé que van a usar el mismo material base. Eso me facilita separar capas luego.

Bake inicial en Substance Painter

Exporté cada robot desde Blender a .fbx.
En Substance Painter creé un proyecto nuevo con plantilla “Unity Standard” y resolución de trabajo a 4K.

El primer paso fue bakear los mapas base (normales, AO, curvature, etc.) usando la pestaña de Bake Mesh Maps. Ajusté las opciones del bake para que realmente trabajase a 4K, aunque sé que el resultado final que tengo que entregar está limitado a 2K, pero de esta manera se abren posibilidades de exportación a otras dimensiones en caso de que en un futuro se requirieran.

En el primer bake tuve un problema con el Little Robot: aparecían sombras raras en una zona. Volví a Blender, revisé las normales (estaban bien) y al final vi que lo que pasaba era tensión de vértices en esa zona. Relajé esa parte de la malla, reexporté y volví a bakear. Con eso se corrigió.

Texturizado y materiales

Organicé el trabajo en Substance por carpetas, basándome en el ID de color que había pintado en Blender.

Ejemplo del Little Robot:

  • Blanco

  • Gris claro

  • Gris oscuro

  • Rojo

  • Emisivo

A cada bloque le apliqué un material base (por ejemplo, un steel damaged de los Smart Materials de Substance) y luego le hice ajustes finos encima con capas de relleno para controlar roughness, metallic y color sin destrozar el tono que quería.

Caso concreto: las zonas blancas. No quería que parecieran metal desnudo gris brillante. Prefería que parecieran metal pintado o incluso plástico pintado, con un roughness algo más alto y menos metalness. Así que subí el color a blanco y limité el valor metálico y el roughness.

Después añadí suciedad, óxido fino y desgaste en cantos usando mascaras inteligentes. Esto lo usé sobre todo en el blanco y el rojo del Little Robot para remarcar que ese robot está más castigado físicamente.

El Big Robot sigue el mismo flujo general, pero con dos diferencias:

No necesitaba definir un canal emisivo previo para exportarlo y el “pelo” del Big Robot lo resolví con normales. Aproveché una máscara tipo alpha en blanco y negro (forma rectangular con bordes suavizados) procedente de la base de datos de Substance Painter. Esa máscara se usa para generar los huecos entre las piezas de los mechones. Luegoen esa zona bajé un poco la altura y cambié color, de forma que parece que son segmentos separados en vez de un bloque único rígido. La idea es que visualmente parezca algo compuesto por pequeñas piezas flexibles en vez de un tubo macizo.

Optimización y exportación

Siguiendo las instrucciones de optimización del enunciado cree un solo set de UV por robot, un material por robot, texturas cuadradas con tamaño potencia de dos y la exportancion final en 2k (2048 x 2048).

Para exportar desde Substance Painter hice dos salidas distintas:

  1. Plantilla Unity Standard
    Esto genera:

    • Albedo/BaseColor

    • Normal map

    • Emissive (si aplica)

    • Un mapa combinado (Metallic/Roughness/AO empaquetados en canales)

    Esta versión la quiero para llevar directamente a Unity en las actividades futuras.

  2. Plantilla Blender
    Esta me deja las texturas en el formato que Blender espera sin tener que montar los nodos manualmente a mano.
    Gracias a esto puedo volver a Blender, asignar el material rápido y exportar un .obj con materiales “limpios” que Sketchfab entiende mejor que .fbx en mi caso (los .fbx a veces no enlazan bien las texturas en Sketchfab).

Cada robot se entrega con su propio set de mapas. Como maximo hay 4 imagenes preparadas para Unity, lo cual es una cifra razonable para el motor. Esto está pensado justo para lo que avisa el enunciado: “cuantos más archivos distintos haya, más esfuerzo tendrá que hacer la tarjeta gráfica”, por ello se usa un mapa “Combined” en la exportación de Unity reduciendo en 2 la salida total de imágenes.

Origen de las texturas y derechos de uso

  • Los materiales base (smart materials tipo “steel damaged”, suciedad, etc.) son recursos incluidos en Substance Painter.
    Dado que el acceso a esta aplicación ha sido a traves de una licencia de estudiante estos materiales se pueden usar para fines educativos y para prototipado, que es el contexto de esta práctica.

  • El alpha que uso para el “pelo” del Big Robot está creado dentro de Substance Painter a partir de una forma simple (rectángulo con bordes suavizados) y luego ajustado por mí (escala, repetición y máscara). No es una textura descargada de internet.

  • No he usado texturas fotográficas externas de terceros.

Sketchfab

Los modelos finales se pueden visualizar y descargar desde Sketchfab:

En cada modelo he subido:

  • El .obj + .mtl

  • Carpeta con las texturas exportadas desde Blender

  • Carpeta con las texturas exportadas con la plantilla de Unity

En Sketchfab se están viendo las texturas pensadas para Blender (no la versión Unity empaquetada).

Entrada similar

Deixa un comentari