Boletín de Realidad Virtual DVRV 2021-003

Reporte de método contemporáneo de texturización avanzada de modelos tridimensionales

Fecha liberación: 

05/11/2021

Fuente: 

Körner, E. (2015, 18 febrero). Working with Physically-Based Shading: a Practical Approach. Working with Physically-Based Shading: A Practical Approach. https://blog.unity.com/technology/working-with-physically-based-shading-a-practical-approach

Unity Technologies. (2021, 22 junio). Lit Shader | Universal RP | 12.0.0. Lit Shader. https://docs.unity3d.com/Packages/com.unity.render-pipelines.universal@12.0/manual/lit-shader.html

Unity Technologies. (2021, 22 junio). Lit Shader | High Definition RP | 12.0.0. Lit Shader. https://docs.unity3d.com/Packages/com.unity.render-pipelines.high-definition@12.0/manual/Lit-Shader.html

Unity Technologies. (2021b, junio 28). Unity – Manual: Metallic vs. specular workflow. Metallic vs. Specular Workflow. https://docs.unity3d.com/Manual/StandardShaderMetallicVsSpecular.html

Unity Technologies. (2021e, mayo 21). Unity – Manual: Shaders. Shaders. https://docs.unity3d.com/2021.2/Documentation/Manual/Shaders.html

Unity Technologies. (2020a, mayo 6). Color Albedo y Transparencia – Unity Manual. Color Albedo y Transparencia. https://docs.unity3d.com/es/2021.1/Manual/StandardShaderMaterialParameterAlbedoColor.html

Unity Technologies. (2020c, mayo 6). Mask and detail maps | High Definition RP | 7.1.8. Mask and detail maps. https://docs.unity.cnPackages/com.unity.render-pipelines.high-definition@7.1/manual/Mask-Map-and-Detail-Map.html

Unity Technologies. (2020b, mayo 6). Modo Metálico: Parámetro Metallic (metálico) – Unity Manual. Modo Metálico: Parámetro Metallic (metálico). https://docs.unity3d.com/es/2021.1/Manual/StandardShaderMaterialParameterMetallic.html

Unity Technologies. (2020e, junio 5). Normal map (Bump mapping) – Unity Manual. Normal map (Bump mapping). https://docs.unity3d.com/es/2021.1/Manual/StandardShaderMaterialParameterNormalMap.html

Unity Technologies. (2020c, mayo 6). Occlusion Map – Unity Manual. Occlusion Map. https://docs.unity3d.com/es/2021.1/Manual/StandardShaderMaterialParameterOcclusionMap.html

Unity Technologies. (2020c, mayo 6). Smoothness – Unity Manual. Smoothness. https://docs.unity3d.com/es/2021.1/Manual/StandardShaderMaterialParameterSmoothness.html

Guimoneau, D. (2020, 23 julio). Paint Across UV Tiles (UDIMs) in Substance Painter. Substance 3D – Magazine. https://substance3d.adobe.com/magazine/paint-across-uv-tiles-udims-in-substance-painter/

Unity Technologies. (2021, 22 junio). Virtual Reality in the High Definition Render Pipeline | High Definition RP | 12.0.0. Virtual Reality in the High Definition Render Pipeline. https://docs.unity3d.com/Packages/com.unity.render-pipelines.high-definition@12.0/manual/VR-Overview.html

Unity Technologies [Unity]. (2019, 9 octubre). Maximizing visual fidelity in VR: HDRP support – Unite Copenhagen [Vídeo]. YouTube. https://www.youtube.com/watch?v=_WkSAn55EBM

Categoría: 

Metodologías de creación de contenido 3D

Herramientas de desarrollo asociadas:

Substance Painter, 3DS MAX, UNITY

Descripción del proceso de texturización contemporáneo que incorpora materiales PBR

Situación

Desde hace algunos años dentro de las aplicaciones de realidad virtual y aumentada se ha buscado mejorar el realismo y la fidelidad de los contenidos a través de técnicas que mejoren su iluminación ambiental, su rastreo sobre superficies [aplica más al caso de la realidad aumentada] y su parecido a objetos en la realidad, tanto a nivel topológico como de superficie, esta última se ha tratado de realizar a través de la incorporación de materiales basados en valores físicos reales cuyo nombre PBR permite que los sistemas representen materiales muy similares a los reales y del cómo se comportan con la iluminación de la escena y su relación con otros objetos.

Se busca identificar un método que permita la mejora de la calidad visual de los objetos a través de la creación de las texturas necesarias para representar materiales PBR.

Redacción de la solución

El método de solución encontrado abordará desde la preparación del modelo, el cálculo de mapas de apoyo, la incorporación de materiales, el posible uso de mascarillas para filtrado, el detallado de la superficie final y su exportación e incorporación al motor de juegos.

Preparación de modelo

El modelo tridimensional que utilizaremos dentro de Substance Painter debe estar preparado de diversas formas, la nomenclatura es esencial para que al momento de obtener los mapas estos tengan relación lógica con la geometría y el material, casi siempre el nombre de todos ellos debe ser igual y de longitud mínima.

Figura 1. Victor Franco. Nomenclatura estandarizada de modelo. 2021. Imagen digital.

Es recomendable limitar el uso de regiones de IDs de modelo, pues cada una de estas creara un set particular de texturas delimitado por la región de UVs existente, esto no ayuda a la correcta optimización del modelo.

El suavizado de superficies a través de los grupos de suavizado deberá estar definido desde el programa de creación de contenido, debido a que de no ser incorporado o exportado el modelo puede presentar facetas indeseables en las texturas finales, sobre todo en las que definen su apariencia geometría o de microsuperficies.

Las coordenadas de textura deben estar diseñadas de tal manera que respeten el límite de U1V1 o CLAMP, de tal manera que no exista repetición de la textura o que alguna isla sobresalga de este valor (NOTA: si es necesario incorporar más de un set de texturas puede realizarse a través del método UDIM que no será abordado en este documento), evitar en lo posible la deformación de las islas, tampoco debe presentar islas de UV encimadas pues el programa escribirá varias veces en la misma región creando errores significativos en la superficie del modelo.

Figura 2. Victor Franco. Coordenadas de textura CLAMP en espacio U1V1. 2021. Imagen digital.

Cálculo de mapas de apoyo

Considerando que el modelo ha sido preparado para su uso en Substance lo primero que se realiza después de abrirlo es la creación de sets de texturas, los cuales incorporan representaciones bidimensionales de propiedades de la superficie de un objeto, por ejemplo los relieves de su superficie a través de los mapas de normales, las regiones del modelo a través de sus IDs, la oclusión de micro-sombreado que el propio objeto crea sobre si mismo a través del mapa de oclusión, la superficie curva, concava y convexa del modelo y el grosor aparente de su superficie.

Figura 3. Victor Franco. Mapa de normales. 2021. Imagen digital.

Figura 4. Victor Franco. Mapa de oclusión. 2021. Imagen digital.

Cada uno de estos mapas bidimensionales permitirán el correcto funcionamiento de materiales inteligentes y de efectos especiales en la superficie del modelo.

Figura 5. Victor Franco. Set de texturas calculadas. 2021. Imagen digital.

Incorporación de materiales

Ya que se ha realizado el cálculo de mapas necesarios para el correcto funcionamiento de los materiales, es momento de decidir que materiales se usaran, Substance Painter incorpora una librería amplia de materiales y además existen materiales adicionales en los recursos disponibles en línea de la compañía.

Figura 6. Victor Franco. Asignación de material a modelo. 2021. Imagen digital.

Filtrado y detallado

Ya que incorporamos materiales estos deberán ser filtrados o pintados en la superficie, a través de mascarillas que permiten colocar solo la información necesaria en cada región del modelo.

Figura 7. Victor Franco. Filtrado de material basado en enmascarillado. 2021. Imagen digital.

También es posible agregar información de detalles, estos detalles permiten mejorar la calidad visual final del modelo y en conjunto con los materiales PBR asignados representar fielmente las superficies trabajadas.

Figura 8. Victor Franco. Detallado de modelo a través de pintura digital. 2021. Imagen digital.

Exportación de mapas y nomenclatura estandarizada

Una vez que se tiene el modelo terminado es tiempo de exportar, la gran ventaja del uso de Substance Painter es que incorpora perfiles que permiten exportar texturas estandarizadas para diferentes plataforma, pero en pro de la compatibilidad y reusabilidad es recomendable usar el preset Document channels + Normal + AO y en particular para el canal de renderizado de alta definición ocuparemos el perfil Unity HD Render Pipeline (Metallic Standard) exportando únicamente el mapa de máscara.

Figura 9. Victor Franco. Configuración preestablecida de exportación a UNITY HDRP. 2021. Imagen digital.
Figura 10. Victor Franco. Configuración preestablecida de exportación a Document channels + Normal + AO. 2021. Imagen digital.

Comprobación

Para realizar la comprobación debemos crear un proyecto en unity que soporte materiales PBR, la mayoría de los presets base lo puede ocupar pero es preferible revisarlo en el canal de renderizado de alta definición, este canal permite colocar cada una de las texturas que creamos y representar de manera fiel la solución de materiales creados.

Figura 11. Victor Franco. Verificación de modelo para en UNITY. 2021. Imagen digital.
  • Mtro. Víctor Hugo Franco Serrano (vhfranco at unam dot mx)

Departamento de Visualización y Realidad Virtual

dvrv at unam dot mx
ixtli at unam dot mx
https://dvrv.unam.mx    https://ixtli.unam.mx
Tel: 55 56 22 88 77