O futuro da XR é intuitivo — e as ferramentas da Unity estão prontas para isso.

Coautores: Isaac Seah (Gerente Técnico Principal de Produto), Alexandra Serralta (Engenheira de Software Sênior), Ketki Jadhav (Designer de Produto Sênior) e Dave Ruddell (Gerente Sênior de Engenharia de Software)
Por que a abordagem "mãos à obra" é o futuro da XR
O rastreamento de mãos é um tipo de entrada suportado em XR há vários anos, mas a maioria dos projetos ainda o trata como secundário, adicionado depois que a experiência principal é construída em torno dos controladores. Para um conjunto crescente de experiências, essa prioridade já não faz sentido. Jogos construídos em torno de gestos, manipulação física ou interação direta com objetos são inerentemente melhor expressos através das mãos: são mais naturais, mais intuitivos e impossíveis de replicar com um controle.
Historicamente, chegar a esse ponto significou superar dois desafios principais em termos de ferramentas: criar gestos de mão personalizados e confiáveis exigia um trabalho significativo de programação, e iterar nas interações com as mãos era difícil sem um headset fisicamente por perto. Duas adições aos pacotes XR da Unity abordam diretamente essas duas questões. O recurso XR Hand Capture, incluído no pacote XR Hands, permite gravar poses reais das mãos diretamente no dispositivo e importá-las para o Unity como recursos de gestos reutilizáveis. A Simulação de Mãos, adicionada ao Simulador de Interação XR no Kit de Ferramentas de Interação XR (XRI), traz a experiência completa de desenvolvimento com rastreamento de mãos para o Editor Unity , permitindo iterações sem a necessidade de um headset.
Este artigo aborda o funcionamento de ambas as funcionalidades, quando utilizá-las e como integrá-las a um projeto existente.
Captura de XR Hands
O pacote XR Hands expõe dados articulares por quadro através do subsistema XRHand. Construir um gesto com base nesses dados significa definir um conjunto de condições de ângulo articular e formato dos dedos que, quando satisfeitas simultaneamente, constituem uma pose reconhecida. Para gestos simples como pinçar e tocar, o pacote já vem com implementações prontas para uso. Para qualquer personalização, a abordagem anterior exigia configuração individual para cada dedo e formato de dedo, o que significava iterar inteiramente no dispositivo.
Embora fundamental, esse processo manual era lento e menos confiável em comparação com o que é possível agora com o XR Hands Capture. A fidelidade precisa dos gestos, que é crucial para mecânicas de jogo como poses características, manipulação de objetos 3D ou controle preciso da interface do usuário, era difícil de alcançar quando se definia manualmente o formato de cada dedo. Essas aproximações resultaram em soluções lentas de produzir, mais frágeis em diferentes formatos de mão e que careciam da sensação natural e intuitiva essencial para experiências verdadeiramente envolventes que priorizam a interação com as mãos.

Como funciona
O XR Hands Capture resolve isso gravando os dados reais das articulações produzidos pelo XRHandSubsystem enquanto você executa uma pose no dispositivo e, em seguida, gerando um recurso XRHandShape a partir dessa gravação. Você está criando gestos a partir da realidade, em vez de aproximações, o que significa que as interações resultantes se mantêm melhor em diferentes tamanhos de mão e variações de movimento, e a sensação é exatamente como deveria ser.
O fluxo de trabalho:
- Importe a amostra HandCapture do pacote XR Hands no Gerenciador de Pacotes.
- Implante e abra a cena de exemplo no seu dispositivo OpenXR.
- Faça a pose que deseja capturar. A cena registra dados conjuntos em tempo real do XRHandSubsystem em uma XRHandCaptureSequence.
- Importe a gravação para o Unity Editor usando a janela do inspetor XR Hand Capture (Janela > XR > XR Hand Capture).
- Extraia o recurso XRHandShape — uma representação serializada da pose da mão que pode ser referenciada por qualquer componente StaticHandGesture ou lógica de detecção personalizada.
- Ajuste as tolerâncias, se necessário, e grave novamente para refinar.

Como o XRHandCaptureSequence e o XRHandShape são gerados a partir de dados de captura reais, a biblioteca de gestos que você cria reflete como as mãos realmente se movem, fazendo com que essas interações pareçam naturais quando um jogador as utiliza. Isso também significa que pessoas sem formação em engenharia podem participar da criação de gestos: um designer ou animador pode gravar e iterar sobre poses diretamente no dispositivo, sem precisar mexer no código, o que mantém os designers e animadores — as pessoas que mais se importam com a sensação da interação — diretamente envolvidos em sua criação.
Simulação de mãos no simulador de interação XR
O Simulador de Interação XR no XR Interaction Toolkit permite que os desenvolvedores executem experiências XR dentro do Unity Editor sem um dispositivo físico, o que é útil para iterações iniciais, onde o uso de um headset a cada ciclo de teste adiciona uma sobrecarga significativa. Até recentemente, suportava apenas entrada de controle. Os projetos desenvolvidos em torno do rastreamento das mãos não tinham equivalente, o que significa que o desenvolvimento da interação com as mãos era fundamentalmente dependente de headsets. Agora, além dos gestos de mão padrão integrados, como cutucar, pinçar e agarrar, você também pode testar seus próprios gestos personalizados diretamente no simulador, um recurso que você não encontrará em nenhum outro lugar fora das ferramentas XR da Unity.

Como começar
Para começar, baixe a versão mais recente do Unity (6.3 ou posterior) e, em seguida, adicione esses recursos por meio do Gerenciador de Pacotes do Unity .
- O XR Hands Capture é fornecido como parte do pacote XR Hands (versão 1.7 e posterior). Você pode instalar ou atualizar para a versão mais recente e importar o exemplo `HandCapture` para começar. A documentação completa e a referência da API estão disponíveis na documentação do XR Hands .
- A simulação de mãos está disponível no XR Interaction Simulator como parte do pacote XR Interaction Toolkit (versão 3.5 e mais recente) e do XR Hands (versão 1.8 e mais recente). Instale ou atualize para a versão mais recente e importe o exemplo de ativos iniciais do XRI. Consulte a documentação do XRI para obter detalhes sobre a configuração.
Para um ponto de partida mais amplo, os exemplos do XR Interaction Toolkit incluem cenas de referência que abrangem padrões comuns de interação com as mãos. Se você está procurando uma referência da comunidade especificamente para captura de XR Hands , Dilmer Valecillos criou um projeto de demonstração de captura de mãos que vale a pena conferir. Tem curiosidade em saber o que os desenvolvedores estão criando com o Unity XR? Dê uma olhada .
O que vem a seguir?
O trabalho em andamento abrange ambos os pacotes. Em XR Hands, as áreas ativas incluem a conformidade dos dados de pose com a especificação OpenXR, suporte à extensão Palm Pose, mapeamentos de ações de entrada para gestos de pinça, toque, mira e poses do dispositivo, além de refinamentos na interação de toque. Também estamos expandindo o suporte para extensões OpenXR que expõem se os dados das mãos se originam do rastreamento da câmera com a mão nua ou da estimativa feita pelo controlador, o que é relevante para jogos que desejam adaptar a mecânica com base em como o jogador está interagindo fisicamente. Na XRI, continuamos investindo no Simulador de Interação XR como uma ferramenta confiável para testes em dispositivos, à medida que os casos de uso com foco nas mãos se expandem.
Participe da nossa transmissão ao vivo no dia 9 de julho, às 12h (horário do leste dos EUA), com um convidado especial da Meta para ver o XR Hand Capture e o simulador XRI em ação, com uma sessão de perguntas e respostas ao vivo e uma prévia das novidades que estão por vir.