La realidad virtual (VR) es una de las áreas más interesantes de la industria del juego en la actualidad. La plataforma de desarrollo Unity facilita que los desarrolladores y aficionados conviertan sus ideas en juegos completos que atraen a miles de jugadores. En este blog, nuestro invitado especial Andrew Connell le ofrece algunos trucos y consejos de optimización muy útiles. Es mejor conocido por su canal de YouTube «VR with Andrew». Unity y Arm patrocinan los videos de Andrew sobre consejos de optimización y rendimiento para Unity VR.
Al implementar estas optimizaciones, Andrew recomienda consultar las pautas de rendimiento de Oculus. Esto garantiza que se mantenga dentro de los valores recomendados mientras desarrolla su aplicación.
Geometría
LoD significa Nivel de Detalle y se refiere a la complejidad de renderizar modelos 3D en un juego. LoD puede disminuir a medida que el modelo se aleja del observador o en función de otros valores como la importancia del objeto, la velocidad relativa del punto de vista o la posición. Primero le mostramos cómo usar el modo LoD.
Podemos cambiar entre estos modelos según la distancia del observador al objeto. Luego organizamos el modelo de modo que el detalle del objeto disminuya con la distancia al mismo. Al crear LoD, su contorno y apariencia deben ser similares, pero la geometría debe ser lo suficientemente diferente para mejorar el rendimiento. No es necesario crear manualmente modelos LoD adicionales: existen muchas soluciones de software que pueden automatizar el proceso de creación. Para implementar LoD en un objeto, mira el vídeo aquí
También conocido como geométrico
Anti-aliasing significa eliminar componentes de la señal que tienen una frecuencia más alta que la que el dispositivo de grabación (o muestreo) puede resolver adecuadamente. Para reducir esto, podemos utilizar Multi Sampling Anti Aliasing (MSAA). Primero seleccione el canal de renderizado, luego navegue hasta calidad, luego suavizado y seleccione 4x. Este es el punto óptimo en términos de costo y rendimiento.
También puede encontrar alias especulares. Esto sucede cuando tiene altos niveles de especularidad o reflejos en un bisel o borde delgado. No existe una solución directa para esto, pero existen algunas técnicas para minimizarlo tanto como sea posible. Esto incluye evitar el uso de bordes afilados, utilizar formas redondas suaves y materiales mate. Para utilizar estas técnicas de forma eficaz, lo mejor es comunicarse con sus artistas con antelación. Mire el vídeo para ver un ejemplo de estas prácticas.
Compresión de textura
Para la compresión de texturas, lo mejor es utilizar ASTC ya que ofrece la mejor relación calidad/tamaño. El menú se muestra aquí. Tú poder gestionarlo proyecto por proyecto, pero es mucho mejor aplicarlo activo por activo. Esto evita tener datos de textura innecesarios y proporciona una calidad mucho mejor. Mire el vídeo para ver cómo configurar sus texturas individualmente
También puede consultar la tabla proporcionada en la documentación de ASTC sobre Arm Developer:
| Tamaño del bloque ASTC | tamaño | Índice de compresión |
| 4×4 | 1MB | 4.00 |
| 5×5 | 655KB | 6.25 |
| 6×6 | 455KB | 9.00 |
| 8×8 | 256KB | 16.00 |
| 10×10 | 164KB | 24,97 |
| 12×12 | 144KB | 35,93 |
mapeo mip
Otra técnica se llama Mipmapping. Esto crea un montón de texturas más pequeñas basadas en la textura original importada. Esto minimiza el alias de textura y mejora el rendimiento ya que no utilizamos datos de textura adicionales.
Esto se puede habilitar yendo a la textura en la ventana de activos y luego a la configuración avanzada para habilitar el mapeo MIP. Mipmapping es muy importante para el filtrado de texturas. Mira el tutorial aquí.
Filtrado de texturas
Para el filtrado de texturas, tiene tres opciones: puntual, bilineal y trilineal. Punto significa sin filtrado. Bilineal tomará muestras del mapa Mipmap más cercano. Tri-linear tomará muestras de los dos mapas MIP más cercanos y los combinará para proporcionar la transición más suave. La opción para habilitar el filtrado de texturas se encuentra en la misma ventana de configuración que los mapas mip. Mira cómo se hace aquí
Para la realidad virtual, recomendamos trilineal. Con filtrado anisotrópico adicional, recomendamos un valor bastante bajo, ya que puede ser una adición costosa que debería reservarse para activos ambientales.
Mapeo de relieve
Para texturas más toscas y complejas, puede utilizar diferentes métodos de mapeo. La forma más común de mapeo de relieve es un mapa normal, que funciona bien en la mayoría de los casos de uso. Sin embargo, en la realidad virtual, los mapas normales son menos útiles porque los jugadores cambian constantemente su perspectiva. Además, la realidad virtual requiere representar dos imágenes diferentes en cada ojo, un proceso llamado estereopsis.
En la realidad virtual, la ilusión de los mapas normales es menos fiable porque se utiliza una textura para representar dos puntos de vista diferentes. Existe un mejor tipo de mapeo llamado mapeo de oclusión de paralaje, que se implementa utilizando mapas de altura. Este tipo de mapeo tiene en cuenta el ángulo del observador con respecto a la superficie. Sin embargo, este es un proceso bastante costoso y debe usarse con precaución, por ejemplo con objetos que el espectador manipula a corta distancia. Mire el vídeo para aprender cómo hacer esto.
oscuro
mapa de luz
Las sombras son esenciales para agregar profundidad a una escena. Sin embargo, también es costoso desde el punto de vista computacional, especialmente en dispositivos móviles. La iluminación es un tema igualmente complejo, por lo que nos centraremos en la iluminación de objetos estáticos. Una cosa a tener en cuenta es que cuando se trata de lightmapping, es mejor usar menos texturas y texturas más grandes que algunas texturas más pequeñas. Mire el vídeo para aprender cómo hacer esto.
Arm ha lanzado un recurso en Unity Asset Store que utiliza mapas de cubos nativos para crear sombras dinámicas. Esta es una solución de tiempo de ejecución muy económica, por lo que vale la pena considerarla si desea una solución simple.
compuesto alfa rayado
Las bandas ocurren cuando la cantidad de bits que tiene cada píxel no se puede usar para mostrar correctamente el color deseado. Esto hace que los cambios de color se produzcan gradualmente en lugar de como un gradiente suave. La solución a este problema es habilitar el mapeo de tonos o el tramado. El tramado añade ruido a la imagen y destruye los pasos visibles.
El mapeo de tonos intenta reasignar los valores de píxeles desde un rango dinámico alto (HDR) a un rango dinámico bajo. Esto es perfecto para pantallas que no admiten HDR.
Mire el vídeo para aprender cómo implementarlos.
composición alfa
La composición alfa es una técnica que combina una imagen con su fondo para producir una sola imagen. Produce una apariencia transparente, utilizada principalmente en papel para reducir el alias. Este es un método particularmente útil porque es posible que las herramientas de suavizado anteriores no funcionen en este caso. En este blog, nos centraremos específicamente en un método llamado Alpha to Coverage (AOTC). Mira el vídeo aquí para ver cómo funciona y cómo implementarlo en tu juego.
color
Por último, asegúrese de utilizar un espacio de color lineal, ya que funciona bien con el renderizado basado físicamente (PBR). Mire el video aquí para aprender cómo hacer esto.
Disfruta de la mejor aplicación de realidad virtual en tu dispositivo móvil. »
Este blog describe los mejores consejos para optimizar su aplicación móvil de realidad virtual. Sin embargo, aún queda mucho por considerar. Para obtener más consejos y recursos útiles, recomendamos consultar la sección de realidad virtual en desarrollador.arm.com. También vale la pena suscribirse a VR con Andrew para ver sus últimos videos sobre cómo aprovechar al máximo las aplicaciones móviles de realidad virtual.
0 Comentarios