Desenvolvimento de realidade mista: você colocou um alto-falante em uma sala de estar virtual?

Continuamos a série de artigos sobre o Windows Mixed Reality e desenvolvemos do zero um aplicativo de realidade mista do Unity no formato de trabalho de laboratório. Você mesmo pode, paralelamente à publicação de artigos, criar esse aplicativo. Nesta parte, consideramos o suporte do controlador de movimento e adicionamos a pré-fabricada do alto-falante à sala de estar virtual.



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 .

Controladores


Nesta etapa da lição prática, criaremos uma pré-fabricada de alto-falante e a adicionaremos à sala de estar virtual. Em seguida, adicionamos suporte ao controlador de movimento em nossa cena para que o usuário possa mover e girar o alto-falante.

Adicionando um alto-falante a uma sala


  1. Vá para a pasta Modelos no painel Projeto e arraste o modelo Speaker3 para o painel Hierarquia para que esse modelo se torne o objeto raiz e não um filho de um dos objetos de cena.
  2. Renomeie o alto-falante clicando com o botão direito do mouse e selecionando Renomear. Nomeie-o como Orador.
  3. Selecione o objeto Alto-falante na cena e, no painel Inspetor, altere as seguintes propriedades de transformação:

  • defina o parâmetro Scale como (0,02; 0,02; 0,02);
  • defina o parâmetro Position como (2,68; 0,14; 2).



Adicionando suporte ao controlador


Anteriormente, quando aplicamos parâmetros de Realidade mista em nossa cena, adicionamos suporte ao controlador de movimento.

Vamos lembrar como esses parâmetros afetam a operação dos controladores de movimento em nossa cena.

  • O elemento MixedRealityCameraParent que adicionamos possui um objeto filho chamado MotionControllers e um script MotionControllerVisualizer. Este script monitora e visualiza o modelo do controlador (altera sua posição, gira e também processa eventos de entrada).
  • O objeto InputManager que adicionamos espera eventos de entrada de várias fontes. Entre seus objetos filhos estão objetos para o mouse (Mouse), entrada por toque (Touch), gestos (GesturesInput) e Xbox. O objeto GestureInput possui um elemento InteractionInputSource que aguarda eventos do controlador de movimento do InteractionManager. Estes são eventos de controle de movimento que serão usados ​​para controlar nosso alto-falante.



Controle de alto-falante


Para que o usuário possa mover e girar o alto-falante, as propriedades físicas devem ser adicionadas a ele - então podemos determinar que a visualização é direcionada ao alto-falante.

  1. Selecione o objeto Alto-falante no painel Hierarquia para alterar suas propriedades e comportamento no painel Inspetor.
  2. No painel Inspetor, clique em Adicionar componente, localize e selecione o componente Box Collider.
  3. No componente Box Collider adicionado, defina a propriedade Tamanho como (21, 20, 53) para que envolva completamente o alto-falante.

Em seguida, adicione o comportamento da caixa delimitadora no kit de ferramentas Realidade mista:

1. No painel Projeto, navegue até a pasta Holotoolkit → UX → Scripts → BoundingBoxes (Holotoolkit → UX → Scripts → Caixas delimitadoras), selecione o script BoundingBoxRig.cs e arraste esse script para o painel Inspetor para adicioná-lo aos componentes Orador

2. Como não precisamos alterar a escala do alto-falante, o parâmetro Rate Rate pode ser definido como 0.

O componente BoundingBoxRig adiciona um elemento de dispositivo ao objeto do jogo (nesse caso, o alto-falante). Usando o gizmo, o usuário pode girar, mover e dimensionar o objeto usando controladores de movimento ou gestos HoloLens (toques e manipulações).

3. Com o objeto Alto-falante selecionado, clique em Adicionar componente e, na caixa de pesquisa, digite Manipulável com duas mãos e clique no script destacado nos resultados da pesquisa.

4. Defina o Modo de manipulação deste componente como Girar para impedir o zoom dos alto-falantes.

Esse cenário permite controlar objetos com as duas mãos - usando os controladores de movimento ou gestos de pressionar e segurar o HoloLens.

5. No painel Projeto, localize a pré-fabricada BoundingBoxBasic na pasta Ativos → HoloToolkit → UX → Prefabs → BoundingBoxes (Recursos → HoloToolkit → UX → Prefabs → Caixas delimitadoras) e arraste-a para a propriedade Pré-fabricada da caixa delimitadora do script B Rig no objeto Speaker.

6. Arraste também a pré-fabricada BoundingBoxBasic para a propriedade Pré-fabricada de caixa delimitadora do componente Manipulável com duas mãos.

A pré-fabricada BoundingBoxBasic contém elementos visuais que são renderizados durante manipulações, portanto, nós a adicionamos a cada componente.



7. No painel Projeto, localize a pré-fabricada AppBarCustom na pasta Assets -> Prefabs e arraste-a para a propriedade Prefab da barra de aplicativos do componente Bounding Box Rig no alto-falante.

Fizemos muitas mudanças. Certifique-se de que o painel Inspetor do objeto do jogo Alto-falante tenha a seguinte aparência:



Iniciando o aplicativo e movendo o alto-falante


Salve a cena e execute-a para verificar suas alterações.

Tente o seguinte:

  • selecione um alto-falante e mova-o (os sinais do seu controlador devem ser monitorados);
  • Clique no painel de aplicativos do alto-falante para acessar os encaixes que permitem girar o alto-falante.
  • altere o tamanho / escala do alto-falante (se você não tiver desativado esse recurso anteriormente).

Original

Autores: Eric Ahlstrom, cbarkerms, Madison Hight

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


All Articles