O Roblox VR usa OpenXR como um backend para todos os dispositivos VR. Isso significa que a implementação é independente de plataforma, permitindo que os jogos funcionem de forma intercambiável em headsets Quest e PC VR. Testar em um headset VR para PC deve ser válido para o Quest 2. No mínimo, os drivers da Oculus exigem uma placa de vídeo NVidia GTX1060 ou equivalente.
Modo de qualidade gráfica
Ao executar o Roblox em headsets VR autônomos, como o Quest 2 ou Quest Pro, manter um nível de desempenho confortável é crucial, pois quedas na taxa de quadros podem causar desconforto ao usuário. Para alcançar isso, uma configuração de Modo de Qualidade Automática está disponível no Quest, que visa manter um mínimo de 72 quadros por segundo, ajustando automaticamente o detalhe de renderização com base em dados de desempenho.

Se você testar um jogo no Quest 2 e não ficar satisfeito com os visuais quando o Modo de Qualidade Automática estiver ativado, é recomendável que você tente otimizar seu jogo ainda mais.
Configurações de conforto
Quando os usuários experimentam VR, o movimento da câmera/posição pode causar algum desconforto devido à desconexão entre o que eles veem e a falta de movimento detectado pelo corpo e ouvido interno. O Roblox oferece múltiplas configurações para ajudar usuários de todos os níveis de sensibilidade, para que todos possam desfrutar de um jogo VR imersivo e confortável enquanto jogam. Além dos modos Conforto, Padrão e Especialista, o usuário pode escolher Personalizado para ativar ou desativar individualmente as seguintes configurações:
- Vignette — Uma sobreposição é exibida durante o movimento, que restringe a visão periférica do usuário e oculta teletransportes de câmera.
- Rotação em Passos — A câmera utiliza rotação em passos (teletransportando para a próxima posição rotacionada) para modos de câmera em 1ª e 3ª pessoa, em vez do modo de rotação suave ao rotacionar a câmera com o controle.
- Câmera Fixa em 3ª Pessoa - A câmera é fixa no espaço e não segue de perto o jogador. A câmera irá teletransportar-se para manter o jogador à vista.
Informações adicionais podem ser encontradas em Menus e Configurações de VR.
Modos de câmera
Ao desenvolver um jogo focado em VR, você pode aproveitar os scripts de câmera padrão ou implementar seus próprios scripts personalizados.
O Roblox fornece uma variedade de opções de câmeras padrão, incluindo uma câmera de conforto em terceira pessoa, uma câmera em primeira pessoa e uma câmera de veículo. Esses modos de câmera são implementados como scripts filhos de CameraModule dentro de PlayerScripts. O suporte para as opções do menu de conforto e futuros recursos de "imersão" será incluído com os scripts padrão.
Ao utilizar os scripts padrão fornecidos pelo Roblox, você se beneficia de atualizações e melhorias contínuas que garantem compatibilidade com todos os novos recursos e dispositivos. Isso provavelmente proporcionará um processo de desenvolvimento mais fácil e sustentável no futuro.
Dicas de desempenho
Dispositivos VR móveis sem fio, como o Quest 2, visam uma alta taxa de quadros e resolução, renderizando duas imagens separadas em um chipset de baixo consumo. Para alcançar níveis de desempenho estáveis e sólidos, a distância de desenho pode ser reduzida e a computação de luz pode ser desativada através da qualidade gráfica automática.
As seguintes melhores práticas podem ajudar você a alcançar 72 quadros por segundo com uma configuração gráfica mais alta:
- Habilite streaming de instância para que o conteúdo seja transmitido dinâmica e continuamente no dispositivo.
- Tenha cuidado para não exagerar em cálculos que consomem CPU, como raycasting.
- Evite o uso de task.wait() em vez das atualizações de quadro de RunService. task.wait() não fornecerá resultados precisos em comparação com a conexão ao RunService.Heartbeat.
- O VR móvel é sensível a um alto número de chamadas de desenho. Construa seus ambientes de forma eficiente, adicionando alto detalhe onde realmente importa e menor detalhe em outros lugares, enquanto é conservador com o número de objetos usados na cena.
- Ao criar malhas 3D personalizadas, sempre busque usar a menor geometria possível para máxima eficiência em tempo de execução.
- Numerosos e complexos SurfaceGuis podem ser custosos, tanto na renderização quanto do lado da CPU.
- Evite escrever código dependente de plataforma, como ações que dependem de pressionar teclas. Em vez disso, use objetos como InputAction, que suporta vinculações de entrada de várias fontes.
- Teste e itere com frequência para garantir que você está obtendo o desempenho e a qualidade visual esperados. Se possível, invista em um headset Quest 2.