Partilhar via


Amostra de física bloqueada no mundo.

O Physics Beam Sample oferece algumas experiências de física virtual que são ativadas pelo sistema de coordenadas bloqueado pelo mundo da World Locking Tools.

História

No HoloLens, a relação entre uma âncora espacial e a cabeça ou outras âncoras espaciais pode mudar a qualquer momento, devido aos dados do sensor recebidos, ou mesmo ao reprocessamento de dados existentes.

As âncoras espaciais de Unity reagem a mudanças na pose da âncora espacial subjacente arrastando o GameObject anexado junto com ele. Este movimento causa dificuldades para a simulação física:

  • Como a pose do GameObject ancorada no espaço é explicitamente definida pela âncora espacial de cada quadro, ela não pode ser definida por simulação (por exemplo, momento).
  • Como a âncora espacial está atualizando frequentemente a pose de seu GameObject, ela não parecerá estar em repouso em relação a outros RigidBodies ainda.
  • Devido a mudanças implícitas do sistema de coordenadas de Unity, à medida que as âncoras espaciais ajustam as coordenadas dos Hologramas estáticos para mantê-las fixas em relação ao mundo real, os cálculos da física, como rotas e trajetórias, estarão desligados. Por exemplo, um projétil perfeitamente direcionado para um holograma ainda perderá se o holograma for reposicionado por sua âncora espacial entre o cálculo da trajetória e o alcance do alvo.

Quando as relações entre as âncoras espaciais medidas e os objetos virtuais visíveis bloqueados a elas se tornam inconsistentes, então, em vez de ajustar os objetos virtuais como fazem as âncoras espaciais do Unity, o World Locking Tools ajusta a transformação da cabeça para minimizar os artefatos percebidos dessas inconsistências. Isso permite que os objetos virtuais pareçam consistentes em um espaço de coordenadas estável, eliminando os problemas acima.

Construindo a amostra

A amostra requer a capacidade SpatialPerception. A capacidade de microfone também é necessária para comandos de voz.

Este exemplo requer que as seguintes camadas sejam adicionadas às Tags & Layers do projeto:

  • Em pilares
  • Mapeamento espacial

Executando a demonstração

Os controles HUD

Este HUD básico não é específico para este exemplo de feixe de física, mas apenas permite o controle de tempo de execução do comportamento das Ferramentas de Bloqueio Mundial para explorar seus recursos. Ele está disponível como um drop-in para desenvolvimento em qualquer aplicativo usando World Locking Tools, conforme descrito na Configuração Inicial do World Locking Tools.

Captura de tela dos exemplos HUD

As estatísticas de diagnóstico são exibidas por padrão, mas podem ser desabilitadas no HUD de controle.

Os botões de opção dos modos

A qualquer momento, a amostra pode estar em qualquer um dos seguintes modos:

  • Inativo - A amostra de física não está processando entrada no momento. O HUD e o menu do botão de opção, é claro, continuam processando entradas.

  • Throw Dart - Uma trajetória é calculada, com base nas leis básicas da física, e exibida. O arco exibido mostra o caminho que um projétil disparado (através do gesto de seleção) seguirá. O dardo lançado seguirá uma trajetória balística, saltando de quaisquer superfícies de colisão, incluindo malhas de Reconstrução Espacial (SR), que impactar.

    Estes dardos são "removíveis", conforme descrito abaixo.

  • Adicionar pilares - Em um gesto selecionado, um raio é lançado ao mundo na direção indicada. Se encontrar uma superfície colidente, um pilar vertical é adicionado à cena lá.

    Cada pilar adicionado é colidível e pode servir como suporte de feixe, conforme descrito abaixo. No entanto, há dois sabores de Pilares adicionados:

    • Se o pilar é colocado sobre uma superfície "removível", então o pilar é fisicamente simulado (por exemplo, pode ser derrubado).
    • Caso contrário, o pilar colidiu, mas estático.

    Efetivamente, esta regra significa que, se um pilar for adicionado à malha SR, ele será estático, mas, caso contrário, será dinâmico.

    Os pilares são "removíveis".

  • Adicionar feixe - Na primeira seleção, um raio é lançado na cena para encontrar o primeiro ponto final do feixe. Depois disso, à medida que o raio de seleção é movido pela cena, uma linha é traçada do primeiro ponto final até o ponto de extremidade atual. O segundo gesto de seleção criará um feixe que se estende entre o primeiro e o ponto de extremidade atual.

    Equilibrar o feixe com pontos finais em pilares claramente requer um espaço no qual os pilares do ponto final permanecerão fixos uns em relação aos outros.

    As vigas são "removíveis".

  • Remover objetos - Ao selecionar, se o objeto ray cast for "removível", ele será removido da cena. Todos os objetos suportados pelo objeto removido cairão.