Academia.eduAcademia.edu

Realistic scene generation methods for virtual reality

2017

El realismo siempre ha sido uno de los factores requeridos en las escenas de ambientes arquitectónicos generadas por ordenador. Los profesionales dedicados a arquitectura e interiorismo han acudido con asiduidad al renderizado para mostrar sus proyectos. No obstante, los avances en la tecnología de motores de juegos hace posible hoy en día que estos ambientes se muestren en tres dimensiones y en tiempo real, permitiendo a los usuarios interaccionar con los ambientes creados.

Realistic scene generation methods for Virtual Reality J. M. Pizana, C. Gasch, and I. Remolar Univesitat Jaume I, Castellón, Spain 1. Introducción El realismo siempre ha sido uno de los factores requeridos en las escenas de ambientes arquitectónicos generadas por ordenador. Los profesionales dedicados a arquitectura e interiorismo han acudido con asiduidad al renderizado para mostrar sus proyectos. No obstante, los avances en la tecnología de motores de juegos hace posible hoy en día que estos ambientes se muestren en tres dimensiones y en tiempo real, permitiendo a los usuarios interaccionar con los ambientes creados. Los dos métodos más utilizados si se quiere trasladar una escena a realidad virtual y por lo tanto, a un entorno de renderizado interactivo en tiempo real como es Unity son dos: o se genera la iluminación en Unity para conseguir el máximo realismo posible [Uni], o bien se pre-renderiza con un motor, que no sea en tiempo real pero con mejores acabados, como NVIDIA Mental ray en 3ds Max [Bir13]. Este trabajo pretende analizarán ambas opciones, comparando el realismo obtenido mediante los dos métodos además de valores generales de tiempo de procesado de un frame y memoria ocupada por cada escena final. 2. Metodología La técnica de 3ds Max consiste en renderizar a una textura por cada objeto, de tipo blendmap, con las componentes diffuse, lighting, shadows y ambient (aquellas que no dependen de la posición de la cámara) en resolución 2048x2048p, que es la máxima que acepta Unity para aplicaciones multiplataforma. Para un correcto renderizado, se debe habilitar y utilizar un segundo canal de texturas con nuevas coordenadas UV que cubran toda la superficie visible del objeto con una buena proyección, ya que deben ser independientes de cómo se hayan aplicado sus materiales originales (no necesariamente de tipo estándar). Éste renderizado debe tener como objetivo la componente difusa de un nuevo material estándar, ya que Unity sólo admite materiales de este tipo. Tras el renderizado se deben eliminar los materiales originales, quedando en cada objeto sólamente el generado con las texturas. En cuanto a la iluminación en Unity, se debe importar el modelo en la escena, generando uv para lightmaps. El generado es prácticamente automático, pudiendo controlar el tamaño de los mapas, oclusión ambiental o la simulación de iluminación global, entre otros. 3. Resultados Para la representación de las escenas con realidad virtual, el sistema utilizado para las comparativas ha sido un portátil MSI GE60 2PE Apache Pro, con un procesador Intel Core i7-4710HQ CPU @ 2.50GHz, una GPU Nvidia GTX 860M y 16 GB de RAM DDR3. Por otra parte, la escena utilizada para los tests se compone de 64 objetos distintos, con un total de 97.304 polígonos. En la Tabla 1 se ha comparado el rendimiento en imágenes por segundo de ambos métodos. Además, se adjunta la memoria ocupada por la aplicación, pese a que no sea el criterio que se vaya a seguir. Escena (64 objetos) ms/frame FPS Memoria (GB) Blendmaps 20 50 0.92 Lightmaps Unity 26 38,46 0.55 Tabla 1: Resultados de rendimiento de realidad virtual 4. Conclusiones En referencia al realismo de la escena se debe destacar que la generación de blendmaps en 3ds Max otorga resultados más sólidos y realistas que la técnica de lightmaps de Unity. Además, es más rápido iterar sobre ellos para obtener calidad visual, antes de renderizar a textura. Una vez en este proceso consume mucho más tiempo, debido a que se realiza un renderizado por objeto. Por otra parte, la generación de lightmaps en Unity presenta ocasionales artefactos visuales debido a la proyección de UVs automática y a escalas de escena pequeñas, debido a la precisión de los métodos. Como conclusión, se define el pre-renderizado de blendmaps como el método preferente para conseguir calidad visual realista en menor tiempo y, por tanto, con menor coste, asumiendo más coste de memoria, cosa fácilmente asumible a día de hoy. Agradecimientos Este trabajo ha sido respaldado por el Ministerio de Ciencia y Tecnología (TIN2016-75866-C3-1-R), el Plan de promoción de la investigación de la UJI (P11B2014-37) y Fundación Feder y la Generalidad Valenciana Valenciana (Project PROMETEO/2010/028). Bibliografía [Bir13] BIRN, J. (2013). Digital Lighting & rendering. Estados Unidos. Ed. Pearson [Uni] Unity Lighting Manual (última visita, Mayo, 2017). https://docs.unity3d.com/Manual/GlobalIllumination.html