Orientador de mão
O hand coach dispara mãos modeladas em 3D quando o sistema não detecta as mãos do usuário. Esse recurso é um componente de "ensino" que ajuda a orientar o usuário quando o gesto não foi ensinado. Se os usuários não tiverem feito o gesto especificado por um período, as mãos farão um loop com um atraso. O hand coach pode ser usado para representar pressionar um botão ou pegar um holograma.
Treinador de mão fornecido
O modelo de interação atual representa uma ampla variedade de controles de gestos, como rolagem, seleção distante e toque próximo. Abaixo está uma lista completa de gestos de mão existentes fornecidos no MRTK:
Exemplo de Seleção Próxima – Usado mostra como selecionar botões ou fechar objetos interacionáveis
Exemplo de Air Tap – usado para mostrar como selecionar objetos que estão longe
Exemplo de Como mover um objeto no espaço – Usado para mostrar como mover um holograma no espaço
Exemplo de Rotate-Used para mostrar como girar hologramas ou objetos
Exemplo de escala – usado para mostrar como manipular hologramas para serem maiores ou menores
Exemplo de Palm up – Uso sugerido, para exibir menus de mão
Exemplo de inversão de mão – outra maneira de abrir menus de mão
Exemplo de rolagem – usado para rolar uma lista ou um documento longo
Conceitos de design
Para o Hololens2, projetamos interações com a mão com base em gestos instintivos e naturais das mãos. Acreditamos que eles sejam intuitivos para a maioria dos usuários, portanto, não criamos momentos dedicados de aprendizado de gestos. Em vez disso, criamos o coach de mão para ajudar os usuários a aprender sobre esses gestos se eles ficarem presos ou não estiverem familiarizados com interações de holograma. Sem um momento de aprendizado, sentimos que mostrar aos usuários como executar uma ação demonstrando que seria a melhor opção. Descobrimos que os usuários foram capazes de descobrir o gesto, mas precisavam de um pouco de orientação. Se detectarmos que um usuário não interage com um objeto por um período, um hand coach será disparado demonstrando o posicionamento correto da mão e do dedo.
Intuitiva
Ao animar as mãos, deve ser óbvio e não deve causar confusão. A animação manual é uma representação do gesto que você está tentando solicitar que o usuário entenda.
Por exemplo, se você quiser que um usuário pressione um botão, uma mão pressionando um botão será disparada.
Hand Coach demonstrando Near Tapping a Gem
Escala manual
Testamos vários tamanhos de mão com os menus da interface do usuário e sentimos que, se as mãos fossem fiéis ao tamanho, isso dava um sentimento ameaçador. Se eles eram muito pequenos, era difícil ver e entender o gesto.
Voz sobre e mãos
Não espere que os usuários possam ouvir um conjunto de instruções por meio de voz e watch instruções diferentes por meio do Hand coach. Sequencie suas instruções para ajudar os usuários a se concentrarem versus competirem por sua atenção para reduzir a sobrecarga sensorial.
Posso criar o meu próprio?
Sim! Incentivamos você a criar seu próprio gesto exclusivo para seu jogo e contribuir de volta para a comunidade! Fornecemos um arquivo Maya de uma mão fraudada que pode ser usado para seu aplicativo, que pode ser baixado aqui: Baixar HandCoach_MRTK.zip
Exemplo de mão animada cutucando uma caixa em Maya
Ferramenta de criação recomendada
Entre os artistas 3D, muitos optam por usar o Maya da Autodesk, que pode usar o HoloLens para transformar a maneira como os ativos são criados. O arquivo de mãos fornecido é um Arquivo Binário Maya, portanto, é recomendável usar Maya para animar e exportar as mãos. Se você preferir usar outro programa 3D, aqui está um . FBX: baixe HandCoachMRTK_FBX.zip para criar sua própria configuração de controlador.
Se estiver usando o arquivo manual maya para download fornecido, é recomendável reduzir verticalmente as mãos no Unity para 0,6.
Mãos Manipuladas
Especificações técnicas
- O arquivo com duas mãos está disponível no formato Maya Ascii
- Direita e Esquerda estão disponíveis no formato Maya Binary
- Definir o arquivo Maya como 24 FPS
- Dentro do arquivo, há uma mão esquerda e direita, que pode ser usada para gestos de duas mãos ou de mão única. A mão direita só ficará visível por padrão.
- É recomendável deixar um buffer de cerca de 10 quadros no início e no final para fades
- Se estiver animando um objeto com um destino especificado, sua melhor prática será animar para uma caixa Padrão ou Null.
- Se a mão estiver animando um objeto físico, como uma caixa, sua melhor prática é não animar a tradução em Maya, mas aguardar para animá-la no Unity ou no Código.
- A animação visível deve ser de 1,5 segundos para que qualquer informação significativa seja transmitida
- Quando você se sentir satisfeito com sua animação:
- Selecionar todas as articulações e assar quadros-chave
- Exclua os controladores, selecione as articulações e a malha e exporte como um FBX
- Se houver várias animações, você poderá usar o Exportador de Jogos interno do Maya: https://knowledge.autodesk.com/support/maya/learn-explore/caas/CloudHelp/cloudhelp/2015/ENU/Maya/files/Game-Exporter-htm.html
Exportando de Maya
Depois de estar satisfeito com sua animação
Selecionar todas as articulações: Selecione > Hierarquia
Asse sua animação: Alterne para Animação bake chave > de animação >
Excluir a plataforma do controlador: > MainR_Grp de estrutura de tópicos ou MainL_Grp
Exportar como FBX: selecione JNT + Malha: Seleção de Exportação de Arquivo > (caixa de opção) > Exportar Seleção
Ao exportar como um FBX e trazido para o Unity, reduza as mãos para 0,6. Descobrimos que este era o equilíbrio perfeito para exibir as mãos.
Configurações do Unity para HandCoach_R pré-fabricado encontrado no MRTK
Implementando o Hands em seu projeto do Unity
Práticas recomendadas
É recomendável reduzir as mãos na unidade para 0,6
As mãos devem ser reproduzidas duas vezes e, se não forem concluídas, serão continuamente colocadas em loop até que o gesto seja concluído. As mãos devem ser executadas duas vezes para garantir que o usuário tenha tempo para se registrar e ver o gesto. As mãos devem esmaecer entre loops.
Se as mãos do usuário estiverem visíveis por câmeras HL2, mas os usuários não estiverem fazendo a interação necessária, as mãos aparecerão após 10 segundos.
Se as mãos do usuário NÃO estiverem visíveis pelas câmeras HL2, as mãos aparecerão após 5 segundos.
Se as mãos do usuário forem visivelmente rastreadas por câmeras HL2 no meio da animação, a animação será concluída e desaparecerá.
Se você estiver incluindo a narração, sugerimos que ela corresponda ao gesto da mão.
Se você tiver ensinado as mãos pelo menos uma vez, repita o gesto somente se for detectado que o usuário está preso.
Se posições específicas do dedo/mão forem críticas, verifique se os usuários podem ver claramente essas nuances na animação. Tente colocar as mãos para que as partes mais importantes fiquem claramente visíveis.
Se você observar distorção nas mãos, precisará ir para As configurações de Qualidade do Unity aumentam o número de ossos. Acesse Editar > Configurações > do Projeto do Unity Qualidade > Outros > Pesos de Combinação. Verifique se "4 ossos" estão selecionados para ver Articulações Suaves.
O que evitar
- Dimensionando as mãos muito grande
- Colocando as mãos muito perto do usuário
- As mãos só devem ser ensinadas uma vez. Sobre o ensino pode causar confusão e bagunça
- Trazendo-o para o Unity, baixe o MRTK mais recente aqui: https://github.com/microsoft/MixedRealityToolkit-Unity
- Material: Teaching_Hand2
- Scripts: consulte as diretrizes do MRTK para o coach de mão do MRTK
- Configuração por projeto
- Cena definida como UWP: a instrução pode ser encontrada no artigo Configurar um novo projeto OpenXR com MRTK .