Roblox VR utiliza OpenXR como backend para todos los dispositivos VR. Eso significa que la implementación es agnóstica a la plataforma, lo que permite que los juegos funcionen de manera intercambiable en Quest y en cascos de VR para PC. Las pruebas en un casco de VR para PC deberían ser válidas para Quest 2. Como mínimo, los controladores de Oculus requieren una tarjeta gráfica NVidia GTX1060 o equivalente.
Modo de calidad gráfica
Al ejecutar Roblox en cascos de VR independientes como Quest 2 o Quest Pro, mantener un nivel de rendimiento cómodo es crucial, ya que caídas en la tasa de frames pueden causar incomodidad al usuario. Para lograr esto, hay una configuración de Modo de Calidad Automática disponible en Quest que tiene como objetivo mantener un mínimo de 72 frames por segundo escalando automáticamente el detalle de renderizado basado en los datos de rendimiento.

Si pruebas un juego en Quest 2 y no estás satisfecho con los visuales cuando el Modo de Calidad Automática está activado, se recomienda que intentes optimizar tu juego aún más.
Configuraciones de comodidad
Cuando los usuarios experimentan VR, el movimiento de su cámara/posición puede causar cierta incomodidad debido a la desconexión entre lo que ven y la falta de movimiento detectada por su cuerpo y oído interno. Roblox proporciona múltiples configuraciones para ayudar a usuarios de todos los niveles de sensibilidad, para que todos puedan disfrutar de un juego VR inmersivo y cómodo mientras juegan. Además de los modos Comodidad, Predeterminado y Experto, el usuario puede elegir Personalizado para activar y desactivar individualmente las siguientes configuraciones:
- Viñeta — Se muestra una superposición durante el movimiento que restringe la visión periférica del usuario durante el movimiento y oculta los teletransportes de cámara.
- Rotación por pasos — La cámara utiliza rotación por pasos (teletransportándose a la siguiente posición rotada) para los modos de cámara en primera persona y tercera persona, en lugar del modo de rotación suave al rotar la cámara con el controlador.
- Cámara fija en tercera persona - La cámara está fija en el espacio y no sigue de cerca al jugador. La cámara teletransportará para mantener al jugador a la vista.
Se puede encontrar información adicional en Menús y Configuraciones de VR.
Modos de cámara
Al desarrollar un juego primero para VR, puedes aprovechar los scripts de cámara predeterminados o implementar tus propios scripts personalizados.
Roblox proporciona una variedad de opciones de cámara predeterminadas, incluyendo una cámara de comodidad en tercera persona, una cámara en primera persona y una cámara de vehículo. Estos modos de cámara están implementados como scripts hijos de CameraModule dentro de PlayerScripts. El soporte para las opciones del menú de comodidad y las futuras características de "inmersión" se incluirán con los scripts predeterminados.
Al utilizar los scripts predeterminados proporcionados por Roblox, te beneficias de actualizaciones y mejoras continuas que aseguran compatibilidad con todas las nuevas características y dispositivos. Esto probablemente proporcionará un proceso de desarrollo más fácil y sostenible en adelante.
Consejos de rendimiento
Los dispositivos VR móviles sin cables como el Quest 2 apuntan a una alta tasa de frames y resolución mientras renderizan dos imágenes separadas en un chipset de bajo consumo. Para lograr niveles de rendimiento estables y sólidos, la distancia de renderizado puede ser escalada hacia abajo y el cálculo de luces puede ser deshabilitado a través de la calidad gráfica automática.
Las siguientes mejores prácticas pueden ayudarte a alcanzar 72 frames por segundo con un ajuste gráfico más alto:
- Habilita streaming de instancias para que el contenido se transmita dinámicamente dentro y fuera del dispositivo.
- Ten cuidado de no abusar de cálculos intensivos de CPU como raycasting.
- Evita el uso de task.wait() sobre actualizaciones de frames de RunService. task.wait() no te dará resultados precisos en comparación con conectarte a RunService.Heartbeat.
- VR móvil es sensible a un alto número de llamadas de renderizado. Construye tus entornos de manera eficiente, añadiendo alto detalle donde realmente importa y menor detalle en otras partes mientras mantienes un uso conservador de los objetos en la escena.
- Al crear mallas 3D personalizadas, siempre busca utilizar la menor geometría posible para máxima eficiencia en tiempo de ejecución.
- Numerosos y complejos SurfaceGuis pueden ser costosos, tanto en el lado de renderizado como en el de CPU.
- Evita escribir código dependiente de la plataforma, como acciones que dependen de pulsaciones de teclado. En su lugar, utiliza objetos como InputAction que soportan vínculos de entrada de múltiples fuentes.
- Prueba e itera a menudo para asegurarte de que estás alcanzando el rendimiento y la calidad visual anticipados. Si es posible, invierte en un casco Quest 2.