Manipulação direta com as mãos

Button

A manipulação direta é um modelo de entrada que envolve tocar hologramas diretamente com as mãos. A ideia por trás deste conceito é que os objetos se comportam como no mundo real. Os botões podem ser ativados simplesmente pressionando-os, os objetos podem ser apanhados agarrando-os e o conteúdo 2D comporta-se como um ecrã tátil virtual. A manipulação direta é baseada em acessibilidades, o que significa que é fácil de usar. Não há gestos simbólicos para ensinar os utilizadores. Todas as interações são construídas em torno de um elemento visual que você pode tocar ou agarrar. É considerado um modelo de entrada "próximo", na qual é melhor usado para interagir com o conteúdo ao alcance dos braços.

Suporte de dispositivos

Modelo de entrada HoloLens (1ª geração) HoloLens 2 Auscultadores imersivos
Manipulação direta com as mãos ❌ Não suportado ✔️ Recomendado ➕ Apoiado. Para a UI, recomendamos apontar e comprometer-se com as mãos .

A manipulação direta é um modelo de entrada primária no HoloLens 2, que utiliza o novo sistema articulado de rastreio manual. O modelo de entrada também está disponível em auscultadores imersivos usando controladores de movimento, mas não é recomendado como um meio primário de interação fora da manipulação de objetos. A manipulação direta não está disponível em HoloLens (1ª geração).



Demo de rastreio básico de mãos e instintivos

Se você gostaria de ver conceitos de design head and eye tracking em ação, confira nosso design Hologramas - Head Tracking e eye tracking video demo abaixo. Quando terminar, continue para um mergulho mais detalhado em tópicos específicos.

Este vídeo foi tirado da aplicação "Designing Hologramas" HoloLens 2. Faça o download e desfrute de toda a experiência aqui.

Ponta do dedo collidável

No dia 2 HoloLens, as mãos do utilizador são reconhecidas e interpretadas como modelos esqueléticos esquerdo e direito. Para implementar a ideia de tocar hologramas diretamente com as mãos, idealmente, cinco colisões poderiam ser fixados às cinco pontas dos dedos de cada modelo esquelético da mão. No entanto, devido à falta de feedback táctil, 10 pontas dos dedos collidáveis podem causar colisões inesperadas e imprevisíveis com hologramas.

Sugerimos apenas colocar um colisor em cada dedo indicador. As pontas dos dedos do índice collidable ainda podem servir como pontos de toque ativos para diversos gestos de toque envolvendo outros dedos. Os gestos de toque incluem prensa de um dedo, toque de um dedo, prensa de dois dedos e prensa de cinco dedos, como mostrado abaixo:

collidable fingertip
Ponta do dedo collidável

One-finger press
Prensa de um dedo

One-finger tap
Toque de um dedo

Five-finger press
Prensa de cinco dedos



Colisor de esferas

Em vez de usar uma forma genérica aleatória, sugerimos que use um colisor de esferas. Em seguida, você pode visualmente torná-lo para fornecer melhores pistas para perto de alvo. O diâmetro da esfera deve corresponder à espessura do dedo indicador para aumentar a precisão do toque. É mais fácil recuperar a variável da espessura do dedo chamando a API da mão.

Cursor da ponta do dedo

Além de tornar uma esfera collidável na ponta do dedo indicador, criámos um cursor avançado da ponta dos dedos para alcançar uma melhor experiência de quase-alvo. É um cursor em forma de donut ligado à ponta do dedo indicador. De acordo com a proximidade, reage dinamicamente a um alvo de orientação e tamanho como descrito abaixo:

  • Quando um dedo indicador se move em direção a um holograma, o cursor é sempre paralelo à superfície do holograma e gradualmente diminui o seu tamanho.
  • Assim que o dedo toca na superfície, o cursor encolhe-se em um ponto e emite um evento de toque.

Com o feedback interativo, os utilizadores podem alcançar tarefas de alta precisão perto do alvo, tais como desencadear uma hiperligação ou pressionar um botão como mostrado abaixo.

Fingertip cursor far
Cursor da ponta do dedo longe

Fingertip cursor near
Cursor da ponta do dedo perto

Fingertip cursor contact
Contacto cursor da ponta do dedo


Caixa de limites com shader de proximidade

O holograma em si também requer a capacidade de fornecer feedback visual e áudio para compensar a falta de feedback táctil. Para isso, geramos o conceito de uma caixa de delimitação com um shader de proximidade. Uma caixa de delimitação é uma área volumetástrica mínima que encerra um objeto 3D. A caixa de delimitação tem um mecanismo de renderização interativa chamado shader de proximidade. O shader de proximidade comporta-se:

Hover (far) with visual feedback
Pairar (longe)
Quando o dedo indicador está dentro de um alcance, um holofote da ponta do dedo é lançado na superfície da caixa de delimitação.

Hover (near) with visual feedback
Pairar (perto)
Quando a ponta do dedo se aproxima da superfície, os holofotes encolhem.

Contact begins
O contacto começa
Assim que a ponta do dedo toca na superfície, toda a caixa de delimitação muda de cor ou gera efeitos visuais para refletir o estado do toque.

Contact ends
Fim de contato
Um efeito sonoro também pode ser ativado para melhorar o feedback do toque visual.



Botão pressionável

Com uma ponta do dedo collidável, os utilizadores estão agora prontos a interagir com um componente de UI holográfico fundamental, como um botão pressável. Um botão pressável é um botão holográfico adaptado para uma pressão direta do dedo. Mais uma vez, devido à falta de feedback táctil, um botão pressável equipa alguns mecanismos para resolver problemas tácteis relacionados com o feedback.

  • O primeiro mecanismo é uma caixa de delimitação com um shader de proximidade, que é detalhado na secção anterior. Dá aos utilizadores uma melhor sensação de proximidade quando se aproximam e fazem contacto com um botão.
  • O segundo mecanismo é a depressão. A depressão cria uma sensação de pressão depois de um botão da ponta do dedo entrar em contacto com um botão. O mecanismo garante que o botão se move firmemente com a ponta do dedo ao longo do eixo de profundidade. O botão pode ser acionado quando atinge uma profundidade escolhida (em pressão) ou deixa a profundidade (em desbloqueio) depois de passar por ele.
  • O efeito sonoro deve ser adicionado para melhorar o feedback quando o botão é acionado.

pressable button far
O dedo está longe.

pressable button near
Aproxima-se o dedo

pressable button contact begins
O contacto começa

pressable button press
Pressione para baixo



Interação de ardósia 2D

Uma ardósia 2D é um recipiente holográfico usado para hospedar conteúdo de aplicações 2D, como um navegador web. O conceito de design para interagir com uma ardósia 2D através de manipulação direta é o mesmo que interagir com um ecrã tátil físico.

Para interagir com o contacto de ardósia

Touch
Tocar
Utilize um dedo indicador para premir uma hiperligação ou um botão.

Scroll
Deslocar
Use um dedo indicador para deslocar um conteúdo de ardósia para cima e para baixo.

Zoom
Zoom
Os dois dedos indicadores do utilizador são usados para ampliar dentro e fora do conteúdo da ardósia, de acordo com o movimento relativo dos dedos.

Para manipular a própria ardósia 2D

Graphic showing grab and drag feature
Mover-se
Mova as mãos para cantos e bordas para revelar as mais próximas acessibilidades de manipulação. Pegue o Holobar no topo da ardósia 2D, o que lhe permite mover toda a ardósia.

Graphic showing scale feature
Dimensionamento
Pegue as acessibilidades de manipulação e faça escalonamento uniforme através das acessibilidades de canto.

Reflow
Refluxo
Pegue nas acessibilidades de manipulação e reflua através das acessibilidades de borda.



Manipulação de objetos 3D

HoloLens 2 permite que os utilizadores permitam que as suas mãos direcionem e manipulem objetos holográficos 3D aplicando uma caixa de delimitação a cada objeto 3D. A caixa de delimitação proporciona uma melhor perceção de profundidade através do seu shader de proximidade. Com a caixa de delimitação, existem duas abordagens de design para manipulação de objetos 3D.

Manipulação baseada na acessibilidade

A manipulação da base de acessibilidade permite-lhe manipular o objeto 3D através de uma caixa de delimitação, juntamente com as acessibilidades de manipulação à sua volta.

Graphic showing an objects bounding box and move feature
Mover-se
Assim que a mão de um utilizador estiver perto de um objeto 3D, a caixa de delimitação e a acessibilidade mais próxima são reveladas. Os utilizadores podem agarrar a caixa de delimitação para mover todo o objeto.

Graphic showing user grabbing an objects edge to rotate
Rodar
Os utilizadores podem agarrar as acessibilidades da borda para rodar.

Graphic showing user grabbing an objects corner to scale
Dimensionamento
Os utilizadores podem agarrar as acessibilidades do canto para escalar uniformemente.


Manipulação baseada em acessibilidades

A manipulação baseada em acessibilidades não liga a acessibilidade à caixa de limites. Os utilizadores só podem revelar a caixa de delimitação e, em seguida, interagir diretamente com ela. Se a caixa de delimitação for agarrada com uma mão, a tradução e a rotação do objeto estão associadas ao movimento e orientação da mão. Quando o objeto é agarrado com duas mãos, os utilizadores podem traduzir, escalar e rodá-lo de acordo com movimentos relativos de duas mãos.

Manipulação específica requer precisão. Recomendamos que utilize manipulação baseada em acessibilidades porque proporciona um alto nível de granularidade. Para uma manipulação flexível, recomendamos que utilize manipulação não acessível , pois permite experiências instantâneas e lúdicas.



Gestos instintivos

Com HoloLens (1º género), ensinamos aos utilizadores um par de gestos predefinidos, como bloom e air tap. Para HoloLens 2, não pedimos aos utilizadores que memorizem quaisquer gestos simbólicos. Todos os gestos necessários para o utilizador, onde os utilizadores precisam interagir com hologramas e conteúdos, são instintivos. A forma de alcançar gestos instintivos é ajudar os utilizadores a realizar gestos através do design de acessibilidades de UI.

Por exemplo, se encorajarmos o utilizador a agarrar um objeto ou um ponto de controlo com uma picada de dois dedos, o objeto ou o ponto de controlo devem ser pequenos. Se quisermos que o utilizador faça uma captura de cinco dedos, o objeto ou o ponto de controlo devem ser relativamente grandes. Semelhante aos botões, um botão minúsculo limitaria os utilizadores a pressioná-lo com um único dedo. Um botão grande encorajaria os utilizadores a pressioná-lo com as palmas das mãos.

Graphic showing user grabbing small object to move
Objeto pequeno

Graphic showing user grabbing medium object to move
Objeto médio

Graphic showing user grabbing large object to move
Objeto grande




Design simétrico entre as mãos e controladores 6 DoF

Você pode ter notado que existem paralelos de interação que podemos desenhar entre mãos em AR e controladores de movimento em VR. Ambas as entradas podem ser usadas para desencadear manipulações diretas nos respetivos ambientes. Em HoloLens 2, agarrar e arrastar com as mãos à distância funciona da mesma forma que o botão de agarrar nos controladores de movimento WMR. Isto proporciona aos utilizadores uma familiaridade de interação entre as duas plataformas, o que pode revelar-se útil se alguma vez decidir apresentar a sua aplicação entre plataformas.



Otimizar com rastreio de olhos

A manipulação direta pode parecer mágica se funcionar como pretendido. Mas também pode tornar-se frustrante se não conseguires mover a mão para lado nenhum sem desencadear involuntariamente um holograma. O rastreio de olhos pode ajudar a identificar melhor qual é a intenção do utilizador.

  • Quando: Reduzir involuntariamente desencadeando uma resposta de manipulação. O rastreio de olhos permite uma melhor compreensão do que um utilizador está atualmente envolvido. Por exemplo, imagine que está a ler através de um texto holográfico (instrutivo) ao chegar para te agarrar uma ferramenta de trabalho no mundo real.

Ao fazê-lo, moves acidentalmente a mão através de alguns botões holográficos interativos que nem tinhas reparado antes. Por exemplo, pode estar fora do campo de visão do utilizador (FoV).

Se o utilizador não tiver olhado para um holograma durante algum tempo, no entanto foi detetado um evento de toque ou de apreensão para o mesmo, a interação é provavelmente não intencional.

  • Qual: Além de abordar falsas ativações positivas, outro exemplo inclui uma melhor identificação dos hologramas para agarrar ou picar como o ponto de intersecção preciso pode não ser claro na sua perspetiva, especialmente se vários hologramas estiverem posicionados perto uns dos outros.

    Embora o rastreio de olhos no HoloLens 2 tenha limitações baseadas na precisão com que pode determinar o seu olhar, isso ainda pode ser útil para interações próximas devido à disparidade de profundidade ao interagir com a entrada da mão. Isto significa que às vezes é difícil determinar se a sua mão está atrás ou em frente a um holograma para precisamente agarrar um widget de manipulação, por exemplo.

  • Onde: Use informações sobre o que um utilizador está a ver com gestos de arremesso rápido. Pegue um holograma e desperdê-lo aproximadamente em direção ao seu destino pretendido.

    Enquanto isto às vezes funciona, fazer rapidamente gestos de mão pode resultar em destinos altamente imprecisos. No entanto, o rastreio ocular pode melhorar a precisão do gesto.



Manipulação em MRTK (Mixed Reality Toolkit) para unidade

Com o MRTK, você pode facilmente obter um comportamento de manipulação comum usando o script ObjectManipulator. Com objectManipulator, pode agarrar e mover objetos diretamente com as mãos ou com o raio de mão. Também suporta manipulação a duas mãos para escalar e rodar um objeto.


Ver também