Optimizador de modelos para tiempo real basado en niveles de detalle por distancia
Fecha liberación:
05/11/2021
Fuente:
Gius Caminiti. (2021, 12 enero). LOD en Unity 3d | Mejora el rendimiento de tus modelos [Vídeo]. YouTube. https://www.youtube.com/watch?v=jQC2rFJO67E
InstaLOD. (2017, 2 octubre). Automatic Retopology with InstaLOD’s Polygon Optimization [Vídeo]. YouTube. https://www.youtube.com/watch?v=PHc6JTSCiEQ&list=PLo8bA_nT_sP0inQz4Ly-pt-hznxQ8DTNU&index=28
Unity Technologies. (2021a, mayo 9). Unity – Manual: Importing LOD Meshes. Importing LOD Meshes. https://docs.unity3d.com/Manual/importing-lod-meshes.html
Unity Technologies. (2021, 9 mayo). Unity – Manual: Level of Detail (LOD) for meshes. Level of Detail (LOD) for Meshes. https://docs.unity3d.com/Manual/LevelOfDetail.html
Unity Technologies. (2021c, septiembre 21). Working with LODs. Working with LODs. https://learn.unity.com/tutorial/working-with-lods-2019-3
Categoría:
Metodologías de optimización de escenas 3D
Herramientas de desarrollo asociadas:
3DS MAX, Unity
Descripción de método de solución de optimización de modelos tridimensionales para escenas complejas.
Situación
Necesidad de representación de escenas complejas sin perdida de elementos ni calidad visual, pero manteniendo la estabilidad del sistema, para evitar problemas de inmersión como el que ocurre por la latencia.
Redacción de la solución
La solución incorpora un sistema automatizado de importación de modelos que sea identificado por el motor de juegos para crear los niveles de detalles que les corresponda, para definir manualmente los valores de distancia que queremos ocupar, de tal forma que dependiendo de la distancia de la cámara esta representará la versión de niveles de detalle correspondiente.
Preparación de versiones
Los modelos por representar serán versiones con diferente nivel de detalle, geométrico y de textura de tal manera que podamos sustituirlos según sea el caso para mantener estable el sistema.
LOD 0 |
LOD1 |
LOD2 |
|
|
|
Figura 1. Victor Franco. Versiones de modelos para niveles de detalle LOD 0 al 2. 2021. Imagen digital. |
Nomenclatura
Preparar los modelos desde la aplicación de creación de contenido con el sufijo _LOD0 _LOD1 y _LOD2 a cada uno de nuestros niveles de detalle, revisar que se encuentren en la misma posición en el espacio, que no tengan historia y que su pivote coincida. (Unity Technologies. 2021c) |
Figura 2. Victor Franco. Nomenclatura. 2021. Imagen digital. |
Definición de distancia
Para crear el sistema primero deberá definirse la distancia a la que cada elemento será mostrado, este valor se define con base en la distancia estimada de la cámara con el objeto.
Si lo observamos de forma horizontal se vería como la figura 3 en la que se observa la posición de la cámara y el eje que esta tiene al trasladarse (Desplazamiento) y ejemplos de 4 niveles de detalle en la que falta el nivel 0 que sería el más detallado y llegando hasta el 4 que son solo planos con textura o en otras palabras el nivel más bajo a representar.
Figura 3. Victor Franco. Descripción gráfica de LOD en relación con la cámara. 2021. Imagen digital. |
Una forma de establecer este valor es a través de círculos que definirán distancias radiales desde el centro del objeto a la visualización de la cámara definiendo regiones en las que ésta se trasladara y representara la versión correspondiente. La imagen representa las regiones posibles en un modelo en la cual el centro (color magenta) es la zona de nivel de detalle cero (LOD0), la azul es la zona de LOD1 y la verde el restante de LOD2, lo que se encuentra fuera de este espacio se considera zona culling en donde desaparece el modelo. Figura 4. Victor Franco. Descripción gráfica de distancias. 2021. Imagen digital. |
Exportación
Para realizar la exportación se debe considerar que los niveles de detalle creados estarán incluidos en un solo contendor FBX, por ejemplo, si tenemos 3 niveles un solo FBX contendrá el nivel LOD0, LOD1 y LOD2 facilitando que el motor de juegos pueda leerlos.
En la imagen 5 podemos observar el proceso de exportación de un modelo en el cual tenemos seleccionados los 3 niveles de detalle que lo constituyen.
Figura 5. Victor Franco. Exportación de modelos para LOD en FBX. 2021. Imagen digital. |
Importación
Existen 2 formas de crear niveles de detalle, la manual y la automática, este documento explica el método automatizado en el que a través de un FBX con los niveles de detalle se crea el sistema de LOD sin necesidad de hacer mayor trabajo que el de definir distancias.
Lo único que hay que hacer es seleccionar la opción Import New Asset y al ser importado y arrastrado a la escena el sistema de LOD estará listo para definir las distancias que sean requeridas. (Unity Technologies. 2021a) Figura 6. Victor Franco. Importación de modelos FBX. 2021. Imagen digital. |
Preparación
Definimos la distancia en porcentajes de visión del modelo, esto es que tanto espacio ocupa en pantalla, eso es lo que define el nivel de detalle a representar y se mide en distancia de cámara y proyección de punto de vista del observador en base a la contribución del modelo en pantalla.
Figura 7. Victor Franco. Descripción gráfica de distancias. 2021. Imagen digital. |
Definimos la distancia en porcentajes de visión del modelo, esto es que tanto espacio ocupa en pantalla definido en %, eso es lo que define el nivel de detalle a representar y se mide en distancia de cámara y proyección de punto de vista del observador en base a la contribución del modelo en pantalla. Figura 8. Victor Franco. Valores porcentuales de LOD en Unity. 2021. Imagen digital. |
Verificación
En Unity podemos verificar la configuración de los niveles de detalle a través de trasladar la cámara que está en la configuración de niveles de detalle o alejarse en el viewport de tal forma que el sistema mostrará las variantes optimizadas del modelo.
Figura 9. Victor Franco. Verificación de sistema LOD. 2021. Imagen digital. |
Cabe aclarar que esta técnica es usable para modelos estáticos o dinámicos (animados) como personajes o animales y que es ampliamente utilizada tanto en aplicaciones para sistemas de realidad virtual de escritorio, así como para las plataformas móviles de realidad virtual.
- 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