Bloqueio mundial e âncoras espaciais na Unidade

Imagem de herói de ferramentas de bloqueio do mundo

Conseguir que os hologramas se mantenham no lugar, movam-se consigo ou, em alguns casos, posicionar-se em relação a outros hologramas é uma grande parte da criação de aplicações de Realidade Mista. Este artigo irá levá-lo através da nossa solução recomendada usando Ferramentas de Bloqueio Mundial, mas também cobriremos a configuração manual de âncoras espaciais nos seus projetos de Unidade. Antes de entrarmos em qualquer código, é importante entender como a Unidade lida com o espaço de coordenadas e as âncoras no seu próprio motor.

Sistemas de coordenadas à escala mundial

Hoje em dia, ao escrever jogos, aplicações de visualização de dados ou aplicações de realidade virtual, a abordagem típica é estabelecer um sistema de coordenadas do mundo absoluto que todas as outras coordenadas possam mapear de forma fiável. Nesse ambiente, pode-se sempre encontrar uma transformação estável que defina uma relação entre dois objetos naquele mundo. Se não movias esses objetos, as suas transformações relativas continuariam sempre as mesmas. Este tipo de sistema de coordenadas global é fácil de acertar quando se torna um mundo puramente virtual onde se conhece toda a geometria com antecedência. Hoje em dia, as aplicações VR à escala de sala normalmente estabelecem este tipo de sistema de coordenadas em escala de sala absoluta com a sua origem no chão.

Em contraste, um dispositivo de realidade mista sem amarras, como HoloLens tem uma compreensão dinâmica orientada por sensores do mundo, ajustando continuamente os seus conhecimentos ao longo do tempo do ambiente do utilizador, enquanto percorrem muitos metros através de um piso inteiro de um edifício. Numa experiência à escala mundial, se colocasses todos os teus hologramas num sistema de coordenadas rígidas ingénuas, esses hologramas acabariam por flutuar ao longo do tempo, quer com base no mundo, quer em relação uns aos outros.

Por exemplo, os auscultadores podem atualmente acreditar em duas localizações no mundo a 4 metros de distância, e depois refinar esse entendimento, aprendendo que as localizações estão, de facto, a 3,9 metros de distância. Se esses hologramas tivessem sido inicialmente colocados a 4 metros de distância num único sistema de coordenadas rígida, um deles apareceria sempre a 0,1 metros do mundo real.

Você pode colocar manualmente âncoras espaciais em Unidade para manter a posição de um holograma no mundo físico quando o utilizador é móvel - no entanto, isso sacrifica a auto-consistência dentro do mundo virtual. Âncoras diferentes estão em constante movimento em relação umas às outras, e também estão se movendo através do espaço de coordenadas globais. Neste cenário, tarefas simples como layout tornam-se difíceis e a simulação física problemática.

As World Locking Tools conseguem o melhor dos dois mundos, estabilizando um único sistema de coordenadas rígidas utilizando um fornecimento interno de âncoras espaciais espalhadas por toda a cena virtual à medida que o utilizador se desloca. As ferramentas analisam as coordenadas da câmara e as âncoras espaciais em cada quadro. Em vez de alterar as coordenadas de tudo no mundo para compensar as correções nas coordenadas da cabeça do utilizador, as ferramentas apenas fixam as coordenadas da cabeça.

Escolher a sua abordagem de bloqueio mundial

  • Recomendamos que utilize ferramentas de bloqueio mundiais para todas as necessidades de posicionamento do holograma.
    • As Ferramentas de Bloqueio Mundial fornecem um sistema de coordenadas estável que minimiza as inconsistências visíveis entre marcadores virtuais e reais. Dito de outra forma, bloqueia toda a cena com uma piscina partilhada de âncoras, em vez de bloquear cada grupo de objetos com a própria âncora individual do grupo.
    • A World Locking Tools lida automaticamente com toda a criação e gestão de âncoras espaciais internamente. Não precisa interagir com ARAnchorManager ou WorldAnchor para manter os hologramas fechados no mundo.
  • Para a Unidade 2019/2020 utilizando o OpenXR ou o Windows XR Plugin,é necessário utilizar o ARAnchorManager
  • Para versões mais antigas da Unidade ou projetos WSA, você precisa usar WorldAnchor

Configuração do bloqueio mundial

Recomendamos a instalação de Ferramentas de Bloqueio Do Mundo utilizando a nova Ferramenta de Funcionalidade de Realidade Mista. Depois de ter descarregado a Ferramenta de Recurso de Realidade Mista a partir do link abaixo, selecione a versão mais recente do WLT Core a partir da secção Ferramentas de Bloqueio Do Mundo:

Janela de seleção de recursos de funcionalidade de funcionalidade de realidade mista com ferramentas de bloqueio do mundo selecionadas

Configuração automatizada

Quando o seu projeto estiver pronto para avançar, execute o utilitário de configuração da cena de configuração das Ferramentasde Bloqueio do Mundo da Realidade Mista:

Editor de unidade com menu de ferramentas de realidade mista selecionado

Importante

O utilitário de cena Configure pode ser reexecutado a qualquer momento. Por exemplo, deve ser reexame se o alvo AR tiver sido alterado de Legacy para XR SDK. Se a cena já estiver devidamente configurada, o funcionamento do utilitário não tem efeito.

Visualizadores

Durante o desenvolvimento precoce, adicionar visualizadores pode ser útil para garantir que wLT está configurado e funcionando corretamente. Podem ser removidos para o desempenho da produção, ou se por alguma razão já não forem necessários, utilizando o utilitário Remove visualizers. Mais detalhes sobre os visualizadores podem ser encontrados na documentação ferramentas.

Bloqueio persistente do mundo

Âncoras espaciais salvam hologramas no espaço real entre sessões de aplicação. Uma vez guardados na loja de âncora HoloLens, podem ser encontrados e carregados em diferentes sessões e são um retorno ideal quando não há conectividade com a Internet.

Importante

As âncoras locais são armazenadas no dispositivo, enquanto as âncoras espaciais Azure são armazenadas na nuvem. Se procura utilizar os serviços de nuvem Azure para armazenar as suas âncoras, temos um documento que pode acompanhá-lo através da integração das Âncoras Espaciais Azure. Note que pode ter âncoras locais e Azure no mesmo projeto sem conflitos.

Por padrão, as Ferramentas de Bloqueio Mundial vão restaurar o sistema de coordenadas da Unidade em relação ao mundo físico em todas as sessões em dispositivos que suportam a persistência de âncoras espaciais locais. Para que um holograma apareça no mesmo lugar do mundo físico depois de deixar e reencando a aplicação, o holograma só precisa de ter a mesma pose novamente.

Componente de contexto de bloqueio mundial no inspetor da unidade

Se a aplicação necessitar de um controlo mais fino, a Auto-Save e a Auto-Load podem ser desativadas no inspetor, e a persistência gerida a partir de um script como descrito na secção de persistência da documentação.

Atualmente, a persistência da âncora local é suportada apenas na HoloLens família de dispositivos. No entanto, no Android e iOS, bem como HoloLens, a persistência de espaços de coordenadas em todas as sessões, bem como a partilha de espaços de coordenadas entre dispositivos, é suportada através de uma integração com âncoras espaciais Azure. Há uma abundância de mais informações e amostras de usar ferramentas de bloqueio mundiais em conjunto com âncoras espaciais Azure.

Partilhar espaços de coordenadas

Se você quiser compartilhar um espaço de coordenadas bloqueada do mundo, confira nossa documentaçãode experiência partilhada abrangente.

Próximo checkpoint de desenvolvimento

Se estás a seguir a jornada de controlo de desenvolvimento da Unidade que estabelecemos, estás no meio de explorar os blocos de construção da Realidade Mista. A partir daqui, pode continuar até ao próximo bloco de construção:

Ou saltar para as capacidades da plataforma de realidade mista e APIs:

Pode sempre voltar aos postos de controlo de desenvolvimento da Unidade a qualquer momento.

Consulte também