Aplicativos VR de porção para Windows Mixed Reality

Windows 10 inclui suporte para auscultadores imersivos e holográficos. Se construiu conteúdos para outros dispositivos como o Oculus Rift ou o HTC Vive, eles têm dependências de bibliotecas que existem acima da plataforma API do sistema operativo. Trazer as aplicações win32 Unity VR existentes para Windows Mixed Reality envolve retargeting use de SDKs VR específicos do fornecedor para as APIs VR do fornecedor da Unidade.

Requisitos de porção

A um nível elevado, estão envolvidos os seguintes passos na desatenção de conteúdos existentes:

  1. Certifique-se de que o seu PC está a executar o Windows 10 Fall Creators Update (16299). Já não recomendamos receber pré-visualização do anel Insider Skip Ahead, uma vez que estas construções não serão as mais estáveis para o desenvolvimento de realidade mista.
  2. Atualize para a versão mais recente dos seus gráficos ou motor de jogo. Os motores de jogo terão de suportar a versão Windows 10 SDK 10.0.15063.0 (lançada em abril de 2017) ou superior.
  3. Atualize qualquer middleware, plug-ins ou componentes. Se a sua aplicação contiver algum componente, é uma boa ideia fazer o upgrade para a versão mais recente.
  4. Remover as dependências dos SDKs duplicados. Dependendo do dispositivo que o seu conteúdo estava a ser alvo, terá de remover ou compilar condicionalmente esse SDK para que possa direcionar as APIs Windows em vez disso. Um exemplo deste cenário seria o SteamVR.
  5. Trabalhar através de problemas de construção. Neste momento, o exercício de porção é específico da sua app, do seu motor e das dependências de componentes que tem.

Etapas comuns de porting

1. Certifique-se de que tem o hardware de desenvolvimento certo

A página de guia do entusiasta do VR lista o hardware de desenvolvimento recomendado.

2. Upgrade para o último voo da Windows 10

A plataforma Windows Mixed Reality ainda está em desenvolvimento ativo. Recomendamos que se junte ao Programa Insider Windows para aceder ao voo "Windows Insider Fast".

  1. Instale o Atualização para Criativos do Windows 10
  2. Junte-se ao Programa insider Windows.
  3. Ativar o modo de desenvolvimento
  4. Mude para os voos insider fast Windows através da secção de segurança Definições Update

3. Upgrade para a mais recente construção de Visual Studio

  • Se estiver a usar Visual Studio, então atualize para a construção mais recente
  • Consulte a página de ferramentas em Visual Studio 2019

4. Escolha o adaptador correto

  • Em sistemas como os cadernos com duas GPUs, direcione o adaptador correto. Isto aplica-se a aplicações De unidade e directx nativas onde é criado um ID3D11Device, quer explicitamente quer implicitamente (Media Foundation), para a sua funcionalidade.

Orientação de porting de unidade

1. Rever as etapas comuns de porting listadas acima

Reveja os passos comuns acima indicados para garantir que o seu ambiente de desenvolvimento está configurado corretamente. No passo nº 3, se estiveres a usar Visual Studio deves selecionar a carga de trabalho de Desenvolvimento de Jogos com Unidade. Pode desmarcar o componente opcional "Unity Editor", uma vez que vai instalar uma versão mais recente da Unidade no próximo passo.

2. Upgrade para a mais recente construção pública da Unidade com Windows mr support

  1. Descarregue a mais recente construção pública recomendada da Unidade com suporte à realidade mista.
  2. Guarde uma cópia do seu projeto antes de começar
  3. Reveja a documentação disponível da Unidade sobre a atualização se o seu projeto foi construído numa versão mais antiga da Unidade.
  4. Siga as instruções no site da Unidade para utilizar o seu atualizador automático de API
  5. Verifique se há alterações adicionais que precisa de fazer para que o seu projeto funcione e trabalhe através de quaisquer erros e avisos restantes.

Nota

Se tiver middleware de que depende, verifique se está a utilizar a versão mais recente (mais detalhes no passo 3 abaixo).

3. Atualize o seu middleware para as versões mais recentes

Com qualquer atualização da Unidade, há boas hipóteses de precisares de atualizar um ou mais pacotes de middleware de que o teu jogo ou aplicação depende. Além disso, estar atualizado com o mais recente middleware aumenta a probabilidade de sucesso durante todo o resto do processo de porting.

4. Direcione a sua aplicação para executar no Win32

De dentro da sua aplicação Unidade:

  • Navegar para arquivar - > Construa Definições
  • Selecione "PC, Mac, Linux Standalone"
  • Definir plataforma-alvo para "Windows"
  • Definir arquitetura para "x86" Selecione "Switch Platform"

Nota

Se a sua aplicação tiver alguma dependência de serviços específicos do dispositivo, como a fabricação de correspondência a partir do Steam, terá de os desativar neste passo. Pode ligar-se aos serviços equivalentes que Windows presta mais tarde.

5. Configurar o seu hardware Windows Mixed Reality

  1. Rever etapas na configuração de auscultadores imersivos
  2. Saiba como usar o simulador de Windows Mixed Reality e navegar na casa Windows Mixed Reality

6. Direcione a sua candidatura para executar a Windows Mixed Reality

  1. Em primeiro lugar, deve remover ou compilar condicionalmente qualquer outro suporte à biblioteca específico de um SDK VR em particular. Esses ativos mudam frequentemente as configurações e propriedades do seu projeto de forma incompatível com outros SDKs VR, como Windows Mixed Reality.
    • Por exemplo, se o seu projeto referenciar o SteamVR SDK, terá de atualizar o seu projeto para, em vez disso, utilizar as APIs vr comuns da Unidade que suportam tanto Windows Mixed Reality como o SteamVR.
    • Em breve, estão a chegar passos específicos para excluir condicionalmente outros SDKs VR.
  2. No seu projeto de unidade, direcione o Windows 10 SDK
  3. Para cada cena, configurar a câmara

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

Você pode construir experiências de Realidade Mista em uma ampla gama de escalas de experiência.

Se estiver a apresentar uma experiência à escala sentada, deve certificar-se deque a Unidade está definida para o tipo de espaço de rastreio estacionário:

XRDevice.SetTrackingSpaceType(TrackingSpaceType.Stationary);

Este código acima define o sistema de coordenadas mundiais da Unidade para rastrear o quadro estacionário de referência. No modo de rastreio estacionário, os conteúdos colocados no editor mesmo em frente à localização padrão da câmara (para a frente é -Z) aparecem na frente do utilizador quando a aplicação é lançada. Para recentr a origem sentada do utilizador, pode chamar XR da Unidade. Método InputTracking.Recentr.

Se estiver a realizar uma experiência em escala permanente ou uma experiência em escala de quarto,estará a colocar conteúdo em relação ao chão. O utilizador raciocina sobre o piso do utilizador utilizando o estágio espacial, que representa a origem definida do piso do utilizador e o limite opcional da sala, configurado durante a primeira execução. Para estas experiências, deve garantir que a Unidade está definida para o tipo de espaço de rastreio RoomScale. Enquanto o RoomScale é o padrão, você vai querer defini-lo explicitamente e garantir que você volta a ser verdadeiro, para pegar situações em que o utilizador moveu o seu computador para longe do quarto que calibraram:

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 cannot make assumptions about where the floor plane is.
}

Uma vez que a sua aplicação define com sucesso o tipo de espaço de rastreio RoomScale, aparecerá no chão conteúdos colocados no plano y=0. A origem em (0, 0, 0) será o local específico no piso onde o utilizador se encontrava durante a configuração do quarto, com -Z representando a direção dianteira que estavam viradas durante a configuração.

No código de script, pode então chamar o método TryGetGeometry em você é o tipo UnityEngine.Experimental.XR.Boundary para obter um polígono de fronteira, especificando um tipo de limite de TrackedArea. Se o utilizador definiu um limite (recebe uma lista de vértices), é seguro entregar uma experiência em escala de sala ao utilizador, onde pode andar pela cena que cria.

O sistema tornará automaticamente o limite quando o utilizador se aproximar. A sua aplicação não precisa de usar este polígono para tornar a própria fronteira.

Para mais informações, consulte os sistemas De coordenação na página Unidade.

Exemplo de resultados:

Exemplo de resultados

Algoritmo é baseado em um blog de Daniel Smilkov: Maior retângulo em um polígono

8. Trabalhe através do seu modelo de entrada

Cada jogo ou aplicação direcionado para um HMD existente terá um conjunto de entradas que ele lida, tipos de entradas que precisa para a experiência, e APIs específicos que ele chama para obter essas entradas. Investimos em tentar torná-lo o mais simples e simples possível para tirar partido das entradas disponíveis em Windows Mixed Reality.

Leia o guia de entrada para a Unidade no separador adjacente para obter detalhes sobre como Windows Mixed Reality expõe a entrada e como isso mapeia o que a sua aplicação pode fazer hoje.

9. Testes de desempenho e afinação

Windows Mixed Reality estará disponível numa ampla classe de dispositivos, que vão desde computadores de jogo de alta qualidade, até pCs mainstream de mercado alargado. Dependendo do mercado que está a ser alvo, há uma diferença significativa nos orçamentos de computação e gráficos disponíveis para a sua aplicação. Durante este exercício de porção, você provavelmente está aproveitando um PC premium, e teve orçamentos de computação e gráficos significativos disponíveis para a sua app. Se deseja disponibilizar a sua aplicação a um público mais vasto, deverá testar e perfilar a sua aplicação no hardware representativo que pretende destinar.

Tanto a Unidade como a Visual Studio incluem perfis de desempenho, e tanto a Microsoft como a Intel publicam diretrizes sobre perfis de desempenho e otimização. Há uma extensa discussão sobre o desempenho disponível no Understanding Performance for Mixed Reality. Além disso, existem detalhes específicos para a Unidade no âmbito do Recomendações de Desempenho para a Unidade.

Orientação porting irreal

Importante

Se estiver a utilizar controladores HP Reverb G2, consulte este artigo para obter instruções adicionais de mapeamento de entradas.

Ver também