Sistemas de coordenadas
Na sua essência, as aplicações de realidade mista colocam hologramas no seu mundo que parecem e soam objetos reais. Isto envolve posicionar e orientar precisamente esses hologramas em locais significativos do mundo, quer o mundo seja a sua sala física ou um reino virtual que criou. O Windows fornece vários sistemas de coordenadas do mundo real para expressar geometria– estes são conhecidos como sistemas de coordenadas espaciais. Pode utilizar estes sistemas para determinar a posição, orientação, raio de olhar ou posições maniciais do holograma.
Suporte de dispositivos
Funcionalidade | HoloLens (1.ª geração) | HoloLens 2 | Auscultadores envolventes |
Fotograma estacionário de referência | ✔️ | ✔️ | ✔️ |
Fotograma de referência anexado | ✔️ | ✔️ | ✔️ |
Moldura de fase de referência | Ainda não é suportado | Ainda não é suportado | ✔️ |
Âncoras espaciais | ✔️ | ✔️ | ✔️ |
Mapeamento espacial | ✔️ | ✔️ | ❌ |
Compreensão da cena | ❌ | ✔️ | ❌ |
Dimensionamentos da experiência de realidade mista
Pode conceber aplicações de realidade mista para uma vasta gama de experiências de utilizador, desde visualizadores de vídeo de 360 graus que utilizam a orientação dos auscultadores até aplicações e jogos de escala mundial completos com mapeamento espacial e âncoras espaciais:
Dimensionamento da experiência | Requisitos | Experiência de exemplo |
---|---|---|
Apenas orientação | Orientação dos auscultadores (alinhados com a gravidade) | Visualizador de vídeo de 360° |
Dimensionamento sentado | Acima da posição dos auscultadores com base na posição zero | Jogo de corrida ou simulador de espaço |
Escala em pé | Acima da origem do piso do palco de adição | Jogo de ação onde te desvias e te esquivas no lugar |
Escala de salas | Acima do polígono de limites de fase de adição | Jogo de puzzles onde se anda pelo puzzle |
À escala mundial | Âncoras espaciais (e, normalmente, mapeamento espacial) | Jogo com inimigos vindos das suas verdadeiras paredes, como RoboRaid |
A experiência é dimensionada acima e segue um modelo de "aninhar bonecas". O principal princípio de design para Windows Mixed Reality é o seguinte: um determinado headset suporta aplicações criadas para uma escala de experiência de destino e todas as escalas menores.
Controlo 6DOF | Piso definido | Controlo de 360° | Limites definidos | Âncoras espaciais | Experiência máxima |
---|---|---|---|---|---|
No | - | - | - | - | Apenas orientação |
Sim | No | - | - | - | Sentado |
Sim | Sim | No | - | - | Em Pé - Reencaminhar |
Sim | Sim | Sim | No | - | Em Pé - 360° |
Sim | Sim | Sim | Sim | No | Sala |
Sim | Sim | Sim | Sim | Sim | Internacional |
A moldura de referência fase ainda não é suportada no HoloLens. Atualmente, uma aplicação à escala de salas no HoloLens tem de utilizar o mapeamento espacial ou a compreensão da cena para encontrar o chão e as paredes do utilizador.
Sistemas de coordenadas espaciais
Todas as aplicações gráficas 3D utilizam sistemas de coordenadas cartesianos para determinar as posições e orientações dos objetos virtuais. Estes sistemas de coordenadas estabelecem três eixos perpendiculares: X, Y e Z. Cada objeto que adicionar a uma cena terá uma posição XYZ no respetivo sistema de coordenadas. O Windows chama a um sistema de coordenadas que tem um significado real no mundo físico um sistema de coordenadas espaciais , que expressa os seus valores de coordenadas em medidores. Isto significa que os objetos colocados duas unidades à parte no eixo X, Y ou Z aparecerão a dois metros de distância uns dos outros quando compostos na realidade mista. Sabendo disso, pode facilmente compor objetos e ambientes à escala real.
Em geral, os sistemas de coordenadas cartesianas são referidos como "destros" ou "canhotos" porque pode utilizar posições manuais para indicar as direções dos eixos XYZ. Em ambos os sistemas de coordenadas, o eixo X positivo aponta para a direita e o eixo Y positivo aponta para cima. A diferença entre os dois é que, no sistema de coordenadas destro, o eixo Z aponta para si, enquanto no sistema de coordenadas canhota, o eixo Z aponta para longe de si.
Os sistemas de coordenadas espaciais no Windows (e, portanto, Windows Mixed Reality) são sempre destros.
[! NOTAS]
- Unity e Unreal utilizam o sistema de coordenadas canhoto.
- Embora as coordenadas canhotas e destros sejam os sistemas mais comuns, existem outros sistemas de coordenadas utilizados no software 3D. Por exemplo, não é invulgar as aplicações de modelação 3D utilizarem um sistema de coordenadas no qual o eixo Y aponta para ou para longe do visualizador e o eixo Z aponta para cima.
Criar uma experiência só de orientação ou em escala sentada
A chave para a composição holográfica é alterar a vista da sua aplicação dos hologramas de cada frame à medida que o utilizador se move, para corresponder ao movimento de cabeça previsto. Pode criar experiências em escala sentada que respeitem as alterações à posição da cabeça e orientação da cabeça do utilizador com um fotograma de referência estacionário.
Alguns conteúdos têm de ignorar as atualizações de posição de cabeçalho, mantendo-se sempre fixos num cabeçalho e distância escolhidos do utilizador. O exemplo principal é o vídeo de 360 graus: uma vez que o vídeo é capturado de uma perspetiva fixa única, arruinaria a ilusão de que a posição da vista se movesse com base no conteúdo, mesmo que a orientação da vista mude à medida que o utilizador olha ao redor. Pode criar experiências apenas de orientação com um quadro de referência anexado.
Fotograma estacionário de referência
O sistema de coordenadas fornecido por um quadro estacionário de referência funciona para manter as posições dos objetos perto do utilizador o mais estável possível com base no mundo, respeitando as alterações na posição da cabeça do utilizador.
Para experiências em escala sentada num motor de jogo como o Unity, um quadro estacionário de referência é o que define a "origem mundial" do motor. Os objetos colocados numa coordenada de mundo específico utilizam o quadro estacionário de referência para definir a sua posição no mundo real com essas mesmas coordenadas. O conteúdo que permanece colocado no mundo, mesmo à medida que o utilizador anda por aí, é conhecido como conteúdo bloqueado pelo mundo .
Normalmente, uma aplicação cria um quadro estacionário de referência no arranque e utiliza o respetivo sistema de coordenadas ao longo da duração da aplicação. Enquanto programador de aplicações no Unity, pode simplesmente começar a colocar conteúdos com base na origem, que estará na posição e orientação iniciais do utilizador. Se o utilizador mudar para um novo local e quiser continuar a sua experiência de dimensionamento sentado, pode atualizar a origem mundial nessa localização.
Ao longo do tempo, à medida que o sistema aprende mais sobre o ambiente do utilizador, pode determinar que as distâncias entre vários pontos no mundo real são mais curtas ou mais longas do que o sistema anteriormente acreditado. Se compor hologramas numa moldura estacionária de referência para uma aplicação no HoloLens onde os utilizadores vagueiam para além de uma área com cerca de 5 metros de largura, a sua aplicação poderá observar um desvio na localização observada desses hologramas. Se a sua experiência tiver utilizadores a vaguear por mais de 5 metros, está a criar uma experiência à escala mundial, que exigirá outras técnicas para manter os hologramas estáveis, conforme descrito abaixo.
Fotograma de referência anexado
Uma moldura de referência anexada move-se com o utilizador à medida que andam por aí, com um cabeçalho fixo definido quando a aplicação cria a moldura pela primeira vez. Isto permite que o utilizador observe confortavelmente o conteúdo colocado dentro desse quadro de referência. O conteúdo composto desta forma relativa ao utilizador chama-se conteúdo bloqueado pelo corpo .
Quando o headset não consegue descobrir onde está no mundo, uma moldura de referência anexada fornece o único sistema de coordenadas, que pode ser utilizado para compor hologramas. Isto torna ideal apresentar a IU de contingência para informar o utilizador de que o dispositivo não os consegue encontrar no mundo. As aplicações à escala de lugares ou superiores devem incluir uma contingência apenas de orientação para ajudar o utilizador a voltar a trabalhar, com a IU semelhante à mostrada no Mixed Reality casa.
Criar uma experiência em escala permanente ou à escala de salas
Para ir além da escala sentada num headset envolvente e criar uma experiência em escala permanente, pode utilizar o quadro de referência do palco.
Para proporcionar uma experiência à escala de salas, permitindo que os utilizadores andem dentro do limite de 5 metros que predefiniram, também pode verificar se existem limites de fase .
Moldura de referência de fase
Ao configurar pela primeira vez um headset envolvente, o utilizador define uma fase, que representa a sala em que irá experimentar a realidade mista. A fase define minimamente uma origem de fase, um sistema de coordenadas espaciais centrado na posição de piso escolhida pelo utilizador e orientação para a frente onde pretende utilizar o dispositivo. Ao colocar conteúdo neste sistema de coordenadas de fase no plano de piso Y=0, pode garantir que os hologramas aparecem confortavelmente no chão quando o utilizador está de pé, proporcionando aos utilizadores uma experiência em escala permanente.
Limites de fase
Opcionalmente, o utilizador também pode definir limites de fase, uma área dentro da sala que desmarcaram para se deslocarem na realidade mista. Em caso afirmativo, a aplicação pode criar uma experiência à escala de salas, utilizando estes limites para garantir que os hologramas são sempre colocados onde o utilizador pode aceder aos mesmos.
Uma vez que a moldura de referência de fase fornece um único sistema de coordenadas fixas no qual se pode colocar conteúdo relativo ao piso, é o caminho mais fácil para migrar aplicações em escala permanente e à escala de salas desenvolvidas para headsets de realidade virtual. No entanto, tal como com essas plataformas VR, um único sistema de coordenadas só pode estabilizar o conteúdo com cerca de 5 metros de diâmetro, antes que os efeitos de alavanca-braço causem conteúdo longe do centro para mudar visivelmente à medida que o sistema se ajusta. Para ultrapassar os 5 metros, são necessárias âncoras espaciais.
Criar uma experiência à escala mundial
O HoloLens permite experiências verdadeiras à escala mundial que permitem aos utilizadores vaguear por mais de 5 metros. Para criar uma aplicação à escala mundial, precisará de novas técnicas para além das utilizadas para experiências à escala de salas.
Por que motivo um único sistema de coordenadas rígidos não pode ser utilizado para além dos 5 metros
Atualmente, ao escrever jogos, aplicações de visualização de dados ou aplicações de realidade virtual, a abordagem típica é estabelecer um sistema de coordenadas de mundo absoluto ao qual todas as outras coordenadas possam mapear de forma fiável. Nesse ambiente, pode sempre encontrar uma transformação estável que define uma relação entre dois objetos nesse mundo. Se não movesse esses objetos, as respetivas transformações relativas permaneceriam sempre as mesmas. Este tipo de sistema de coordenadas global funciona bem ao compor um mundo puramente virtual, onde conhece com antecedência toda a geometria. As aplicações VR à escala de salas hoje em dia normalmente estabelecem este tipo de sistema de coordenadas à escala absoluta da sala com a sua origem no chão.
Por outro lado, um dispositivo de realidade mista sem limites, como o HoloLens, tem uma compreensão dinâmica baseada em sensores do mundo, ajustando continuamente o seu conhecimento ao longo do tempo do ambiente do utilizador à medida que percorrem muitos metros por um piso inteiro de um edifício. Numa experiência à escala mundial, se colocasse todos os hologramas num único sistema de coordenadas rígido, esses hologramas iriam necessariamente desviar-se ao longo do tempo, com base no mundo ou uns nos outros.
Por exemplo, o headset pode atualmente acreditar que duas localizações no mundo estão a 4 metros de distância e, mais tarde, refinar essa compreensão, aprendendo que as localizações estão, de facto, a 3,9 metros de distância. Se esses hologramas tivessem sido inicialmente colocados a 4 metros de distância num único sistema de coordenadas rígido, um deles apareceria sempre a 0,1 metros do mundo real.
Âncoras espaciais
Windows Mixed Reality resolve o problema descrito na secção anterior ao permitir-lhe criar âncoras espaciais para marcar pontos importantes no mundo onde o utilizador colocou hologramas. Uma âncora espacial representa um ponto importante no mundo que o sistema deve controlar ao longo do tempo.
À medida que o dispositivo aprende sobre o mundo, estas âncoras espaciais podem ajustar a sua posição consoante necessário para garantir que cada âncora permanece precisamente onde foi colocada com base no mundo real. Ao colocar uma âncora espacial no local onde o utilizador coloca um holograma e, em seguida, posicionando esse holograma com base na âncora espacial, pode garantir que o holograma mantém a estabilidade ideal, mesmo quando o utilizador percorre dezenas de metros.
Este ajuste contínuo de âncoras espaciais baseadas entre si é a principal diferença entre os sistemas de coordenadas das âncoras espaciais e os fotogramas estacionários de referência:
Os hologramas colocados no quadro estacionário de referência mantêm uma relação rígida entre si. No entanto, à medida que o utilizador percorre longas distâncias, o sistema de coordenadas dessa moldura pode desfasar com base no mundo para garantir que os hologramas junto do utilizador parecem estáveis.
Os hologramas colocados no quadro de referência de fase também mantêm uma relação rígida entre si. Ao contrário do fotograma estacionário, a moldura de fase permanece sempre fixa no local com base na origem física definida. No entanto, os conteúdos compostos no sistema de coordenadas da fase para além do limite de 5 metros só aparecerão estáveis enquanto o utilizador estiver dentro desse limite.
Os hologramas colocados com uma âncora espacial podem derivar com base em hologramas colocados utilizando outra âncora espacial. Isto permite que o Windows melhore a sua compreensão da posição de cada âncora espacial, mesmo que, por exemplo, uma âncora precise de se ajustar à esquerda e outra tenha de se ajustar à direita.
Ao contrário de um quadro estacionário de referência, que otimiza sempre a estabilidade perto do utilizador, o quadro de fase de referência e âncoras espaciais garantem estabilidade perto das suas origens. Isto ajuda esses hologramas a manterem-se exatamente no lugar ao longo do tempo, mas também significa que os hologramas compostos demasiado longe da origem do seu sistema de coordenadas irão experienciar efeitos cada vez mais graves no braço de alavanca. Isto deve-se ao facto de os pequenos ajustes à posição e orientação da fase ou âncora serem ampliados proporcionalmente à distância dessa âncora.
Uma boa regra é garantir que tudo o que compõe com base no sistema de coordenadas de uma âncora espacial distante está a cerca de 3 metros da sua origem. Para uma origem de fase próxima, a composição de conteúdo distante é OK, uma vez que qualquer erro posicional aumentado afetará apenas hologramas pequenos que não irão mudar muito na vista do utilizador.
Persistência de âncora espacial
As âncoras espaciais também podem permitir que a sua aplicação memorize uma localização importante mesmo após a suspensão da aplicação ou o dispositivo ser encerrado.
Pode guardar no disco as âncoras espaciais que a sua aplicação cria e, em seguida, carregá-las novamente mais tarde, ao mantê-las no arquivo de âncora espacial da sua aplicação. Ao guardar ou carregar uma âncora, fornece uma chave de cadeia com significado para a sua aplicação, para identificar a âncora mais tarde. Pense nesta chave como o nome de ficheiro da sua âncora. Se quiser associar outros dados a essa âncora, como um modelo 3D que o utilizador colocou nessa localização, guarde-os no armazenamento local da sua aplicação e associe-os à chave que escolheu.
Ao manter âncoras na loja, os seus utilizadores podem colocar hologramas individuais ou colocar uma área de trabalho à volta da qual uma aplicação colocará os seus vários hologramas e, em seguida, encontrar esses hologramas mais tarde, onde os esperam, ao longo de muitas utilizações da sua aplicação.
Também pode utilizar o Azure Spatial Anchors para persistência assíncrona do holograma em dispositivos HoloLens, iOS e Android. Ao partilhar uma âncora espacial na cloud durável, vários dispositivos podem observar o mesmo holograma persistente ao longo do tempo, mesmo que esses dispositivos não estejam presentes em conjunto ao mesmo tempo.
Partilha de âncora espacial
A sua aplicação também pode partilhar uma âncora espacial em tempo real com outros dispositivos, permitindo experiências partilhadas em tempo real.
Ao utilizar o Azure Spatial Anchors, a sua aplicação pode partilhar uma âncora espacial em vários dispositivos HoloLens, iOS e Android. Ao fazer com que cada dispositivo componte um holograma com a mesma âncora espacial, todos os utilizadores verão o holograma aparecer no mesmo local do mundo real.
Evitar conteúdo bloqueado à cabeça
Desencorajamos vivamente a composição de conteúdo bloqueado na cabeça, que permanece num local fixo no ecrã (como um HUD). Em geral, os conteúdos bloqueados de cabeça são desconfortáveis para os utilizadores e não se sentem como uma parte natural do seu mundo.
Normalmente, os conteúdos bloqueados com a cabeça devem ser substituídos por hologramas anexados ao utilizador ou colocados no próprio mundo. Por exemplo, geralmente, os cursores devem ser empurrados para o mundo, dimensionando naturalmente para refletir a posição e a distância do objeto sob o olhar do utilizador.
Lidar com erros de controlo
Em alguns ambientes, como corredores escuros, pode não ser possível que um auricular que utilize o controlo interno se localize corretamente no mundo. Isto pode fazer com que os hologramas não apareçam ou apareçam em locais incorretos, se processados incorretamente. Agora, abordamos as condições em que isto pode acontecer, o seu impacto na experiência do utilizador e sugestões para lidar melhor com esta situação.
Os auscultadores não conseguem monitorizar devido a dados de sensores insuficientes
Por vezes, os sensores dos auscultadores não conseguem descobrir onde está o headset. Este problema pode ocorrer se:
- A sala está escura
- Se os sensores estiverem cobertos por cabelo ou mãos
- Se o ambiente não tiver textura suficiente.
Quando isto acontece, o headset não conseguirá controlar a sua posição com precisão suficiente para compor hologramas protegidos pelo mundo. Não é possível descobrir onde é que uma âncora espacial, uma moldura estacionária ou uma moldura de fase se baseiam no dispositivo. No entanto, ainda pode compor conteúdo bloqueado pelo corpo na moldura de referência anexada.
A sua aplicação deve indicar ao utilizador como recuperar o controlo posicional, compor algum conteúdo bloqueado pelo corpo da contingência que descreva algumas sugestões, como descobrir os sensores e ativar mais luzes.
O headset controla incorretamente devido a alterações dinâmicas no ambiente
O dispositivo não consegue controlar corretamente se existirem muitas alterações dinâmicas no ambiente, como muitas pessoas que andam por aí na sala. Neste caso, os hologramas podem parecer saltar ou deslizar à medida que o dispositivo tenta controlar-se neste ambiente dinâmico. Recomendamos que utilize o dispositivo num ambiente menos dinâmico se atingir este cenário.
O headset controla incorretamente porque o ambiente mudou significativamente ao longo do tempo
Quando começa a utilizar um headset num ambiente onde móveis, bloqueios de parede, etc., foram movidos, é possível que alguns hologramas possam aparecer deslocados das suas localizações originais. Os hologramas anteriores também podem saltar à medida que o utilizador se move no novo espaço porque a compreensão do seu espaço pelo sistema já não é verdadeira. Em seguida, o sistema tenta remapear o ambiente, ao mesmo tempo que tenta reconciliar as funcionalidades da sala. Neste cenário, recomendamos que incentivem os utilizadores a substituir hologramas que afixaram no mundo se não aparecerem onde esperado.
O headset controla incorretamente devido a espaços idênticos num ambiente
Por vezes, uma casa ou outro espaço pode ter duas áreas idênticas. Por exemplo, duas salas de conferência idênticas, duas áreas de canto idênticas, dois cartazes idênticos grandes que cobrem o campo de vista do dispositivo. Nestes cenários, o dispositivo pode, por vezes, confundir-se entre as partes idênticas e marcá-las como as mesmas na sua representação interna. Isto pode fazer com que os hologramas de algumas áreas apareçam noutras localizações. O dispositivo pode começar a perder o controlo frequentemente, uma vez que a representação interna do ambiente foi danificada. Neste caso, é aconselhável repor a compreensão ambiental do sistema. A reposição do mapa leva à perda de todas as colocações de âncora espacial. Isto fará com que o headset controle bem nas áreas exclusivas do ambiente. No entanto, o problema poderá ocorrer se o dispositivo voltar a confundir-se entre as áreas idênticas.