Partilhar via


Amostra de pino de espaço

A funcionalidade demonstrada no exemplo do Space Pin também está disponível na cena principal do World Locked Physics Sample.

No entanto, a cena do Space Pin oferece uma visão simplificada e mais focada do recurso Space Pin. Pretende-se estar mais próximo do funcionamento interno de uma aplicação do mundo real, que precisa alinhar um objeto grande ou objetos com características do mundo real.

Portanto, ele não tem muitas das opções e UX de tempo de execução do World Locked Physics Sample mais geral.

Configurações padrão

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

Em particular, os recursos AutoSave e AutoLoad do World Locking Tools estão habilitados. Portanto, depois de alinhar as esferas e medir o feixe com 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. Existem, é claro, APIs para redefinir para uma lista limpa do script, mas elas são omitidas aqui para maior clareza. Consulte IAlignmentManager.ClearAlignmentAnchors().

Além disso, a demonstração permite operações de refit automáticas. Veja abaixo.

Configuração do espaço físico

Este exemplo contém 4 marcadores. Para explorar completamente a amostra, coloque marcadores físicos em um espaço correspondente ao layout dos marcadores virtuais.

NOTA: O layout dos marcadores virtuais na cena Unity pode ser alterado para caber em qualquer espaço físico. Não há nada de especial no layout padrão. No entanto, ver os benefícios do recurso Space Pinning requer uma distribuição 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 Unity, conforme mostrado neste diagrama:

Layout de marcadores de pinos de espaço

Executando o exemplo

Arranque

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

Olhando para a esquerda e para a frente 6 metros irá revelar uma esfera ciano, com um cubo ciano acima dela.

Olhando para a direita e para trás vai mostrar uma esfera vermelha e cubo, a 10 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 dela é uma esfera amarela e cubo.

Há também feixes de cores alternadas correndo sob as esferas. Seu propósito ficará claro durante o passo a passo.

Alinhar o mundo

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

Caminhe até a esfera vermelha. A esfera pode ser agarrada à distância usando raios de mão em HL2, ou olhar e beliscar com HL1. No HL2, ele também pode ser agarrado na mão.

Olhe em volta e encontre o marcador colocado na sala física correspondente à esfera vermelha. Pegue a esfera vermelha virtual por um dos métodos acima e arraste-a para o marcador da esfera vermelha. Ajuste ainda mais a esfera para se alinhar com o marcador físico da melhor forma possível.

As outras esferas também se moveram agora. No entanto, a sua orientação mantém-se inalterada. Ou seja, o mundo virtual foi traduzido para colocar a esfera vermelha em seu marcador, mas a orientação do mundo ainda não foi afetada.

Passe para outra esfera. Para este passo a passo, a esfera branca será a próxima.

Repita o procedimento acima, movendo a esfera branca virtual para alinhá-la com seu marcador físico.

Agora, o espaço virtual foi girado e traduzido, de modo que as esferas vermelha, branca e ciano ainda estão em linha, com a esfera amarela em um deslocamento perpendicular da esfera branca.

Verifique se, quando perto da esfera branca, ela está alinhada com seu marcador físico. Caminhe até a esfera vermelha e verifique se ela está alinhada com seu marcador físico.

Agora caminhe para uma esfera restante. Este passo a passo seguirá para a esfera ciano.

Embora a esfera ciano esteja alinhada com as esferas vermelhas e brancas, ela não está corretamente posicionada em seu marcador. O vetor exato e a magnitude do erro são dispositivos e até mesmo dependentes da situação, ut é provável que esteja perto corretamente na linha da esfera vermelho-branca, mas aquém do marcador físico.

Arraste a esfera ciano para o seu alinhamento correto com o marcador físico. Verifique, caminhando até cada um e examinando-os, se cada um dos três marcadores colocados está agora corretamente alinhado quando na proximidade de cada um.

Se desejar, repita este processo para a esfera final.

Modo de manipulação alternativo

O passo a passo acima é baseado na configuração padrão no aplicativo, na qual a orientação do espaço virtual é implícita pelo posicionamento relativo dos marcadores.

Em um modo alternativo, a orientação pode ser explicitamente definida agarrando as esferas e girando-as em torno do 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, algumas aplicações podem ter conhecimento prévio e específico da orientação desejada do espaço, que podem alavancar usando este segundo método.

Para habilitar o método de orientação explícita na demonstração, basta desativar os componentes ativos de manipulação orientável do pino de espaço nas esferas do marcador em:

Marcadores > de manipulação > de conteúdo > CyanSphere/RedSphere/YellowSphere/GreySphere.

e habilite os componentes de manipulação de pinos de espaço atualmente desativados.

O passo a passo sugerido é, então:

Posicione uma das esferas alinhada com seu marcador físico e oriente-a para que as outras esferas estejam na direção correta a partir dela.

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

Mova-se para as outras esferas por sua vez e reposicione cada uma para se alinhar com seu marcador físico. Não devem ser necessárias mais alterações de orientação.

Análise dos resultados

Se estiver disponível uma ferramenta de medição, como uma fita métrica, este alinhamento pode ser examinado mais aprofundadamente.

Se as esferas foram colocadas corretamente, deve haver erro zero em cada uma das esferas.

O feixe T que corre sob as esferas alterna cores a cada metro. Ao medir o desvio das mudanças de cor nas vigas com as marcas do medidor no dispositivo de medição, o erro nas áreas entre os Pinos de Espaço pode ser visto.

Operações de reajuste

As operações de refit automático provavelmente se manifestarão da seguinte forma:

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