VRWorks para Unity
06/06/2017

VRWorks para Unity

Diseño y producción audiovisual

Con el aumento de popularidad de la VR (realidad virtual) en los últimos tiempos (el auge de dispositivos como HTC Vive, Oculus Rift, o PlayStationVR, un mayor número de títulos en las diferentes plataformas de distribución como Steam o Play Station Network, e incluso la inversión de grandes compañías como puede ser Facebook para normalizar el uso de la VR) nos encontramos con muchas propuestas para mejorar el rendimiento y facilitar los posibles desarrollos que queramos realizar con dicha tecnología.

Es ahí donde nace NVIDIA VRWorks™, como un conjunto de APIs , librerías y motores que ayuda en el desarrollo de aplicaciones de realidad virtual. Facilitando la creación de entornos mucho más ricos tanto a nivel visual, como sonoro y añadiendo mejoras a las interacciones con el usuario.

En este artículo vamos a ver una pequeña introducción a la configuración de nuestro proyecto de Unity para la utilización de las diferentes herramientas que nos proporciona NVIDIA VRWorks™.

Empezando con VRWorks para Unity

Primero de todo deberemos asegurarnos de tener todos los requisitos mínimos para poder usar el plugin de VRWorks. La primera de ellas será contar con un pc que ejecute Windows 7 o superior. La segunda y seguramente la más restrictiva será tener el hardware adecuado para ello deberemos disponer de una tarjeta gráfica Quadro Maxwell o una GeForce GTX 900 o superior para poder usar Multi-Resolution Shading (MRS) o una tarjeta gráfica Quadro Pascar o una GeForce GTX 1000 o superior para poder usar Single-Pass-Stereo (SPS) y Lens-Matched-Shading (LMS). Además deberemos disponer de una placa base SLI para poder usar VR SLI.

Finalmente tendremos que usar la versión 2017 de Unity o una superior para poder usar VRWorks. Con la versión 2017 instalada, tendremos que configurar alguna opción de nuestro proyecto, para ello iremos a File\Build Settings\Player Settings\ Other Settings y configuraremos la opción de Stereo Rendering Method a  Single Pass. Posteriormente deberemos descargar el plugin de VRWorks desde el Asset Store de Unity e importarlo a nuestro proyecto.

Integrando el plugin

Una vez configurado el proyecto e importado el plugin a nuestro proyecto podemos empezar a integrar el plugin. Para ello, debemos añadir los scripts VRWorks y VRWorksPresent a nuestra cámara. Hay que tener en cuenta que es necesario añadir estos scripts como los últimos scripts de la cámara por detrás de cualquier otro componente de efecto de imágenes que podamos estar usando en nuestra cámara para que estos se ejecuten en el orden correcto. Si nuestro equipo no cumple los requisitos o no hemos instalado correctamente el plugin al ejecutar la escena obtendremos un mensaje de error del tipo:  VRWorks: Not supported or GfxPluginVRWorks DLL was not loaded properly.

Por otro lado si todo ha funcionado correctamente podremos empezar a utilizar las diferentes opciones que nos proporciona VRWoks activando cada una de ellas por código. Para ello deberemos implementar en nuestro script la librería de VRWorks, y comprobar si la función es soportada por nuestro sistema y en caso de serlo activarla:

using NVIDIA.VRWorks;
 
 if (IsFeatureAvailable(Feature.SinglePassStereo))
 {
  SetActiveFeature(Feature.SinglePassStereo);            
 }

Qué nos ofrece VRWorks

Como hemos visto antes hay diferentes características que podemos añadir a nuestro proyecto, vamos a ver en qué consiste cada una de ellas:

Multi-Res Shading: Las lentes usadas para visualizar VR generan una distorsión en las partes periféricas de la imagen, así mientras la imagen central no se distorsiona los bordes quedan modificados y distorsionados. Al usar un sistema de renderizado normal nos encontramos con una densidad de píxeles muy altas en las zonas distorsionadas que no se van a aprovechar el multi-res shading renderiza la imagen por bloques dando menos resolución a las zonas que van a ser distorsionadas posteriormente, haciendo que el proceso sea mucho más rápido mejorando la experiencia y  el rendimiento.

Single Pass Stereo: Tradicionalmente los sistemas de renderizado de VR renderizan los objetos dos veces, una para la lente izquierda y otra para la lente derecha. La tecnología single pass stereo utiliza la tecnología de los nuevos procesadores GPU basados en NVIDIA Pascal que simplemente renderizan los objetos una sola vez.

Lens Matched Shading: Usando igualmente que la característica anterior procesadores basados en NVIDIA Pascal se incrementa también el rendimiento del sistema realizando mejoras en el pixel shading. El sistema consigue no renderizar los píxeles que posteriormente no van a ser visualizados una vez la imagen queda distorsionada por la lente del casco de realidad virtual.

VR SLI: Esta característica permite asignar varios GPUs para el renderizado estéreo, es decir, más de una GPU se asigna a renderizar los elementos de uno de los ojos. Comportando mejoras sustanciales tanto en el framerate y en la latencia de la ejecución del proyecto.

Como podemos ver VRWorks nos ofrece varias herramientas para mejorar el rendimiento de nuestros proyectos de VR, lo que es muy importante ya que un bajo rendimiento puede provocar problemas como mareos a la hora de vivir la experiencia virtual.

Estás preparado para realizar proyectos de VR en Unity? Déjanos tus comentarios.

Curso relacionado: Curso Superior de Diseño y Desarrollo de Videojuegos

Comparte en:

Ingeniero Técnico en Telecomunicaciones. Trabaja actualmente como Lead Game Developer y Game Designer en una compañía de videojuegos.

pdf interactivo
24/06/2020
Susana Perdomo

¿Cómo crear un PDF interactivo?

Crear un PDF interactivo es más fácil de lo que parece gracias a Adobe Indesign, el programa por excelencia de los profesionales de ediciones, revistas, periódicos,...

InDesign vs Illustrator
10/06/2020
Susana Perdomo

Diferencias entre InDesign e Illustrator. ¿Cuándo usar cada uno?

En este post verás las diferencias que hay en los principales programas de diseño vectoriales: Adobe Indesign y Adobe Illustrator, los favoritos en empresas de dise...

salidas profesionales del diseño gráfico y visual
28/05/2020
Susana Perdomo

El futuro de los profesionales del diseño gráfico y visual

El diseño gráfico y visual está más vivo que nunca porque la comunicación, búsqueda de información y compras se están centrando cada vez más en pantallas, som...