Usar recursos do computador para habilitar seu aplicativo com o aplicativo remoto De Comunicação Remota Holográfica
Este artigo explica o seguinte caso de uso para Comunicação Remota Holográfica:
- Você deseja que os recursos de um computador liguem seu aplicativo em vez de depender dos recursos a bordo do HoloLens: você pode criar e criar um aplicativo que tenha funcionalidade de Comunicação Remota Holográfica. O usuário experimenta o aplicativo no HoloLens, mas o aplicativo realmente é executado em um computador, o que permite que o aplicativo aproveite os recursos mais poderosos do computador. Isso pode ser especialmente útil se seu aplicativo tiver ativos ou modelos de alta resolução e você não quiser que a taxa de quadros sofra. Chamamos isso de aplicativo remoto de Comunicação Remota Holográfica. As entradas do HoloLens – foco, gesto, voz e mapeamento espacial – são enviadas para o computador, onde o conteúdo é renderizado em uma exibição imersiva virtual. Os quadros renderizados são enviados para o HoloLens.
Esse tipo de Comunicação Remota Holográfica também está disponível para headsets imersivos de Windows Mixed Reality (WMR). Isso pode ser útil se, por exemplo, seu fone de ouvido WMR estiver conectado a um computador de mochila e você quiser transmitir seu aplicativo de um computador mais poderoso para o computador de mochila.
Para saber mais sobre a Comunicação Remota Holográfica, confira Visão geral da comunicação remota holográfica
Observe que você também pode usar a Comunicação Remota Holográfica se quiser visualizar e depurar seu aplicativo durante o processo de desenvolvimento.
Dois modos disponíveis na Comunicação Remota Holográfica
Modo 1: aplicativo remoto em execução no computador no modo Conectar, Player em execução no HoloLens 2 no modo Escutar.
O Player escuta as conexões de entrada enquanto o aplicativo remoto tenta se conectar.
Modo 2: aplicativo remoto em execução no computador no modo Escuta, Player em execução no HoloLens 2 no modo de conexão.
O aplicativo remoto escuta conexões de entrada enquanto o Player tenta se conectar.
Configurar o aplicativo Holographic Remoting Player
Para usar a Comunicação Remota Holográfica apenas no Modo 1, instale o aplicativo Holographic Remoting Player da Microsoft Store em seu HoloLens 2 (neste artigo, vamos nos referir a ele simplesmente como "o Player"). Conforme explicado abaixo, depois de baixar e executar o aplicativo, você verá o número de versão e o endereço IP ao qual se conectar. É recomendável usar a versão mais recente do Player disponível.
A Comunicação Remota Holográfica requer uma conexão rápida de computador e Wi-Fi. Você pode encontrar mais detalhes no artigo Player vinculado acima.
Para usar a Comunicação Remota Holográfica em ambos os modos especificados acima, você precisa clonar o player de Exemplo de Comunicação Remota Holográfica e implantá-lo no HoloLens 2 usando o Visual Studio.
Criar um aplicativo remoto em execução no PC para Comunicação Remota Holográfica usando o Unity
Na barra de menus, selecione Editar > Configurações do Projeto.
Na coluna do lado esquerdo, selecione Gerenciamento de plug-in XR.
Verifique se você está na guia Plataforma Universal do Windows configurações.
Na seção plug-in do OpenXR, selecione Microsoft HoloLens grupo de recursos e grupo de recursos de aplicativos remotos de Comunicação Remota Holográfica.
Desmarque a caixa Inicializar XR no marcar de Inicialização.
Escreva algum código para definir a configuração de comunicação remota e disparar a inicialização XR. O aplicativo pode chamar a função Connect para o Modo 1 ou chamar a função Listen para o Modo 2. Para ver um exemplo, baixe nossos exemplos de Realidade Misturada do Open XR Unity e, em seguida, no projeto RemotingSample, exiba o script AppRemoting.cs.
Para o Modo 1, o modo Conectar , chame
Microsoft.MixedReality.OpenXR.Remoting.AppRemoting.Connect
com um preenchidoRemotingConfiguration
. O aplicativo de exemplo expõe isso no Inspetor e mostra como preencher o endereço IP de um campo de texto. ChamarConnect
definirá a configuração e inicializará automaticamente o XR, razão pela qual ele deve ser chamado como uma corrotina:StartCoroutine(Remoting.AppRemoting.Connect(remotingConfiguration));
Para o Modo 2, o modo De escuta, chame
Microsoft.MixedReality.OpenXR.Remoting.AppRemoting.Listen
com um preenchidoRemotingListenConfiguration
. O aplicativo de exemplo expõe isso no Inspetor. ChamarListen
definirá a configuração e aguardará uma conexão do player de exemplo de Comunicação Remota Holográfica, razão pela qual ela deve ser chamada como uma corrotina:StartCoroutine(Remoting.AppRemoting.Listen(remotingListenConfiguration));
Durante a execução, você pode obter o estado de conexão atual com a
AppRemoting.TryGetConnectionState
API e, opcionalmente, desconectar e desinicializar o XR usandoAppRemoting.Disconnect()
. Isso pode ser usado para desconectar e reconectar-se a um dispositivo diferente dentro da mesma sessão de aplicativo. O aplicativo RemotingSample fornece um cubo com toque que desconectará a sessão de comunicação remota se for tocado.
Executar o aplicativo remoto De Comunicação Remota Holográfica e o aplicativo Player nos modos descritos acima
Modo 1: execute o aplicativo remoto De Comunicação Remota Holográfica no COMPUTADOR no Modo de Conexão e o Player no Modo de Escuta:
Se o Player já estiver instalado na loja no HoloLens 2, pule os números da etapa 2 e 3 abaixo de onde você compila e executa o aplicativo Player de Exemplo. Em vez disso, execute o Player instalado e continue com a etapa nº 4.
Abra o aplicativo Player de Exemplo de Comunicação Remota Holográfica usando o VS 2019 e siga um destes procedimentos:
Para executar em um HoloLens 2 usando um cabo USB:
- Configure as opções de build, conforme mostrado aqui:
- Abra a página Propriedades do projeto e navegue até Propriedades de Configuração>Depuração.
- Clique no Depurador para iniciar a lista suspensa e selecione Dispositivo.
- No campo Argumentos de Linha de Comando , adicione "-listen".
Para executar em um HoloLens 2 usando Wifi:
- Configure as opções de build, conforme mostrado aqui:
- Abra a página Propriedades do projeto e navegue até Propriedades de Configuração>Depuração.
- Clique no Depurador para iniciar a lista suspensa e selecione Computador Remoto.
- No campo Argumentos de Linha de Comando , adicione o endereço IP wi-fi do HoloLens.
Para implantar a solução SamplePlayer no HoloLens 2, pressione o botão Reproduzir no Visual Studio. Você poderá ver o player de Exemplo de HAR em execução no HoloLens 2, exibindo que ele é "Aguardando uma conexão no endereço IP de HoloLens 2".
No aplicativo remoto em execução no computador host, adicione o endereço IP do HoloLens 2 exibido acima e selecione Conectar.
Depois que a conexão for estabelecida, o Player em execução no HoloLens 2 iniciará "Recebimento".
Modo 2: execute o aplicativo remoto no computador no Modo de Escuta e o aplicativo player HAR no Modo de Conexão:
Na tela da interface do usuário 2D no aplicativo remoto em execução no computador, clique em Escutar.
Abra a página Propriedades do projeto e navegue até Propriedades de Configuração>Depuração.
Clique no Depurador para iniciar a lista suspensa e selecione Dispositivo.
No campo Argumentos de Linha de Comando , adicione o endereço IP do computador host.
Para implantar a solução SamplePlayer no HoloLens 2, na solução do Visual Studio, clique no botão Reproduzir. Você poderá ver o player de Exemplo de HAR em execução no HoloLens 2, exibindo que ele é "Conectando-se ao endereço IP fornecido em argumentos de linha de comando".
Depois que a conexão for estabelecida, o aplicativo Player de Exemplo de Comunicação Remota Holográfica em execução no HoloLens 2 iniciará "Recebimento".
Dica
Para obter melhores resultados, verifique se seu aplicativo define corretamente o .. /focus point. Isso ajuda a Comunicação Remota Holográfica a adaptar melhor sua cena à latência da conexão sem fio.
Migrar de APIs de Comunicação Remota Holográfica anteriores
Para saber mais sobre a Comunicação Remota Holográfica, confira Visão geral da comunicação remota holográfica
UnityEngine.XR.WSA.HolographicRemoting
No código de exemplo nos documentos do Unity:
XR. WSA. HolographicRemoting | OpenXR.Remoting.AppRemoting |
---|---|
HolographicRemoting.ConnectRemotingSession() |
AppRemoting.Connect(RemotingConfiguration) |
HolographicRemoting.DisconnectRemotingSession() |
AppRemoting.Disconnect() |
HolographicRemoting.ConnectionState |
AppRemoting.TryGetConnectionState(out ConnectionState, out DisconnectReason) |
UnityEngine.XR.WindowsMR. WindowsMRRemoting
XR.WindowsMR. WindowsMRRemoting | OpenXR.Remoting.AppRemoting |
---|---|
WindowsMRRemoting.Connect() |
AppRemoting.Connect(RemotingConfiguration) |
WindowsMRRemoting.Listen() |
AppRemoting.Listen(RemotingListenConfiguration) |
WindowsMRRemoting.Disconnect() |
AppRemoting.Disconnect() |
WindowsMRRemoting.TryGetConnectionState(out ConnectionState) e WindowsMRRemoting.TryGetConnectionFailureReason(out ConnectionFailureReason) |
AppRemoting.TryGetConnectionState(out ConnectionState, out DisconnectReason) |
WindowsMRRemoting.isAudioEnabled , WindowsMRRemoting.maxBitRateKbps , WindowsMRRemoting.remoteMachineName |
Passado por AppRemoting.Connect meio do RemotingConfiguration struct |
WindowsMRRemoting.isConnected |
AppRemoting.TryGetConnectionState(out ConnectionState state, out _) && state == ConnectionState.Connected |