Partilhar via


Perguntas mais 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 - mundo gerado sinteticamente e simulado apresentado através de meios eletrônicos.

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

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

Características visíveis - Características do mundo físico que são visualmente reconhecíveis.

O que faz o World Locking Tools?

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

Dito de outra forma, ele bloqueia 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 muitas tecnologias incríveis por trás do Microsoft Mixed Reality, a capacidade de rastrear a pose do fone de ouvido no mundo físico em tempo real, sem o auxílio de dispositivos externos, é especialmente incrível.

O sistema de rastreamento de cabeça é notavelmente preciso na determinação da pose da cabeça em relação aos pontos de referência virtuais conhecidos no ambiente físico. Para esta discussão, esses pontos de referência virtuais serão chamados de "recursos visíveis".

Ao deixar uma posição conhecida em relação às características visíveis circundantes, por exemplo, se o usuário andar pela sala e, em seguida, retornar a essa mesma posição, o sistema reconhecerá muitas dessas mesmas características visíveis. Ele também pode determinar as poses dessas características visíveis em relação à pose atual da cabeça, e fazê-lo com precisão surpreendente.

Agora, o sistema de rastreador 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 qualquer cabeça ou características. Como o mundo físico não tem um sistema de coordenadas absoluto, não há uma resposta certa. Assim, o sistema de rastreamento atribui coordenadas que são consistentes com a história recente, mas podem ser inconsistentes ao longo de toda a história. Ou seja, ao retornar exatamente à mesma pose, a cabeça pode agora ter coordenadas diferentes de quando saiu. Esta é uma forma de desvio do sensor.

Mas se as novas coordenadas de pose virtual da cabeça mudaram para X positivo, por exemplo, então todos os objetos de holograma que estão estacionários nesse sistema de coordenadas virtuais são agora 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 com sua colocação anterior à caminhada.

A Unity pode lidar com isso?

Sim, com limitações. Unity fornece um excelente mecanismo para lidar com isso, conhecido como âncoras espaciais. Se o espaço virtual mudou em relação ao espaço físico, ao acompanhar as características visíveis subjacentes, uma âncora espacial sabe se deslocar no espaço virtual para permanecer presa no espaço físico. Qualquer coisa anexada à âncora espacial também será arrastada pelo espaço virtual de Unity para permanecer estacionária no espaço físico.

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

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

Isso parece muito bom, qual é o problema?

É além de bom, é simplesmente incrível. Mas há situações, situações importantes, em que as âncoras espaciais não fornecem uma solução satisfatória.

Primeiro, cada âncora espacial se move através do espaço de coordenadas virtuais de Unity de forma independente, tentando permanecer estacionária no mundo físico. Isso significa que os objetos ancorados independentemente se moverão uns em relação aos outros à medida que tentam permanecer em suas posições físicas. Para um aplicativo que tenta manter um layout preciso, isso pode ser um grande problema.

Em segundo lugar, com seu alcance limitado, uma única âncora espacial não fornecerá bons resultados para objetos individuais que são maiores do que o alcance utilizável dessa âncora espacial. Enquanto os pontos no objeto perto da âncora espacial permanecerão bem bloqueados no mundo, por causa do efeito do braço da alavanca, os pontos cada vez mais distantes da âncora espacial sofrerão erros cada vez maiores. Isso deixa um objeto, ou uma coleção de objetos, maior do que um metro ou mais sem uma solução robusta de bloqueio mundial.

O que mais pode dar errado?

Ao retornar a uma pose anteriormente ocupada, a 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 hologramas que estão estacionários no mundo virtual também estacionários no mundo físico.

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

Como exemplo concreto, considere medir 10 metros entre dois códigos QR colocados em uma sala física e, portanto, modelar duas caixas na sala virtual a 10 metros de distância. Mas no tempo de execução, por causa da deriva da cabeça posar no espaço virtual, andar os 10 metros entre os códigos QR move 11 metros através do espaço virtual.

O aplicativo pode optar por um recurso do World Locking Tools para resolver isso, fornecendo informações calibrando a distância no espaço virtual para a distância no espaço físico. O comportamento que o World Locking Tools proporciona é que, de pé sobre o primeiro código QR e olhando para baixo, verá a primeira caixa. À medida que os 10 metros são percorridos pelo mundo físico, o metro extra no espaço virtual é silenciosamente absorvido, deixando a cabeça movida 10 metros no espaço virtual também. Assim, ao chegar ao segundo código QR físico e olhar para baixo, a segunda caixa virtual estará lá como esperado.

Observe que ajustes correspondentes serão feitos em todas as âncoras que não possuem dados de verdade no solo, pois elas são passadas no caminho entre os dois códigos QR. Esse ajustamento é, naturalmente, aplicado sem problemas para minimizar a sua perceção.

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

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

Por exemplo, no HoloLens, se os marcadores do mundo real forem âncoras espaciais, eles se desviarão com o tempo. Avançarão igualmente no restabelecimento (por exemplo, encerramento do circuito) e noutras circunstâncias. À medida que suas poses são atualizadas, World Locking Tools compensa ajustando a câmera como antes para minimizar as inconsistências percebidas entre as âncoras espaciais sentidas e suas contrapartes virtuais.

Observe que essa compensação por atualizações nas posições de ancoragem pode acontecer mesmo na ausência de dados de verdade sobre os marcadores. Os dados implícitos da verdade básica é que as relações atuais entre marcadores do mundo real estão (mais) corretas.

E se as inconsistências ficarem realmente ruins?

World Locking Tools pode detetar vários cenários em que as inconsistências entre marcadores reais e virtuais são grandes e podem ser melhoradas. Por exemplo, podem ser obtidas mais informações que estabeleçam a relação espacial entre dois conjuntos de marcadores previamente isolados. Ou o fechamento do loop pode sugerir uma mudança de marcadores ao longo da rota para permitir que os pontos finais se encontrem.

Nesses casos, a World Locking Tools notifica o cliente sobre a possível correção e, por legado do cliente, executa a correção e notifica o cliente sobre os ajustes que ele deve fazer em seus objetos que rastreiam marcadores virtuais. Até que o cliente solicite tal correção (se alguma vez), o World Locking Tools continua a minimizar as inconsistências percebidas.