Como adicionar suporte VR ao seu projeto Universal Render Pipeline

Uma vantagem de desenvolver títulos Unity baseados no Universal Render Pipeline (URP) é que eles são suportados em uma ampla variedade de plataformas com alterações mínimas nas configurações de renderização. Seu projeto pode ser executado em qualquer plataforma, de dispositivos móveis a consoles, PCs e até mesmo VR.
Para aqueles que nunca desenvolveram para VR, pode ser assustador descobrir por onde começar. Não importa se você está apenas começando seu projeto ou já tem um projeto URP publicado em outras plataformas: abordaremos as etapas para adicionar suporte a RV para que ele possa ser executado em diversas plataformas de RV com o mínimo de esforço.
Uma coisa que todo projeto VR Unity precisa é do pacote XR Plug-in Management . Este pacote facilita a configuração do seu projeto para as plataformas de VR que você gostaria de criar, desde Meta Quest e Magic Leap até PlayStation®VR2 (PS VR2).
Outro pacote útil é o XR Interaction (XRI) Toolkit. Este pacote diminui seu tempo de configuração ao fornecer predefinições que implementam opções de movimento comuns na maioria dos títulos de RV, como teletransporte, curvas rápidas e muito mais. Leia mais sobre as opções que o pacote XRI oferece neste blog.
Para adicionar esses pacotes ao seu projeto, abra o menu Janela e clique em Gerenciador de Pacotes. Na janela do Gerenciador de Pacotes, clique em “Pacotes: No menu suspenso do projeto” para expandir as opções e, em seguida, clique na opção “Registro Unity” para fazer o Gerenciador de Pacotes listar todos os pacotes disponíveis.
O Unity suporta muitos pacotes, então digite “xr” na barra de pesquisa da janela do Gerenciador de Pacotes para filtrar a lista para que apenas pacotes específicos do XR sejam exibidos. Em seguida, clique no pacote XR Plug-in Management e escolha o botão Instalar para adicioná-lo ao seu projeto. Siga o mesmo processo para o pacote XRI Toolkit para adicioná-lo também.

Em seguida, vamos adicionar os ativos de amostra fornecidos pela equipe do XRI para ajudar você a começar. Clique no pacote XR Interaction Toolkit no Gerenciador de Pacotes e depois na guia Amostras no painel de detalhes do pacote. Em seguida, clique no botão Importar ao lado de Ativos iniciais para adicionar ativos que simplificarão a configuração de comportamentos de RV e ações de entrada.

Com esses pacotes instalados, você estará mais da metade do caminho para desenvolver para VR.
Em seguida, você precisa especificar quais plataformas de VR você deseja atingir. Para fazer isso, abra as Configurações do projeto e clique na guia Gerenciamento de plug-ins XR (que foi incluída quando você instalou o pacote) para ver a lista de provedores de plug-ins disponíveis que você pode selecionar para seu projeto. Provedores de plug-ins é outro nome para plataformas de RV. Selecione uma opção, como Oculus ou Open XR, e o Unity instalará o(s) pacote(s) específico(s) para essa plataforma.

Algumas plataformas XR usam o destino de compilação do Windows, Mac e Linux nas Configurações de compilação, mas outras são executadas em destinos diferentes. Por exemplo, a criação para PS VR2 exige a troca do destino de criação para PlayStation®5 (PS5), enquanto outros exigem a troca para Android ou iOS. Certifique-se de alternar para o destino de compilação correto durante o desenvolvimento para que você possa detectar quaisquer erros e avisos importantes com antecedência. Tenha em mente que para desenvolver jogos para PS5, você precisa se registrar como desenvolvedor PlayStation.
Cada plug-in XR fornece verificações de validação para garantir que seu projeto esteja configurado corretamente para ser compilado para XR. Para encontrá-los, vá até a janela Configurações do Projeto e clique na aba Validação do Projeto na aba Gerenciamento de Plug-ins XR para ver se há algum aviso ou erro que precise ser corrigido. A maioria das verificações inclui um botão “Corrigir” para resolver o problema para você.

Com os provedores de plug-ins corretos selecionados, você agora está pronto para começar a criar para sua(s) plataforma(s) de RV de escolha. No entanto, você ainda precisa mapear os controles de VR para seu personagem de jogador existente. É aí que os recursos iniciais fornecidos pelo XRI Toolkit entram em ação.
Na janela do projeto, vá para a pasta Samples/XR Interaction Toolkit/2.3.2/Starter Assets/Prefabs e arraste o Prefab Complete XR Origin Set Up para sua cena. Este Prefab vem pré-carregado com todos os componentes necessários para configurar a entrada de VR para o seu controle de player.
O Prefab tem um XR Origin Prefab aninhado que lida com a maioria das configurações de controladores de VR. Ele tem dois objetos de jogo que representam as mãos esquerda e direita do jogador, bem como uma câmera principal aninhada em um GameObject de deslocamento de câmera que controla o movimento da câmera dependendo se o jogador está sentado ou em pé. Como o Complete XR Origin Set Up Prefab inclui sua própria câmera principal, se você já tiver um objeto de câmera principal em sua cena, certifique-se de desativá-lo para que várias câmeras não tentem renderizar a visão principal do seu jogador ao mesmo tempo.

O XRI Toolkit também vem com um Mapa de Entrada que mapeia ações para controles comuns de VR. Esses controles são padrão na maioria das plataformas de RV, então não há necessidade de codificação extra para garantir que sua entrada seja reconhecida em diversas plataformas, incluindo Meta Quest, Magic Leap e PS VR2. Certifique-se de copiar e colar todos os scripts que eram importantes para o rastreamento do estado do jogo do seu controle de jogador original para o Prefab de configuração completa do XR Origin recém-adicionado. Sinta-se à vontade para renomear o Prefab para algo que seja mais fácil de lembrar, como VR FPS Controller.

O XR Origin GameObject inclui muitos componentes que podem ser bem confusos no começo. Pense no componente XR Origin do XR Origin Prefab como o driver de todos os outros componentes XRI. Sem ele, a locomoção XR não funciona. O restante dos componentes são provedores que permitem que a locomoção XR específica seja possível. Esses provedores correspondem a um tipo diferente de locomoção em VR, desde teletransporte até curvas rápidas, agarrar superfícies com as duas mãos e se puxar, e muito mais.
Para aprender a ajustar os valores de locomoção do XR Origin Prefab conforme sua preferência, leia a documentação. Mas, para começar, usar valores padrão deve funcionar bem.
É claro que nem todas as plataformas de RV são criadas iguais, e é fundamental ter em mente as especificações de hardware da sua plataforma de destino, especialmente quando os títulos de RV precisam atingir consistentemente 60, 90 ou 120 quadros por segundo para minimizar o enjoo. Isso pode ser alcançado reduzindo a resolução máxima dos seus olhos, ajustando as opções de anti-aliasing da sua câmera principal, reduzindo o número de luzes dinâmicas em favor de luzes assadas, reduzindo a quantidade de transparências alfa usadas nos seus GameObjects e ajustando os valores de LOD dos GameObjects para que eles renderizem apenas uma versão de geometria mais alta quando o jogador estiver próximo deles. Para mais sugestões, leia nosso guia sobre como otimizar o desempenho gráfico.
A boa notícia é que é muito fácil alternar entre diferentes configurações de qualidade, dependendo do nível de qualidade especificado para cada plataforma. Na aba Qualidade da janela Configurações do Projeto, você pode criar e personalizar níveis de qualidade que definem configurações exclusivas de renderização, anti-aliasing, LOD e iluminação para ajudar você a aproveitar ao máximo cada plataforma. Saiba mais sobre como ajustar as configurações de qualidade.
Agora que seu projeto está configurado para ser direcionado à(s) plataforma(s) de VR de sua escolha, é hora de testar o equipamento XR recém-adicionado ao seu projeto. Há dois métodos recomendados para testes de RV: usar o Simulador de Dispositivo XR do Kit de Ferramentas XRI para testar a configuração no Editor ou criar o player e executá-lo no dispositivo.
Há uma ferramenta útil disponível no Unity chamada XR Device Simulator, que permite simular controles XR dentro da visualização do jogo do Editor quando você estiver no modo de jogo. Você pode economizar tempo testando suas configurações de locomoção sem construir seu projeto. Para adicionar o Simulador de Dispositivo XR ao seu projeto, abra a janela Gerenciador de Pacotes, volte para o pacote XRI Toolkit, clique na aba Amostras e, em Ativos de Amostra, clique no botão Importar ao lado do Simulador de Dispositivo XR.

Após a instalação, abra a janela Configurações do Projeto e clique na aba XRI Toolkit. Nesta aba, ative a caixa de seleção “Usar Simulador de Dispositivo XR em cenas” para adicionar o Simulador de Dispositivo XR em tempo de execução quando você entrar no modo de Reprodução. Você também pode arrastar e soltar o XR Device Simulator Prefab da janela Projeto diretamente para sua Cena.

Agora, ao entrar no modo Play no Editor, você poderá usar os controles WASD e do mouse para mover seu XR Rig e pressionar Tab para alternar entre mover todos os controles, apenas sua mão esquerda ou apenas sua mão direita. Não é uma correspondência 1:1 com a entrada de VR real, mas ajudará você a testar se suas configurações de locomoção estão funcionando conforme o esperado imediatamente.
Lembre-se de que, antes de criar seu projeto, você precisa desabilitar a caixa de seleção “Usar Simulador de Dispositivo XR em cenas” na janela Configurações do Projeto do XRI Toolkit ou desabilitar/excluir o Simulador de Dispositivo XR de sua cena. Caso contrário, seus controles de RV não funcionarão corretamente no dispositivo. Isso ocorre porque o XR Device Simulator simula a entrada de VR de um mouse e teclado ou de um controle de jogo e ignora a entrada de controles de VR reais.

O segundo método para testar seu XR Rig é simplesmente construí-lo e executá-lo na plataforma de destino. A configuração de cada dispositivo XR para executar compilações do Unity é única, então leia a documentação sobre como conectá-los à sua máquina de desenvolvimento para obter as informações mais atualizadas. Depois que seu dispositivo estiver conectado, escolha Compilar e Executar na janela Configurações de Compilação para criar a compilação para sua plataforma de destino e carregá-la no dispositivo.
Depois que a compilação estiver em execução no dispositivo, você mesmo poderá testar a entrada e ver o que funciona e o que não funciona. A única limitação é esperar a conclusão da construção e ter um dispositivo disponível para testar.
Com apenas essas etapas, junto com alguns pequenos ajustes nas configurações de renderização preferidas, consegui fazer a cena do Jardim Japonês do novo modelo URP rodar no PS VR2, que foi exibido na GDC 2023.
Espero que este guia rápido ajude você a começar a adicionar suporte de RV ao seu projeto. Se você estiver confuso sobre qualquer parte da configuração de VR, você pode revisar o guia da Unity para configurar seu projeto para XR para obter mais informações.
As equipes XR e URP estão trabalhando duro para garantir que o desenvolvimento para múltiplas plataformas seja o mais simples possível. Por favor, compartilhe qualquer feedback sobre o Universal Render Pipeline no fórum URP e feedback sobre o XR no fórum XR. Fique atento aos futuros blogs técnicos dos desenvolvedores do Unity como parte do processo contínuo SérieTech from the Trenches.
