Criar a sua primeira aplicação Do HoloLens Unreal

Este guia irá orientá-lo ao longo da execução da sua primeira aplicação Mixed Reality no HoloLens no Unreal Engine. Na tradição de "Hello World", irá criar uma aplicação simples que apresenta um cubo no ecrã. Para torná-lo mais útil, também irá criar o seu primeiro gesto para rodar o cubo e sair da aplicação.

Objetivos

  • Iniciar um Projeto HoloLens
  • Ativar os plug-ins corretos
  • Criar um Recurso de Dados ARSessionConfig
  • Configurar entradas de gestos
  • Criar um nível básico
  • Implementar um gesto de beliscar

Criar um novo projeto

A primeira coisa que precisa é de um projeto para trabalhar. Se for um programador irreal pela primeira vez, terá de transferir ficheiros de suporte a partir do Iniciador Épico.

  1. Iniciar Motor Irreal
  2. Nas Categorias de Novo Projeto, selecione Jogos e clique em Seguinte:

Janela projetos recentes aberta com Jogos realçados

  1. Selecione o modelo Em branco e clique em Seguinte:

Janela do browser de projeto irreal com o modelo em branco realçado

  1. Nas Definições do Projeto, defina C++, Scalable 3D ou 2D, Mobile/Tablet e Sem Conteúdo inicial, escolha uma localização para guardar e clique em Criar Projeto

Nota

Está a utilizar um C++ em vez de um projeto do Blueprint para estar pronto para utilizar o plug-in OpenXR mais tarde. Este Início Rápido utiliza o plug-in OpenXR predefinido fornecido com o Unreal Engine. No entanto, é recomendado transferir e utilizar o plug-in oficial do Microsoft OpenXR. Isto requer que o projeto seja um projeto C++.

Janela de definições do projeto com opções de projeto, desempenho, plataforma de destino e conteúdo inicial realçadas

O seu novo projeto deve ser aberto automaticamente no editor Unreal, o que significa que está pronto para a próxima secção.

Ativar os plug-ins necessários

Terá de ativar dois plug-ins antes de poder começar a adicionar objetos à cena.

  1. Abra Editar > Plug-ins e selecione Realidade Aumentada na lista de opções incorporadas.
  • Desloque-se para baixo até HoloLens e verifique Ativado

Janela Plug-ins com a secção de realidade aumentada aberta e HoloLens realçado

  1. Escreva OpenXR na caixa de pesquisa no canto superior direito e ative os plug-ins OpenXR eOpenXRMsftHandInteraction :

Janela Plug-ins com OpenXR ativado

Janela plug-ins com a Interação Manual Open XR Msft Msft ativada

  1. Reiniciar o editor

Nota

Este tutorial utiliza o OpenXR, mas os dois plug-ins que instalou acima não fornecem atualmente o conjunto de funcionalidades completo para o desenvolvimento do HoloLens. O plug-in HandInteraction será suficiente para o gesto "Pinch" que irá utilizar mais tarde, mas se quiser ir além das noções básicas, terá de transferir o plug-in Do Microsoft OpenXR.

Com os plug-ins ativados, pode concentrar-se em preenchê-lo com conteúdo.

Criar um nível

A sua próxima tarefa é criar uma configuração de jogador com um ponto de partida e um cubo para referência e dimensionamento.

  1. Selecione Novo Nível de Ficheiro > e selecione Nível Vazio. A cena predefinida no viewport deve estar agora vazia
  2. No separador Modos , selecione Básico e arraste PlayerStart para a cena
  • No separador Detalhes , defina Localização como X = 0, Y = 0 e Z = 0 para colocar o utilizador no centro da cena quando a aplicação for iniciada

Cena do editor irreal com localização e início de jogador adicionados

  1. No separador Básico , arraste um Cubo para a cena
  • Defina a Localização do cubo como X = 50, Y = 0 e Z = 0 para posicionar o cubo a 50 cm de distância do leitor no início
  • Altere a Escala do cubo para X = 0,2, Y = 0,2 e Z = 0,2

Não pode ver o cubo a menos que adicione uma luz à sua cena, que é a sua última tarefa antes de testar a cena.

  1. No painel Modos , mude para o separador Luzes e arraste uma Luz Direcional para a cena
  • Posicione a luz acima de PlayerStart para que possa vê-la

Cena do editor irreal com cubo e luz direcional adicionada

  1. Aceda a Guardar Ficheiro > Atual, atribua um nome ao seu nível Principal e selecione Guardar

Com a cena definida, prima Reproduzir na barra de ferramentas para ver o cubo em ação! Quando terminar de admirar o seu trabalho, prima Esc para parar a aplicação.

Cena no modo de reprodução com o cubo no meio do ecrã

Agora que a cena está configurada, vamos prepará-la para algumas interações básicas na AR. Primeiro, tem de criar uma Sessão de AR e pode adicionar esquemas para ativar a interação manual.

Adicionar um recurso de sessão

As sessões de AR no Unreal não acontecem sozinhas. Para utilizar uma sessão, precisa de um recurso de dados ARSessionConfig para trabalhar, que é a sua próxima tarefa:

  1. No Browser de Conteúdo, selecione Adicionar Novo > Recurso de Dados Diversos > e certifique-se de que está ao nível da pasta Conteúdo raiz
  2. Selecione ARSessionConfig, clique em Selecionar e atribua um nome ao recurso ARSessionConfig:

Janela escolher a classe de recursos de dados aberta com o recurso de configuração da sessão de AR realçado

  1. Faça duplo clique em ARSessionConfig para abri-lo, Guardar com todas as predefinições e regressar à janela Principal:

Janela de detalhes do recurso de configuração da sessão da AR

Com isto concluído, o próximo passo é certificar-se de que a sessão de AR é iniciada e para quando o nível é carregado e terminado. Felizmente, a Unreal tem um esquema especial chamado Esquema de Nível que funciona como um gráfico de eventos global de nível global. Ligar o recurso ARSessionConfig no Esquema de Nível garante que a sessão de AR será acionada quando o jogo começar a ser jogado.

  1. Na barra de ferramentas do editor, selecione Esquemas Esquema de > Nível Aberto:

Menu Esquema aberto com a opção de esquema de nível aberto realçada

  1. Arraste o nó de execução (ícone de seta para a esquerda) para fora do Início do EventoPlay e versão
  • Procure o nó Iniciar sessão de AR e prima Enter
  • Clique no menu pendente Selecionar Recurso em Configuração de Sessão e selecione o recurso ARSessionConfig

Gráfico de esquema com início de evento reproduzido ligado à função iniciar sessão ar

  1. Clique com o botão direito do rato em qualquer parte do EventGraph e crie um novo nó EndPlay do Evento .
  • Arraste o pin de execução e a libertação e, em seguida, procure um nó Parar sessão de AR e prima Enter
  • Prima Compilar e, em seguida, Guarde e regresse à janela Principal

Importante

Se a sessão de AR ainda estiver em execução quando o nível terminar, determinadas funcionalidades poderão deixar de funcionar se reiniciar a aplicação durante a transmissão em fluxo para um headset.

Nó de reprodução de fim de evento anexado à função stop ar session

Configurar entradas

  1. Selecione Editar > Definições do Projeto e aceda à Entrada do Motor >
  2. Selecione o + ícone junto a Mapeamentos de Ações e crie ações RightPinch e LeftPinch :

Definições de entrada de enlace com mapeamentos de ações à direita e à esquerda realçados

  1. Mapeie as ações RightPinch e LeftPinch para as respetivas ações de Interação Manual OpenXR Msft :

Mapeamentos de ações com opções de interação Open XR Msft Hand realçadas

Configurar gestos

Agora que configurámos as entradas, podemos chegar à parte emocionante: Adicionar gestos! Vamos rodar o cubo no aperto direito e sair da aplicação no aperto esquerdo.

  1. Abra o Esquema de Nível e adicione um InputAction RightPinch e InputAction LeftPinch
  • Ligue o evento de pinch à direita a um AddActorLocalRotation com o Cubo como o destino e a Rotação Delta definida como X = 0, Y = 0 e Z = 20. O cubo irá agora rodar 20 graus sempre que aproximar
  • Ligar o evento de pinch esquerdo a Sair do Jogo

Nivelar bluprint aberto com ações de entrada para eventos de aperto à direita e à esquerda

  1. Nas definições de Transformação do cubo, defina Mobilidade como Móvel para que possa mover-se dinamicamente:

Definições de transforme com a propriedade de mobilidade realçada

Neste momento, está pronto para implementar e testar a aplicação!