Exemplo de marcador de espaço

A funcionalidade demonstrada no exemplo de Marcador de Espaço também está disponível na cena principal World Locked Physics Sample.

O exemplo de Marcador de Espaço oferece uma exibição simplificada e mais concentrada do recurso Marcador de Espaço. Destina-se a estar mais próximo do funcionamento interno de um aplicativo do mundo real, que precisa alinhar um objeto grande ou objetos com recursos do mundo real.

Portanto, faltam muitas das opções e a UX de runtime do World Locked Physics Sample mais geral.

Configurações padrão

As configurações do Gerenciador do World Locking Tools aplicadas podem ser examinadas no Unity Inspector selecionando o nó WorldLocking > WorldLockingManager.

Especificamente, os recursos AutoSave e AutoLoad do World Locking Tools estão habilitados. Portanto, depois de alinhar as esferas e medir o raio para os recursos do mundo real, conforme descrito abaixo, a sessão subsequente na inicialização retomará esse alinhamento automaticamente.

Para redefinir o exemplo para um estado limpo, desinstale-o e reimplante-o. É claro que há APIs para redefinir para um estado limpo no script, mas elas são omitidas aqui para maior clareza. Confira IAlignmentManager.ClearAlignmentAnchors().

Além disso, a demonstração habilita as operações de reajuste automático. Confira abaixo.

Configuração de espaço físico

Este exemplo contém quatro marcadores. Para explorar totalmente o exemplo, posicione os marcadores físicos em um espaço correspondente ao layout dos marcadores virtuais.

OBSERVAÇÃO: o layout dos marcadores virtuais na cena do Unity pode ser alterado para se ajustar a qualquer espaço físico. Não há nada especial a respeito do layout padrão. No entanto, ver os benefícios do recurso de Anexação de Espaço requer um espalhamento considerável dos marcadores, com separações de pelo menos alguns metros.

O layout dos marcadores físicos na sala deve corresponder ao layout dos marcadores virtuais na cena do Unity, conforme mostrado neste diagrama:

Layout de marcadores de pino de espaço

Executando o exemplo

Inicialização

Na inicialização da primeira sessão, a origem do espaço de coordenadas do Unity estará na pose da cabeça na inicialização.

Olhar para a esquerda e para a frente seis metros revelará uma esfera ciano, com um cubo ciano acima dela.

Olhar para a direita e para trás mostrará uma esfera vermelha e um cubo a dez metros de distância.

Avançar a partir da origem e olhar para trás revela uma esfera branca e um cubo. Oito metros além desse ponto está uma esfera amarela e um cubo.

Também existem raios de cores alternadas em execução abaixo das esferas. A finalidade ficará clara durante o tutorial.

Alinhamento do mundo

Mova-se para qualquer uma das esferas coloridas. Este tutorial começará com a esfera vermelha.

Movimente-se até a esfera vermelha. A esfera pode ser capturada à distância usando raios de mão no HL2, ou ao focar e pinçar com o HL1. No HL2, ela também pode ser capturada com as mãos.

Procure até encontrar o marcador posicionado na sala física correspondente à esfera vermelha. Capture a esfera vermelha virtual usando um dos métodos acima e arraste-a para o marcador da esfera vermelha. Ajuste ainda mais a esfera para alinhar o melhor possível com o marcador físico.

Agora as outras esferas também foram movidas. No entanto, a orientação delas permanece inalterada. Ou seja, o mundo virtual foi movido para colocar a esfera vermelha no marcador, mas a orientação do mundo ainda não foi afetada.

Mova para outra esfera. Para este tutorial, a esfera branca será a próxima.

Repita o procedimento acima, movendo a esfera branca virtual para alinhar com o marcador físico.

Agora, o espaço virtual foi girado e movido, de modo que as esferas vermelha, branca e ciano ainda estão em uma linha, e a esfera amarela está em um deslocamento perpendicular em relação à esfera branca.

Verifique se, quando estiver próximo à esfera branca, está alinhada com o marcador físico. Movimente-se até a esfera vermelha e verifique se ela está alinhada com o marcador físico.

Agora, movimente-se até uma esfera restante. Este tutorial continuará até a esfera ciano.

Embora a esfera ciano seja alinhada com as esferas vermelha e branca, ela não está corretamente posicionada no marcador. O vetor exato e a magnitude do erro dependem do dispositivo e até mesmo da situação, mas é provável que esteja próximo da linha da esfera vermelha-branca, mas abaixo do marcador físico.

Arraste a esfera ciano para o alinhamento correto com o marcador físico. Movimentando-se até cada um deles e examinando-os, verifique se cada um dos três marcadores posicionados agora está alinhado corretamente quando próximo a cada um deles.

Se desejado, repita esse processo para a esfera final.

Modo de manipulação alternativo

O tutorial acima baseia-se na configuração padrão no aplicativo, na qual a orientação do espaço virtual está implícita no posicionamento relativo dos marcadores.

Em um modo alternativo, a orientação pode ser definida explicitamente, capturando e girando as esferas sobre o eixo Y.

O modo de manipulação padrão descrito acima geralmente é muito mais fácil, porque o posicionamento de objetos no espaço virtual tende a ser muito mais preciso do que girá-los para uma orientação específica.

Da mesma forma, ao usar códigos QR para alinhamento automático, a posição retornada para um marcador de código QR tende a ser muito mais confiável do que a orientação.

No entanto, alguns aplicativos podem ter conhecimento avançado e específico da orientação desejada do espaço, que eles podem aproveitar usando esse segundo método.

Para habilitar o método de orientação explícita na demonstração, basta desabilitar os componentes ativos da Manipulação Orientável do Marcador de Espaço nas esferas de marcador em:

Conteúdo > Manipulação > Marcadores > CyanSphere/RedSphere/YellowSphere/GreySphere.

e habilitam os componentes atualmente desabilitados da Manipulação do Marcador de Espaço.

O tutorial sugerido é o seguinte:

Posicione uma das esferas alinhadas com o marcador físico e oriente-a para que as outras esferas estejam na direção correta em relação a ela.

Agora as outras esferas estarão a distâncias incorretas, mas aproximadamente ao longo do vetor correto.

Mova para as outras esferas, por sua vez, e reposicione cada uma para alinhar com o marcador físico. Nenhuma outra alteração de orientação deve ser necessária.

Como examinar os resultados

Se uma ferramenta de medição, como uma fita métrica, estiver disponível, esse alinhamento poderá ser examinado ainda mais.

Se as esferas foram posicionadas corretamente, não deve haver erros em cada uma das esferas.

O raio T em execução abaixo das esferas alterna as cores em cada medidor. Ao medir o desvio das alterações de cor nos raios com as marcas de medidor no dispositivo de medição, o erro nas áreas entre os Marcadores de Espaço pode ser observado.

Operações de reajuste

Provavelmente, as operações de reajuste automático se manifestam da seguinte maneira:

  1. Depois de posicionar uma ou mais das esferas, os objetos virtuais estão alinhados conforme o esperado.
  2. Posteriormente, o rastreamento é perdido.
  3. O rastreamento é retomado depois de mudar para outra área física.
  4. O alinhamento em relação às primeiras esferas é perdido e não tem nenhum efeito (porque elas estão em um fragmento diferente).
  5. Depois de mover sobre a nova seção do espaço (possivelmente posicionando outra esfera), a cabeça volta para o espaço original.
  6. Uma operação de reajuste combina silenciosa e automaticamente os fragmentos originais e novos.
  7. O alinhamento das primeiras esferas entra em vigor novamente (porque todas estão no mesmo fragmento agora).