Publicat per

Texturització robots 3D

Publicat per

Texturització robots 3D

Començarem per ensenyar el desplegament UV: No s’ha tingut problema en desplegar cilindres i esferes però els cons han resultats més complicats.…
Començarem per ensenyar el desplegament UV: No s’ha tingut problema en desplegar cilindres i esferes però els cons han…

Començarem per ensenyar el desplegament UV:

No s’ha tingut problema en desplegar cilindres i esferes però els cons han resultats més complicats. Amb una combinació de projecció ciclindrica i, en alguns casos, amb l’ajuda d’automàtic es va poder realitzar el procès. Com es veu, els quadrats són força més grans en el cas del robot cilíndric (el primer que es va desplegar) però al construir l’altre es va optar per figures més petites, per controlar millor les proporcions.

A l’hora de col·locar la geometria en el espai de mapejat, les estructures van quedar així:

La imatge de l’esquerra correspon al robot més humanoide mentre que el de la dreta, correspon al cilíndric.

Abans de presentar el resultat finals, pel que a les pròpies textures, es presenta alguns dels treballs fets per eliminar costures dels models:

S’ha optat, en els dos casos, utilitzar l’eina de clonatge per tal de difuminar o arreglar la zona entre costures amb l’objectiu d’aconseguir una superfície més uniforme.

Les textures han sigut extretes de la plataforma:

https://polyhaven.com

I s’han utiitzat els següents models:

Per pintar els model més humaoide, s’ha pensat en texturitzar-ho com si fos un maniquí de fusta amb peces metàliques ja que la figura 3D recordava aquest “dummies” que s’utilitzen en art. El robot cilíndric té una inspiració més propera al robot Giru de Dargon Ball GT.

Finalment, presento els dos robots texturitzats:

https://skfb.ly/p8ust

https://skfb.ly/p8usx

 

 

Debat0el Texturització robots 3D

No hi ha comentaris.

Publicat per

Pokétron R2

Publicat per

Pokétron R2

Entrega R2 Robot Poliwhirl Link del model Sketchfab: https://skfb.ly/p8vWt Per a texturitzar aquest robot Poliwhirl, vaig utilitzar l’eina per a desplegar UV…
Entrega R2 Robot Poliwhirl Link del model Sketchfab: https://skfb.ly/p8vWt Per a texturitzar aquest robot Poliwhirl, vaig utilitzar l’eina per…

Entrega R2

Robot Poliwhirl

Poliwhirl render

Per a texturitzar aquest robot Poliwhirl, vaig utilitzar l’eina per a desplegar UV integrada de Blender. Vaig fer els talls en aquelles arestes que permetien fer-ho sense que el tall es notés a simple vista i fos el més discret possible, tenint en compte les recomanacions per a fer el desplegament.

UV Map
Poliwhirl UV Map

Per poder comprovar que cada illa d’UV estigués amb una mida proporcionada, vaig fer ús de l’editor de nodes per afegir un checker prèviament i veure com quedava en temps real el desplegament de les UV.

Abans de començar a texturitzar, un cop exportat el model en .FBX i disposant del render del mapa UV, vaig pintar sobre les zones que m’interessava que Substance Painter 3D i Quixel Mixer distingís per poder separar les zones que volia texturitzar per separat. Vaig agafar el mapa UV i el vaig obrir a Affinity Photo per pintar a sobre de cada color les zones i diferenciar-les (cos, orelles, peus, braços i dits).

 

Després, vaig importar el mapa de id i el meu .FBX per poder editar. Vaig emprar capes amb diversos materials creats prèviament i d’altres pintats a sobre amb Affinity Photo i el resultat de les textures a l’hora d’exportar és aquest:

Poliwhirl Albedo | Base Color
Poliwhirl – Albedo | Base Color
Poliwhirl – Emission
Poliwhirl - Metalness
Poliwhirl – Metalness
Poliwhirl - Normal Map
Poliwhirl – Normal Map
Poliwhirl - Roughness
Poliwhirl – Roughness

 

Robot Doduo

Doduo Rendered

Com pel Poliwhirl, per a texturitzar aquest robot vaig utilitzar l’eina per a desplegar UV integrada de Blender. Vaig fer els talls en aquelles arestes que permetien fer-ho sense que el tall es notés a simple vista i fos el més discret possible, tenint en compte les recomanacions per a fer el desplegament.

Doduo UV Map
Doduo UV Map

Per poder comprovar que cada illa d’UV estigués amb una mida proporcionada, vaig fer ús de l’editor de nodes per afegir un checker prèviament i veure com quedava en temps real el desplegament de les UV.

Abans de començar a texturitzar, un cop exportat el model en .FBX i disposant del render del mapa UV, vaig pintar sobre les zones que m’interessava que Substance Painter 3D i Quixel Mixer distingís per poder separar les zones que volia texturitzar per separat. Vaig agafar el mapa UV i el vaig obrir a Affinity Photo per pintar a sobre de cada color les zones i diferenciar-les (cap, banya, coll, ales, cos, potes i peülles).

Després, vaig importar el mapa de id i el meu .FBX per poder editar. Vaig emprar capes amb diversos materials creats prèviament i d’altres pintats a sobre amb Affinity Photo i el resultat de les textures a l’hora d’exportar és aquest:

Doduo - Albedo | Base Color
Doduo – Albedo | Base Color
Doduo - Ambient Occlusion
Doduo – Ambient Occlusion
Doduo - Displacement
Doduo – Displacement
Doduo - Emission Map
Doduo – Emission Map
Doduo - Metalness
Doduo – Metalness
Doduo - Normal Map
Doduo – Normal Map
Doduo - Roughness
Doduo – Roughness

Debat0el Pokétron R2

No hi ha comentaris.

Publicat per

PEC 2 Media para videojuegos

Publicat per

PEC 2 Media para videojuegos

Introducción a los diseños En este segundo reto de la asignatura Media para Videojuegos, he avanzado en la personalización visual de mis…
Introducción a los diseños En este segundo reto de la asignatura Media para Videojuegos, he avanzado en la personalización…

Introducción a los diseños

En este segundo reto de la asignatura Media para Videojuegos, he avanzado en la personalización visual de mis dos diseños del reto anterior: los robots Robotydus y Archie V 1.34. Ambos modelos han sido enriquecidos con texturas y estilos propios, que realzan su personalidad y refuerzan su papel en el juego. Durante el proceso, he integrado tanto los rasgos definidos en un principio como nuevas ideas que han surgido a medida que desarrollaba cada uno de sus detalles. Así, cada robot conserva su esencia distintiva: Archie V 1.34 destaca con un estilo agresivo y punk, mientras que Robotydus mantiene un aspecto juvenil y adorable. Estas cualidades se ven reflejadas en sus texturas, las cuales capturan tanto sus colores característicos como la identidad que buscan transmitir.

Aunque la concepción inicial de los diseños me sirvió como guía, pronto descubrí la necesidad de añadirles detalles y matices adicionales para alcanzar el nivel de profundidad que buscaba. Para lograrlo, decidí enriquecer las texturas con elementos que proyectaran aún más su carácter y sus diferencias. Archie V 1.34, por ejemplo, evolucionó hacia un aspecto visual más decadente y desgastado, acentuando su experiencia en combate y su resistencia, mientras que Robotydus adoptó un estilo más brillante y pulido, reflejando su naturaleza moderna y cuidada.

Este enfoque me llevó a una selección cuidadosa de texturas que resaltaran las características particulares de cada robot. Para Archie V 1.34, opté por texturas de metal desgastado, como acero y aluminio envejecidos, que evidencian su trayectoria y desgaste en combate. En contraste, para Robotydus elegí texturas doradas y metálicas limpias, destacando su naturaleza sofisticada y actual. La combinación de estas texturas no solo hace que cada robot resulte visualmente atractivo, sino que también contribuye a contar su historia y a expresar su estilo de juego.

Visualmente, Archie V 1.34 toma influencias de robots guerreros y curtidos en combate como Atom de la película Real Steel, mientras que Robotydus se inspira en el modelo moderno de robot llevado a la máxima elegancia y sofisticación.

Para alcanzar este resultado, he seguido un proceso de aprendizaje detallado, que incluyó en primer lugar el mapeo de cada uno de los modelos para generar sus correspondientes mapas UV, los cuales permiten texturizar cada superficie con precisión. Posteriormente, utilicé GIMP para aplicar las texturas sobre los mapas UV, cuidando cada detalle para obtener el efecto deseado. A continuación, detallo cada uno de estos procesos, incluyendo las técnicas y herramientas empleadas.

Mapeado UV


Para aplicar las texturas a mis robots, primero fue necesario someter cada uno a un proceso de mapeado UV en cada una de sus formas. Este paso transforma el modelo 3D en una imagen 2D, permitiendo aplicar las texturas con precisión en cada superficie. Para alcanzar este resultado, tuve que mapear cada una de sus partes, teniendo en cuenta las particularidades de la geometría y dimensiones de cada modelo. Sin duda, esta fase ha sido la más desafiante para mí debido a mi falta de experiencia en estos conceptos y herramientas. A pesar de consultar todos los tutoriales de mapeado UV disponibles en la plataforma, encontré varias dificultades, ya que ambos robots presentan geometrías complejas que requerían un tratamiento especial.

Para comenzar, decidí enfocarme en las formas más básicas de cada robot, como esferas y cilindros, abordando el mapeado de ambos robots simultáneamente antes de pasar a la texturización. Seguí los tutoriales paso a paso, usando herramientas recomendadas como Cut para dividir partes de la forma y Unfold para desplegar la malla. Incluso modifiqué ciertas partes del diseño para facilitar el mapeado, simplificando formas complejas a cubos de geometría más manejable; por ejemplo, ajusté el radio y los vértices en algunos cubos que inicialmente complicaban el trabajo.

Después de mapear las formas más sencillas, me enfrenté a elementos más complejos, como los torsos y cabezas de ambos robots, además de partes pequeñas, como los puños y otros accesorios. En esta fase, apliqué lo aprendido en las formas anteriores, haciendo ligeras adaptaciones y explorando herramientas adicionales, como Planar, para algunas de las superficies más irregulares. No obstante, en ciertos casos, como última alternativa, utilicé el mapeado Automatic, ya que, de todos los métodos probados, era el que proporcionaba mejores resultados para esas formas específicas.

Una vez mapeadas todas las formas, procedí a organizar el mapa UV antes de generar la imagen final sobre la cual aplicaría las texturas. Siguiendo las recomendaciones de los tutoriales, organicé las formas en el mapa de manera estratégica para facilitar la identificación de cada segmento durante la aplicación de texturas. Además, opté por posicionar algunas formas similares en el mismo espacio del mapa para optimizar su uso. Por ejemplo, para las esferas y algunos botones del robot, los agrupé en una misma ubicación ya que planeaba aplicarles la misma textura, logrando así optimizar tanto el tiempo de texturización como el espacio en el mapa UV.

Mapas Uv de Archie V 1.34 y Robotydus respectivamente.

 

Robotydus después del mapeado,

Archie V 1.34 después del mapeado.

Planificación previa de la texturización

Antes de comenzar la texturización propiamente dicha en GIMP, realicé una serie de pruebas preliminares en Maya para visualizar y refinar el aspecto final que quería lograr. El primer paso fue seleccionar las texturas específicas para cada parte de los robots, empezando por las de Robotydus y luego centrándome en las de Archie V 1.34. Para mantener un flujo de trabajo organizado, guardé todas las texturas en una carpeta específica, nombrando cada archivo según la parte del cuerpo correspondiente, lo que facilitó posteriormente el proceso de texturización en GIMP.

Cabe mencionar que todas las texturas provienen de una biblioteca web de uso libre y gratuito, la cual ofrece opciones de diferentes resoluciones. Para asegurar una alta calidad visual, opté por versiones en 4K para todas las texturas. Con las texturas organizadas, creé materiales Lambert en Maya y les apliqué las texturas directamente para obtener una vista preliminar. Esto me permitió evaluar cómo se verían en el modelo y hacer ajustes según fuera necesario, estableciendo así una base visual para el proceso de texturización en GIMP.

Versiones previas de Robotydus y Archie con materiales lambert.

Texturización en GIMP

El proceso de texturización, aunque menos complejo en teoría que el mapeado UV, también presentó sus propios desafíos, especialmente en términos de resolución de la imagen del mapa UV. Comencé texturizando a Robotydus en GIMP usando un mapa UV de 2058×2058 píxeles, con texturas de 2K. Sin embargo, al escalarlas al tamaño de las celdas del mapa, la calidad de las texturas disminuyó notablemente, generando un resultado final borroso. Para corregir esto, repetí el proceso con una resolución UV cuatro veces mayor, obteniendo una imagen más nítida y detallada.

Aunque repetir el proceso fue tedioso, me resultó más rápido la segunda vez, ya que contaba con la experiencia de los tutoriales y la práctica previa. En esta ocasión, comencé con las formas cuadradas y simples, que no requerían muchos ajustes, y dejé las superficies curvas o puntiagudas para después. Para un control óptimo, mantenía abierta la pestaña de Maya mientras aplicaba las texturas en GIMP; al exportar cada cambio, podía ver el resultado instantáneamente en el modelo 3D, lo que me permitía corregir costuras, texturas mal aplicadas o zonas en negro.

Además de las texturas principales, añadí detalles en Robotydus, como pequeños clavos y piezas mecánicas en puntos específicos, aunque opté por un acabado elegante y limpio, sin texturas de desgaste, para mantener su apariencia de robot nuevo. Al pasar a Archie V 1.34, noté que su estilo punk y sus formas puntiagudas eran más difíciles de texturizar. Sin embargo, con la experiencia acumulada de Robotydus, el proceso fue mucho más rápido. En este caso, pude agregar detalles adicionales, como texturas de desgaste y oxidación, que resaltaron su carácter experimentado en combate y dieron un toque visual más acorde con su personalidad y estilo visual.

Texturas en Gimp de Robotydus,

 

Texturas en Gimp de Archie,

Por último hacer mención que todos los materiales utilizados para la texturización de ambos robots han sido descargados de la siguiente página web y cuentan con permisos de uso libre: https://www.texturecan.com/

Ajustes finales de materiales y efectos

Antes de dar por finalizada esta entrega y la texturización de los robots, decidí realizar algunos ajustes en los materiales utilizados hasta el momento, con el fin de alcanzar un resultado de texturización que se ajustara mejor al estilo y personalidad de cada robot, enfatizando un acabado metálico. Inspirándome en el último video de los recursos de la actividad, opté por reemplazar el material Lambert que había estado utilizando en todas las pruebas, creando un material Blinn para cada robot, el cual combiné con la textura final generada en GIMP. Esta transición a un material Blinn me permitió obtener reflejos metálicos y un tono más brillante y realista en las superficies, resaltando aún más las propiedades visuales y la estética de cada robot, acorde a su naturaleza y estilo.

Para añadir aún más detalle y profundidad, también creé un mapa normal desde GIMP, el cual importé a Maya y apliqué sobre el modelo, logrando así una textura con un efecto de relieve que realzaba los detalles de la superficie. Este mapa permitió que las luces interactuaran mejor con las texturas, dando una apariencia tridimensional mucho más detallada y realista en zonas clave de ambos robots.

Versiones finales de ambos robots con materiales blinn.

Conclusiones

Completar este proceso ha sido un verdadero reto que me permitió profundizar en conceptos y herramientas que solo había visto superficialmente. El mapeado UV fue la etapa más compleja, demandando numerosas pruebas y ajustes para obtener el resultado deseado. A pesar del tiempo extra invertido, esta fase me brindó una comprensión sólida del impacto que tiene un buen mapeado en la precisión y calidad de la texturización final.
Tras superar el mapeado, la texturización fue más fluida, permitiéndome enfocarme en los detalles estéticos. Este proyecto también me enseñó la importancia de la organización y la planificación en cada fase, desde la elección de texturas hasta su aplicación en GIMP. Al final, siento que he ganado habilidades prácticas y una base sólida para futuros trabajos en diseño 3D.

Enlaces a Sketchfab:

 

 

Debat0el PEC 2 Media para videojuegos

No hi ha comentaris.

Publicat per

R2 – Texturizado

Publicat per

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…
Introducción En esta actividad texturizo los dos modelos del trabajo anterior con el addon Material Works de Blender Bros…

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.

Inplementación de nvidia omniverse

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

Crar instancias únicas de textura

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

Debat2el R2 – Texturizado