Realidade mista do Windows: um guia do desenvolvedor (parte 1)

Olá Habr! Hoje estamos iniciando uma série de artigos sobre o Windows Mixed Reality. Dentro dessa estrutura, desenvolveremos um aplicativo de realidade mista no Unity do zero. A propósito, tudo isso ocorrerá no formato trabalho de laboratório (trabalho de laboratório), ou seja, você pode, paralelamente à publicação de artigos, criar esse aplicativo. Inscreva-se agora!



O guia inteiro será composto por 5 partes. Será reabastecido toda semana. Abaixo você pode ir para a parte que precisa.

Parte 1: Exportar aplicativo UWP para Windows Mixed Reality do Unity ;
Parte 2: Configurando o ambiente (VR) ;
Parte 3: Controladores ;
Parte 4: Som espacial ;
Parte 5: HoloLens e gráficos .

A realidade mista é uma combinação do mundo real com o conteúdo virtual, um ambiente híbrido no qual objetos físicos e digitais existem juntos e interagem.

Neste tutorial, você criará um aplicativo para fones de ouvido imersivos em realidade mista do Windows (VR) e dispositivos Microsoft HoloLens (AR). Com o Unity, você criará uma sala virtual na qual os usuários interagem com um alto-falante que reproduz som espacial. Os usuários ouvirão o som teletransportando-se para vários pontos da sala ou movendo o próprio alto-falante pela sala.

O aplicativo será criado usando o Mixed Reality Toolkit para compatibilidade máxima com o HoloLens. No final da lição, você fará algumas alterações no aplicativo para otimizar a experiência do dispositivo HoloLens a partir do aplicativo de realidade virtual.

Depois de concluir a lição, você:

  • aprenda como criar aplicativos de realidade virtual usando o Unity e consolide esse conhecimento;
  • Aprenda a configurar o Unity para criar aplicativos UWP para realidade mista.
  • Aprenda a usar os recursos padrão de realidade mista (MR), como configurações da câmera, processamento de entrada (controle de olhar, controladores de movimento e gesto) e reprodução espacial de som em aplicativos de RM;
  • Aprenda a criar aplicativos de realidade mista que são adequados para óculos de realidade virtual e HoloLens.

Requisitos de hardware


  • Computador ativado por MR
  • [Opcional] Fone de ouvido imersivo em realidade mista para Windows com controladores de movimento
  • [Opcional] dispositivo HoloLens

Nota Se você não tiver acesso a um fone de ouvido imersivo ou dispositivo HoloLens, poderá ver como seu aplicativo funciona no simulador de realidade mista ou no emulador HoloLens. Veja os links abaixo.

Requisitos de software


Visual Studio 2017 . Qualquer edição serve, incluindo a Community Edition gratuita. Durante a instalação, os seguintes componentes e cargas de trabalho devem ser selecionados:


Nota No Visual Studio, o acesso a vários kits de ferramentas pode ser obtido usando o menu Ferramentas -> Obter ferramentas e recursos (Ferramentas -> Obter ferramentas e componentes).

Unity 2017.4.3 (ao escolher componentes durante a instalação, você precisa adicionar .Net Scripting Backend);

• Atualização do Windows 10 Fall Creators para SO (ou posterior);

  • Para ativar o modo de desenvolvedor, vá para Configurações -> Atualização e segurança -> Para desenvolvedores.

Emulador HoloLens [opcional] ou simulador Realidade mista .

Exportar aplicativo de realidade mista do Windows UWP do Unity


1. Crie um projeto do Unity e importe recursos


Para esta prática, precisamos importar alguns recursos necessários. Faça o download desses dois pacotes do Unity e salve-os no seu computador.

  • Holotoolkit.Unitypackage
    Este é um instantâneo do Microsoft Mixed Reality Toolkit , um conjunto de scripts e componentes que acelera o desenvolvimento de aplicativos para Microsoft HoloLens e fones de ouvido compatíveis com o Windows Mixed Reality.
  • SpatialSoundLab.Unitypackage
    Um pacote especial preparado para esta lição prática. Contém recursos (modelos, materiais e clipes de som) que serão usados ​​para trabalhar com som espacial.

Após receber os arquivos de recursos, podemos criar um projeto do Unity.

1. Abra o editor do Unity e clique em Novo.

2. Selecione um nome para o projeto (por exemplo, SpeakerPlacement).

3. Ligue o 3D para o modelo, desative a análise e clique em Create project .

4. Para importar pacotes Unity, selecione Ativos -> Importar pacote -> Pacote personalizado no menu e navegue até o pacote Holotoolkit.unitypackage salvo anteriormente.



5. Não desmarque itens para importar todos os arquivos. Clique em Import .



O processo de importação consiste em várias etapas e pode levar vários minutos.Se a importação do pacote for bem-sucedida, uma pasta chamada Holotoolkit aparecerá na janela do projeto, na pasta Assets.



6. Importe também o arquivo SpatialSoundLab.UnityPackage, repetindo as etapas acima.

7. A pasta Assets agora deve conter os dois pacotes.



2. Aplicação dos parâmetros do projeto


Em seguida, precisamos configurar nosso projeto Unity para criar um aplicativo para Windows Mixed Reality. Esta tarefa nos ajudará a concluir o Kit de ferramentas de realidade mista.

1. No menu superior, vá para a seção Kit de ferramentas de realidade mista -> Configurar (Kit de ferramentas de realidade mista -> Configurações) e selecione Aplicar configurações do projeto de realidade mista.



2. Marque a caixa de seleção Usar eixos do InputManager específicos do kit de ferramentas e clique no botão Aplicar.



Para fins de referência, fornecemos uma descrição de cada um dos parâmetros:

  • Alvo Universal UWP do Windows (Build para Windows Universal UWP) - Especifica a plataforma de destino do Unity. Outras opções para a plataforma de destino podem ser visualizadas selecionando Arquivo -> Configurações de compilação.
  • Build for Direct3D: define o valor D3D do parâmetro Build Type na seção Build Settings. Para aplicativos de realidade mista projetados para fones de ouvido fechados, o XAML não é suportado.
  • Definir o parâmetro Ativar XR é o mesmo que definir o parâmetro Realidade Virtual Suportada na seção Configurações do Player -> Configurações XR.
  • Configurar Habilitar script .NET é equivalente a definir Configurações do .NET for Player -> Outras configurações -> Back-end de script (Configurações do player -> Outras configurações -> Plataforma de script). A opção IL2CPP também funcionaria, mas para consistência neste laboratório, recomendamos o uso da variante .NET.
  • O parâmetro Usar eixo do InputManager específico do Kit de ferramentas altera os eixos da seção Editar -> Configurações do projeto -> Gerenciador de entradas para ativar o suporte a todos os eixos usados ​​na caixa de ferramentas . Em outras palavras, inclui suporte para o gamepad do Xbox e controladores para Realidade Mista.
  • Se você criar aplicativos apenas para fones de ouvido imersivos, poderá marcar a caixa de seleção Target Occluded Devices. Como vamos transferir nosso aplicativo para o dispositivo HoloLens, não selecionaremos esta caixa de seleção.

Fornecemos suporte para realidade mista, mas há mais algumas configurações que precisam ser feitas para a plataforma universal do Windows.

3. No menu superior, acesse a seção Kit de ferramentas de realidade mista -> Configurar (Kit de ferramentas de realidade mista -> Configurações) e selecione Aplicar configurações de capacidade da UWP.



4. Marque a caixa de seleção Percepção espacial se você deseja transferir este aplicativo para um dispositivo HoloLens. Isso nos permitirá mapear o ambiente e encontrar as superfícies para acomodar os alto-falantes.

5. Clique no botão Apply para salvar suas alterações.

6. Em seguida, abra a caixa de diálogo Arquivo -> Configurações de compilação usando o atalho de teclado Ctrl + Shift + B, selecione Plataforma Universal do Windows e clique em Alternar Plataforma. Para adicionar uma cena aberta à montagem, marque a caixa ao lado do nome da cena e clique no botão Adicionar cenas abertas. Confirme a oferta para salvar a cena e selecione um nome adequado para ela. Chamamos nossa cena de Main.

3. Aplique configurações de cena e adicione objetos de Realidade Mista


Agora precisamos montar a cena. Vamos adicionar objetos que manipularão o movimento da câmera e os sinais do controlador.

1. No menu superior, vá para a seção Kit de ferramentas de realidade mista -> Configurar (Kit de ferramentas de realidade mista -> Configurações) e selecione Aplicar configurações do projeto de realidade mista.



2. Deixe todas as configurações padrão selecionadas e clique no botão Aplicar.



Para fins de referência, fornecemos uma descrição de todos esses parâmetros:

  • A mistura pré-fabricada MixedRealityCameraParent é adicionada à cena. Essa pré-fabricação adiciona uma câmera padrão (principal) à origem (0,0,0) e também adiciona suporte para controladores de movimento e borda.
  • O pré-fabricado InputManager é adicionado à cena. Ele fornece suporte para entrada (olhar, controle por gestos, entrada por toque ou um gamepad do Xbox).
  • O DefaultCursor pré-fabricado é adicionado à cena.

Todos os objetos adicionados serão visíveis no painel Hierarquia da unidade.

Isso conclui a configuração e preparação do projeto e o cenário para a criação do aplicativo UWP para MR.

Salve a cena e o design.

3. Clique em Arquivo -> Salvar cenas. Quando solicitado a escolher um nome para a cena, nomeie-o como Principal (ou escolha outro nome adequado).

4. Clique em Arquivo -> Salvar Projeto.

Nota Para uma descrição detalhada de todos os parâmetros usados ​​aqui, consulte este guia de configuração do projeto de Realidade Mista.

4. Implantando aplicativos em fones de ouvido


Agora você não precisa fazer isso, mas se você decidir criar um projeto, use as seguintes instruções para iniciá-lo.

Implantando um projeto em um headset imersivo

1. Vá para o Kit de ferramentas de realidade mista -> Janela Build (Kit de ferramentas de realidade mista -> Janela Build).

2. Clique Open in Visual Studio . Essa ação levará alguns minutos - durante esse período, todos os recursos serão compilados e uma solução para o Visual Studio será criada ou atualizada.

Nota Se aparecer uma mensagem no Unity de que não há solução aberta para o projeto e você for perguntado se precisa concluir a montagem, selecione Sim, Compilar.

3. Após a conclusão da compilação, o Unity iniciará o Visual Studio.

4. Na barra de ferramentas padrão do Visual Studio, altere a plataforma de solução ativa de ARM para x64. Para o destino de implantação, você deve selecionar Máquina Local.



Se você não estiver depurando, recomendamos que você também altere o tipo de compilação de Debug para Release, pois as compilações de depuração do Unity costumam ser mais lentas.

5. Inicie o aplicativo pressionando o botão play.

Implantando um projeto em um dispositivo HoloLens

O procedimento para implantar um projeto em um dispositivo HoloLens é muito semelhante ao procedimento acima para fones de ouvido imersivos, com a única exceção que você precisa selecionar outro dispositivo de destino e selecionar x86 como plataforma.

1. Vá para o Kit de ferramentas de realidade mista -> Janela Build (Kit de ferramentas de realidade mista -> Janela Build).

2. Clique Open in Visual Studio . Essa ação levará alguns minutos - durante esse período, todos os recursos serão compilados e uma solução para o Visual Studio será criada ou atualizada.

Nota Se aparecer uma mensagem no Unity de que não há solução aberta para o projeto e você for perguntado se precisa concluir a montagem, selecione Sim, Compilar.

3. Após a conclusão da compilação, o Unity iniciará o Visual Studio.

4. Na barra de ferramentas padrão do Visual Studio, altere a plataforma da solução ativa de ARM para x86 e selecione o destino apropriado para implantação:

  • se a implantação for via USB, selecione Dispositivo;
  • se a implantação for via Wi-Fi, selecione Máquina remota e configure o computador remoto.



Se você não estiver depurando, recomendamos que você também altere o tipo de compilação de Debug para Release, pois as compilações de depuração do Unity costumam ser mais lentas.

5. Inicie o aplicativo pressionando o botão play.

Para obter informações sobre a publicação de aplicativos na Microsoft Store, consulte o site do desenvolvedor do Windows .

Aplicativo de colocação de alto-falante


Em nosso aplicativo Colocação de alto-falante para colocar alto-falantes, o usuário terá as seguintes opções:

  • usando controladores de movimento, o usuário pode se teletransportar para vários pontos da sala de estar virtual ou se movimentar;
  • Você também pode selecionar alto-falantes, mover, girar, ativá-los e desativá-los e ouvir som espacial em toda a sala.

Abaixo está uma lista de nossos modelos e recursos musicais.

  • Prefabs -> RoomPrefab.prefab - uma sala de estar virtual para um fone de ouvido imersivo.
  • Modelos -> Speaker.3DS - um modelo de nossos alto-falantes, que iremos transformar em uma pré-fabricada em funcionamento.
  • Áudio -> ChillBlueLagoon.mp3 - arquivo de música (você pode usar qualquer arquivo no formato MP3, OGG, WAV ou AIFF).

Outros recursos serão implementados usando o Mixed Reality Toolkit. Os componentes deste kit serão usados ​​para adicionar interoperabilidade.

O original
Autores: Eric Ahlstrom, cbarkerms, Madison Hight

Source: https://habr.com/ru/post/pt418655/


All Articles