Perguntas frequentes

Definições usadas nesta documentação:

Pose – uma posição e orientação.

Holograma – um objeto virtual visível.

Mundo real – o mundo físico.

Mundo físico – o mundo real.

Mundo virtual – um mundo simulado e gerado sinteticamente, apresentado por meio de mídia eletrônica.

Marcador do mundo virtual – uma pose no sistema de coordenadas virtuais (modelagem). É isso, apenas uma posição e orientação de referência.

Marcador do mundo real – uma pose relativa ao ambiente e à câmera do mundo real, a qual correspondente a um marcador do mundo virtual. A pose do marcador do mundo real é estabelecida por alguma combinação de dados detectados.

Recursos visíveis – Recursos do mundo físico que são visualmente reconhecíveis.

O que o World Locking Tools faz?

Dadas as inconsistências entre os marcadores de mundo virtual e real, o World Locking Tools fornece um sistema de coordenadas estável e um ajuste de câmera que minimiza as inconsistências visíveis.

Em outras palavras, ele aplica um bloqueio de mundo em toda a cena com um pool compartilhado de âncoras, em vez de bloquear cada grupo de objetos com a própria âncora individual do grupo.

Por que os marcadores do mundo virtual e real são inconsistentes?

Entre as várias tecnologias incríveis por trás da Realidade Misturada da Microsoft, a capacidade de acompanhar a pose do headset no mundo físico em tempo real, sem a ajuda de dispositivos externos, é especialmente incrível.

O sistema de rastreamento da cabeça é surpreendentemente preciso ao determinar da pose da cabeça em relação aos pontos de referência virtual conhecidos no ambiente físico. Para essa discussão, esses pontos de referência virtual serão chamados de "recursos visíveis".

Ao deixar uma posição conhecida em relação aos recursos visíveis, por exemplo, se o usuário se movimentar pela sala e retornar à mesma posição, o sistema reconhecerá vários desses mesmos recursos visíveis. Ele também pode determinar as poses desses recursos visíveis em relação à pose atual da cabeça com uma precisão surpreendente.

Agora, o sistema de rastreamento sabe onde esses recursos e a cabeça estão em relação um ao outro, mas não sabe em termos absolutos quais são as coordenadas para a cabeça ou os recursos. Como o mundo físico não tem um sistema de coordenadas absoluto, não há uma resposta correta. Portanto, o sistema de rastreamento atribui coordenadas consistentes com o histórico recente, mas podem ser inconsistentes em todo o histórico. Ou seja, ao retornar exatamente à mesma pose, agora a cabeça pode ter coordenadas diferentes das de quando saiu. Essa é uma forma de descompasso do sensor.

Porém, se as novas coordenadas de pose virtual da cabeça tiverem sido deslocadas para X positivo, por exemplo, todos os objetos de holograma estacionário nesse sistema de coordenadas virtuais agora serão deslocados para X negativo em relação à cabeça. Isso significa que para o observador que usa o rastreador de cabeça, eles serão deslocados em relação ao mundo real, em comparação ao posicionamento anterior à movimentação.

O Unity pode resolver isso?

Sim, com limitações. O Unity fornece um excelente mecanismo para resolver isso, conhecido como âncoras espaciais. Se o espaço virtual tiver sido deslocado em relação ao espaço físico, acompanhando os recursos visíveis subjacentes, uma âncora espacial saberá se deslocar para o espaço virtual para permanecer bloqueada no espaço físico. Qualquer coisa anexada à âncora espacial também será arrastada pelo espaço virtual do Unity para permanecer estacionária no espaço físico.

As limitações estão relacionadas ao fato de que os recursos visíveis tornam-se não confiáveis quando estão longe das câmeras do rastreador de cabeça. Não é nenhuma surpresa. Os recursos visíveis que não ficam visíveis são pontos de referência ruins.

O intervalo útil de uma âncora espacial é, portanto, limitado a três metros. Dependendo dos requisitos de precisão do aplicativo, o intervalo utilizável pode ser menor.

Parece ótimo, qual é o problema?

É mais do que ótimo, é simplesmente incrível. Mas há situações, situações importantes, nas quais as âncoras espaciais não fornecem uma solução satisfatória.

Primeiro, cada âncora espacial se move pelo espaço de coordenadas virtuais do Unity de maneira independente, tentando permanecer estacionária no mundo físico. Isso significa que os objetos ancorados de forma independente se moverão em relação ao outro, à medida que tentarem permanecer nas posições físicas. Para um aplicativo que tenta manter um layout preciso, isso pode ser um grande problema.

Segundo, com o intervalo limitado, uma âncora espacial única não fornecerá bons resultados para objetos únicos maiores do que o intervalo utilizável dessa âncora espacial. Embora os pontos no objeto próximos à âncora espacial permaneçam com bloqueio de mundo, por causa do efeito de braço de alavanca, os pontos cada vez mais distantes da âncora espacial apresentarão erros cada vez maiores. Isso deixa um objeto ou uma coleção de objetos maior do que um metro ou sem uma solução robusta de bloqueio de mundo.

O que mais pode dar errado?

Ao retornar a uma pose ocupada anteriormente, o World Locking Tools tem informações suficientes para restaurar o sistema de coordenadas virtuais de volta ao ponto em que estava em relação ao mundo físico. Isso mantém os hologramas estacionários no mundo virtual também estáticos no mundo físico.

Mas a descompasso pode ocorrer em uma viagem unidirecional, bem como em uma viagem de ida e volta.

Como exemplo concreto, meça dez metros entre dois códigos QR posicionados em uma sala física e, portanto, modele duas caixas na sala virtual com dez metros de distância. Mas, no runtime, por causa do descompasso da pose da cabeça no espaço virtual, movimentar os dez metros entre os códigos QR move 11 metros pelo espaço virtual.

O aplicativo pode optar por um recurso do World Locking Tools para resolver isso fornecendo informações ao calibrar a distância no espaço virtual de acordo com a distância no espaço físico. O comportamento que o World Locking Tools fornece é que, ao posicionar-se sobre o primeiro código QR e olhar para baixo, você verá a primeira caixa. À medida que os dez metros são movimentados no mundo físico, o metro adicional no espaço virtual é absorvido silenciosamente, movimentando a cabeça dez metros no espaço virtual também. Portanto, ao chegar ao segundo código QR físico e olhar para baixo, a segunda caixa virtual estará lá conforme o esperado.

Observe que os ajustes correspondentes serão feitos em todas as âncoras que não possuem dados de verdade terrestres, pois são passados no caminho entre os dois códigos QR. É claro que esse ajuste é aplicado sem problemas para minimizar sua percepção.

E se os marcadores do mundo real não estiverem estáveis?

Além disso, se os marcadores do mundo real estiverem sendo atualizados dinamicamente, o World Locking Tools poderá adaptar o quadro espacial e o ajuste da câmera para corresponder melhor à configuração atual.

Por exemplo, no HoloLens, se os marcadores do mundo real forem âncoras espaciais, eles sofrerão um descompasso com o passar do tempo. Eles também serão movidos em reestabelecimento (por exemplo, fechamento de loop) e em outras circunstâncias. À medida que as poses estão sendo atualizadas, o World Locking Tools faz a compensação ajustando a câmera como antes para minimizar as inconsistências observadas entre as âncoras espaciais e suas contrapartes virtuais.

Observe que essa compensação das atualizações nas posições de âncora pode ocorrer mesmo na ausência de dados de verdade terrestres sobre os marcadores. Os dados de verdade terrestres implícitos são que as relações atuais entre os marcadores do mundo real estão (mais) corretas.

E se as inconsistências forem muito ruins?

O World Locking Tools pode detectar vários cenários em que as inconsistências entre os marcadores reais e virtuais são grandes e podem ser aprimoradas. Por exemplo, mais informações podem ser obtidas, o que estabelece a relação espacial entre dois pools de marcadores isolados anteriormente. Ou o fechamento de loop pode sugerir um deslocamento dos marcadores ao longo da rota para permitir que os pontos de extremidade se encontrem.

Nesses casos, a World Locking Tools notifica o cliente sobre a possível correção, e a pedido do cliente realiza a correção e notifica o cliente sobre os ajustes que deve fazer nos objetos que rastreiam os marcadores virtuais. Até que o cliente solicite essa correção (se é que ele o fará), o World Locking Tools continuará a minimizar as inconsistências observadas.