Olhos e mãos — MRTK2
Como dar suporte à aparência + movimentos de mão (olhar & gestos com as mãos)
Esta página explica como usar o direcionamento ocular como um ponteiro primário em combinação com movimentos de mão. Em nossas demonstrações de acompanhamento ocular do MRTK, descrevemos vários exemplos para usar olhos + mãos, por exemplo:
- Seleção: observando o botão holográfico distante e simplesmente executando um gesto de pinçagem para selecioná-lo rapidamente.
- Posicionamento (este artigo): mova fluentemente um holograma pela cena simplesmente olhando para ele, pinçando o dedo indicador e o polegar juntos para agarrá-lo e, em seguida, mova-o usando sua mão.
- Navegação: basta olhar para um local em que você deseja ampliar, pinçar o dedo indicador e o polegar juntos e puxar a mão em sua direção para ampliar.
Observe que o MRTK foi projetado no momento de forma que, a uma distância, os raios de mão atuem como ponteiros de foco priorizados. Isso significa que os ponteiros de olhar e cabeça serão suprimidos automaticamente quando uma mão for detectada e ficarão visíveis novamente depois de dizer "Selecionar". No entanto, essa pode não ser a maneira como você gostaria de interagir à distância e, em vez disso, favorecer uma interação simples de "olhar e confirmar", independentemente da presença das mãos em seu modo de exibição.
Como desabilitar o raio de mão
Para desabilitar o ponteiro de raio de mão, basta remover o 'DefaultControllerPointer' na definição de configuração do MRTK Input -> Pointer . Para usar olhos e mãos conforme descrito acima em seu aplicativo, verifique também se você atende a todos os requisitos para usar o acompanhamento ocular.
Você também pode marcar, como o perfil de entrada EyeTrackingDemoPointerProfile do pacote de exemplo de acompanhamento ocular é configurado como uma referência.
Como manter o ponteiro de foco sempre ativado
Para evitar que os ponteiros da cabeça ou do olhar sejam suprimidos automaticamente depois que uma mão é detectada, o foco PointerBehavior
pode ser especificado para controlar se ele deve estar ligado ou desativado.
// Turn on gaze pointer
PointerUtils.SetGazePointerBehavior(PointerBehavior.AlwaysOn);
Veja Controllers Pointers and Focus