Exercício - Crie posicionamentos inteligentes de objetos com solucionadores
Os solvers são um dos componentes do Mixed Reality Toolkit (MRTK). Vamos dar uma olhada em dois tipos de solvers e suas respetivas funcionalidades.
Localização dos solvers no MRTK
Os solvers do MRTK estão localizados na pasta MRTK SDK. Para ver os solucionadores disponíveis em seu projeto, na janela Projeto, vá para Pacotes>MRTK Spatial Manipulation>Solvers.
O solucionador de indicadores direcionais
Use o solucionador de indicadores direcionais para direcionar o usuário para objetos. Saiba como:
Na janela Projeto, vá para Ativos>MRTK. Tutoriais.GettingStarted>Pré-fabricados. Arraste o pré-fabricado Chevron para a janela Hierarchy e defina sua Transform Position como X = 0, Y = 1.5, Z = 2 para posicioná-lo perto do objeto RoverExplorer .
Renomeie o objeto Chevron recém-adicionado para Indicador. Em seguida, na janela Inspetor , selecione Adicionar componente para adicionar o DirectionalIndicator.
Configure os componentes DirectionalIndicator e SolverHandler da seguinte maneira:
a. Verifique se o Tipo de Destino Rastreado do componente SolverHandler está definido como Head.
b. Atribua o RoverExplorer ao Destino Direcional do componente DirectionalIndicator, arrastando-o da Hierarquia para o campo Nenhum (Transformar).
c. Altere o deslocamento da exibição para 0.2.
Para entrar no modo de jogo , pressione Play. Pressione e segure o botão direito do mouse enquanto move o mouse para a esquerda ou direita para girar a direção do olhar.
Observe que quando você desviar o olhar do objeto RoverExplorer, o objeto Indicator aparecerá e apontará para o objeto RoverExplorer.
O solucionador Tap To Place
Use o solucionador Tocar para colocar para reposicionar objetos. Saiba como:
Na janela Hierarchy, selecione o objeto RoverExplorer>RoverAssembly. Em seguida, no Inspetor, use Adicionar componente para adicionar o componente Tocar para inserir. Configure o componente da seguinte maneira:
a. Verifique se o Tipo de Destino Rastreado do componente SolverHandler está definido como Head.
b. Desmarque a opção Usar Deslocamento Normal de Superfície Padrão e verifique se Deslocamento Normal de Superfície está definido como 0.
c. Marque a caixa de seleção Manter orientação vertical .
Em seguida, use Add Component para adicionar o componente Stateful Interactable . Na janela Inspetor, localize o evento On Clicked (). Selecione o + ícone para adicionar um novo evento. Configure o evento da seguinte maneira:
a. Atribua o objeto RoverAssembly como ouvinte para o evento On Clicked (), arrastando-o da Hierarquia para o campo Nenhum (Objeto).
b. Na lista suspensa Sem função, selecione TapToPlace>StartPlacement() para chamar esse método quando o evento for acionado.
Com o objeto RoverAssembly ainda selecionado na janela Hierarchy, na janela Inspetor, localize o evento On Putting Started (). Selecione o + ícone para adicionar um novo evento.
Configure o evento da seguinte maneira:
a. Atribua o objeto RoverAssembly como ouvinte para o evento Ao colocar iniciado (), arrastando-o da hierarquia para o campo Nenhum (objeto).
b. Na lista suspensa Sem Função, selecione TapToPlace>float SurfaceNormalOffset para atualizar o valor da propriedade SurfaceNormalOffset quando o evento for acionado.
c. Verifique se o argumento está definido como 0.
Em Hierarquia, clique com o botão direito do mouse em um local vazio. Selecione Cubo de objeto 3D para criar um objeto>temporário que represente o solo e configure o componente Transformar da seguinte maneira:
- Posição: X = 0, Y = 0,15, Z = 6
- Rotação: X = 0, Y = 0, Z = 0
- Escala: X = 10, Y = 0,2, Z = 10
Para entrar no modo de jogo , pressione Play. Em seguida, pressione e segure o botão direito do mouse enquanto move o mouse para baixo, até que o olhar atinja o objeto RoverAssembly .
Mantenha pressionada a barra de espaço e clique no botão esquerdo do mouse para fazer um toque aéreo e iniciar o processo de toque no local.
Pressione e segure o botão direito do mouse enquanto move o mouse para a esquerda ou direita para girar a direção do olhar. Quando estiver satisfeito com o posicionamento, mantenha pressionada a barra de espaço e clique no botão esquerdo do mouse para fazer um toque aéreo final.
Quando terminar de testar o recurso no modo Jogo, clique com o botão direito do mouse no objeto Cubo e selecione Excluir para removê-lo da cena.