Aplicações port VR para Windows Mixed Reality

Windows 10 inclui suporte para auscultadores holográficos e envolventes. Outros dispositivos, como o Oculus Rift ou o HTC Vive, têm dependências de bibliotecas que existem acima da API de plataforma do sistema operativo. Para colocar as aplicações win32 do Unity VR existentes para Windows Mixed Reality, tem de retarget a utilização do SDK VR específico do fornecedor para as APIs vr e plug-ins vr entre fornecedores do Unity.

A migração de aplicações VR para Windows Mixed Reality requer os seguintes processos de alto nível:

  1. Certifique-se de que o PC está a executar o Windows 10, versão 1709 (a Atualização do Fall Creator) ou mais recente ou Windows 11.
  2. Atualize para a versão mais recente dos seus gráficos ou motor de jogo. Os motores de jogo têm de suportar a versão 10.0.15063.0 ou superior do SDK Windows 10.
  3. Atualizar middleware, plug-ins e componentes. Se a sua aplicação contiver componentes, atualize para as versões mais recentes.
  4. Direcione a versão mais recente do Unity e o plug-in OpenXR. Remover dependências em SDKs duplicados. Dependendo do dispositivo visado pelo conteúdo, remova ou compile condicionalmente esse SDK.
  5. Resolva problemas de compilação específicos da aplicação, do motor e das dependências dos componentes.

Passos comuns de migração

Comece com os seguintes passos comuns de migração:

  1. Certifique-se de que tem o hardware de desenvolvimento correto. O guia entusiasta de VR lista o hardware de desenvolvimento recomendado.

  2. Atualize para o voo mais recente do Windows 10.

    1. Instalar o Atualização para Criativos do Windows 10
    2. Aderir ao Programa Windows Insider.
    3. Ativar Modo de Programador
    4. Mude para os voos Windows Insider Fastatravés da Secção Atualização de Definições > & Segurança.

    Nota

    A plataforma Windows Mixed Reality ainda está em desenvolvimento ativo. Junte-se ao Programa Windows Insider para aceder ao voo Windows Insider Fast. Não obtenha compilações de pré-visualização a partir do anel Skip Ahead do Insider, porque essas compilações não são as mais estáveis para o desenvolvimento de realidade mista.

  3. Se estiver a utilizar o Visual Studio, atualize para a compilação mais recente. Consulte Instalar as ferramentas no Visual Studio 2022. Certifique-se de que instala a carga de trabalho Desenvolvimento de Jogos com o Unity .

Passos de migração do Unity

Reveja os passos comuns para garantir que o ambiente de desenvolvimento está configurado corretamente. Para portar o conteúdo do Unity existente, siga estes passos:

1. Atualize para a mais recente compilação pública do Unity com suporte do Windows MR

  1. Guarde uma cópia do projeto antes de começar.
  2. Transfira a mais recente compilação pública recomendada do Unity com Windows Mixed Reality suporte.
  3. Se o seu projeto foi criado com base numa versão mais antiga do Unity, reveja os Guias de Atualização do Unity.
  4. Siga as instruções para utilizar o atualizador automático de API do Unity.
  5. Veja se precisa de fazer outras alterações para que o seu projeto seja executado e resolva quaisquer erros e avisos.

2. Atualize o middleware para as versões mais recentes

Com qualquer atualização do Unity, poderá ter de atualizar um ou mais pacotes de middleware de que o seu jogo ou aplicação depende. Atualizar para o middleware mais recente aumenta a probabilidade de sucesso ao longo do resto do processo de migração.

3. Direcione a sua aplicação para ser executada no Win32

A partir da sua aplicação unity:

  1. Navegue paraDefinições de Compilação de Ficheiros>.
  2. Selecione PC, Mac, Linux Autónomo.
  3. Defina a plataforma de destino como Windows.
  4. Defina a arquitetura como x86.
  5. Selecione Mudar de Plataforma.

Nota

Se a sua aplicação tiver dependências em serviços específicos do dispositivo, como fazer correspondências a partir do Steam, desative-as agora. Pode ligar os serviços equivalentes do Windows mais tarde.

4. Adicionar suporte para o Plug-in OpenXR do Mixed Reality

  1. Escolha e instale uma versão do Unity e um plug-in XR. Embora o Unity 2020.3 LTS com o plug-in OpenXR Mixed Reality seja o melhor para Mixed Reality desenvolvimento, também pode criar aplicações com outras configurações do Unity.

  2. Remova ou compile condicionalmente qualquer suporte de biblioteca específico para outro SDK VR. Esses recursos podem alterar definições e propriedades no seu projeto de formas incompatíveis com Windows Mixed Reality.

    Por exemplo, se o seu projeto fizer referência ao SDK steamVR, atualize o seu projeto para, em vez disso, utilizar as APIs VR comuns do Unity, que suportam o Windows Mixed Reality e o SteamVR.

  3. No seu projeto do Unity, direcione o SDK Windows 10.

  4. Para cada cena, configure a câmara.

5. Configurar o hardware do Windows Mixed Reality

  1. Reveja os passos na configuração de headsets envolventes.
  2. Saiba como Utilizar o simulador de Windows Mixed Reality e Navegar no Windows Mixed Reality casa.

6. Utilize o palco para colocar conteúdo no chão

Pode criar experiências Mixed Reality numa vasta gama de escalas de experiência. Se estiver a utilizar uma experiência de escala sentada, certifique-se de que o Unity está definido para o tipo de espaço de controlo estacionário :

XRDevice.SetTrackingSpaceType(TrackingSpaceType.Stationary);

Este código define o sistema de coordenadas mundiais do Unity para controlar o quadro estacionário de referência. No modo de controlo Estacionário, o conteúdo que coloca no editor mesmo à frente da localização predefinida da câmara (reencaminhar é -Z) aparece à frente do utilizador quando a aplicação é iniciada. Para recenter a origem sentada do utilizador, pode chamar XR do Unity. Método InputTracking.Recenter .

Se estiver a debruçar-se sobre uma experiência de escala de pé ou uma experiência à escala da sala, está a colocar conteúdo em relação ao piso. Deve ter em conta o piso do utilizador através da fase espacial, que representa a origem definida ao nível do piso do utilizador. A fase espacial pode incluir um limite de sala opcional que configurou durante a primeira execução.

Para estas experiências, certifique-se de que o Unity está definido para o tipo de espaço de controlo RoomScale . O RoomScale é a predefinição, mas defina-o explicitamente e certifique-se de que volta true. Esta prática deteta situações em que o utilizador se afastou do computador da sala que calibrava.

if (XRDevice.SetTrackingSpaceType(TrackingSpaceType.RoomScale))
{
    // RoomScale mode was set successfully.  App can now assume that y=0 in Unity world coordinate represents the floor.
}
else
{
    // RoomScale mode was not set successfully.  App can't make assumptions about where the floor plane is.
}

Assim que a sua aplicação definir com êxito o tipo de espaço de controlo RoomScale, o conteúdo colocado no plano y=0 é apresentado no chão. A origem em (0, 0, 0) é o local específico no chão onde o utilizador se encontrava durante a configuração da sala, com -Z a representar a direção reencaminhada que enfrentava durante a configuração.

No código do script, pode chamar o TryGetGeometry método no UnityEngine.Experimental.XR.Boundary tipo para obter um polígono de limite, especificando um tipo de limite de TrackedArea. Se o utilizador definiu um limite, obtém uma lista de vértices. Em seguida, pode proporcionar uma experiência à escala de salas ao utilizador, onde pode percorrer a cena que criar.

O sistema compõe automaticamente o limite quando o utilizador se aproxima do mesmo. A sua aplicação não precisa de utilizar este polígono para compor o limite propriamente dito.

Exemplo de resultados:

Exemplo de resultados

Para obter mais informações, veja Coordenar sistemas no Unity.

7. Trabalhe através do modelo de entrada

Cada jogo ou aplicação que visa um ecrã montado na cabeça (HMD) existente tem um conjunto de entradas que processa, tipos de entradas de que precisa para a experiência e APIs específicas que chama para obter essas entradas. É simples e simples tirar partido das entradas disponíveis no Windows Mixed Reality.

Veja o guia de migração de entrada do Unity para obter detalhes sobre como Windows Mixed Reality expõe a entrada e como a entrada mapeia o que a sua aplicação faz agora.

Importante

Se utilizar controladores HP Reverb G2, consulte Hp Reverb G2 Controllers in Unity (Controladores HP Reverb G2 no Unity ) para obter instruções adicionais sobre o mapeamento de entradas.

8. Testar e otimizar o desempenho

Windows Mixed Reality está disponível em muitos dispositivos, desde PCs de jogos de gama alta a PCs mainstream de mercado abrangentes. Estes dispositivos têm orçamentos de computação e gráficos significativamente diferentes disponíveis para a sua aplicação.

Se tiver portado a sua aplicação através de um PC premium com orçamentos de computação e gráficos significativos, certifique-se de que testa e cria perfis da sua aplicação em hardware que representa o seu mercado de destino. Para obter mais informações, veja Windows Mixed Reality diretrizes mínimas de compatibilidade de hardware do PC.

O Unity e o Visual Studio incluem perfis de desempenho e as diretrizes de publicação da Microsoft e da Intel sobre a criação de perfis de desempenho e otimização.

Para uma extensa discussão sobre o desempenho, veja Compreender o desempenho de Mixed Reality. Para obter detalhes específicos sobre o Unity, veja Recomendações de desempenho para o Unity.

Mapeamento de entrada

Para obter informações e instruções sobre o mapeamento de entrada, veja Guia de migração de entrada para o Unity.

Importante

Se utilizar controladores HP Reverb G2, consulte Hp Reverb G2 Controllers in Unity (Controladores HP Reverb G2 no Unity ) para obter instruções adicionais sobre o mapeamento de entradas.

Ver também