O projeto e implementação de rastreamento manual em 'Myst' PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.

O design e implementação do rastreamento manual em 'Myst'

utilização API atualizada de rastreamento de mãos da Presence Platform, introduzimos o Hand Tracking com nossa atualização mais recente para Myst na plataforma Meta Quest, intitulada ‘Hands & More’. Estamos muito entusiasmados por finalmente deixar as pessoas jogarem Myst no Quest sem controladores físicos! Nesta postagem, discutiremos a evolução e a iteração da implementação do rastreamento manual em Myst—e, em particular, adicionando mais suporte para ele no Unreal Engine 4.27.2.

O projeto e implementação de rastreamento manual em 'Myst' PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.Artigo convidado de Hannah Gamiel

Hannah Gamiel é Diretora de Desenvolvimento da Ciano—o estúdio por trás do original ‘Místico' jogos - e ajudou a desenvolver o novo ‘Misto (2020)‘que inclui suporte VR. Originária de uma formação puramente técnica, ela agora ajuda a liderar a produção de todos os títulos e gerencia os esforços de negócios e tecnologia na Cyan. Ela trabalhou em títulos como ‘Myst’ (2020), ‘The Witness’, ‘Braid, Anniversary Edition’, ‘Obduction’, ‘Firmament’ (em breve!) e muito mais.

Fase de projeto e considerações

Projetando navegação para rastreamento manual

Imagem indicando onde você gostaria de ir. Você provavelmente pensou em apontar, certo? É por isso que optamos por usar um método de ‘apontar’ para movimento em Myst.

Quando estiver no modo de teletransporte, você pode apontar para onde deseja ir e o anel de teletransporte aparecerá no seu destino. Quando você ‘desaponta’ (estendendo o resto dos dedos ou simplesmente puxando o dedo indicador de volta para a palma da mão), o teletransporte é executado.

Quando você estiver no modo de movimento suave, apontar com a mão dominante de movimento livre (que pode ser configurada em nossas configurações de controles, mas é a mão esquerda por padrão) começará a movê-lo suavemente na direção que você está apontando.

Ao testar o movimento com apontar, descobrimos que o rastreamento da mão às vezes pode não ser confiável com o dedo indicador e o dedo médio quando ele está obstruído pelo resto da mão. O sistema não tem certeza se esses dedos estão totalmente apontando ou totalmente “fechados” em sua mão. Adicionamos um pouco de fator 'fudge' ao código para dar conta de uma iniciação/execução de movimento mais estável nesta frente - que abordaremos um pouco mais tarde, quando discutirmos as alterações feitas no Hand Tracking pronto para uso suporte no Unreal Engine.

Passando

O método ‘ponto’ não funciona para todos os usos de navegação. Quando se trata de girar, inicialmente combinamos apontar com rotação do punho. Comparar o pulso do jogador e o vetor frontal da câmera indicaria a direção da curva (e quão grande ela deveria ser). Tentamos isso inicialmente, pois parecia intuitivo manter o tema “apontar” para navegação entre todos os modos.

No entanto, surgiram complicações nos testes de conforto. Nos testes de jogo, a maioria dos jogadores apontava para frente com a palma da mão voltada para o chão, como provavelmente faria ao tentar apontar para algo fora do jogo também. Girar o pulso para a esquerda e para a direita (em torno do eixo superior do pulso) enquanto a palma da mão está voltada para o chão é um desafio e tem uma amplitude de movimento muito limitada, especialmente se você estiver tentando se afastar do peito.

Este problema é o mesmo mesmo se você pedir a um jogador para apontar algo à sua frente com as palmas voltadas para dentro. Você pode dobrar o pulso para seu corpo um pouco, mas você não obterá a mesma amplitude de movimento dobrando o pulso para longe do corpo.

Então, como resolvemos isso? Acabamos atribuindo o giro a um gesto de “polegar para cima” em vez de um gesto de apontar o dedo indicador.

Imagine dar um sinal de positivo. Agora gire o pulso para a direita e para a esquerda. Observe que mesmo que você não tenha uma grande amplitude de movimento, ainda é bastante consistente apontar para “esquerda” e “direita” com o polegar neste gesto.

Foi isso que decidimos para ativar o modo de rastreamento manual. Embora apontar com o polegar não pareça a maneira mais intuitiva de virar, é fez acabam sendo a maneira mais confortável e consistente de fazê-lo.

Com o giro rápido, girar o pulso para a esquerda ou para a direita a partir da posição de polegar para cima faz com que um único giro rápido seja iniciado. Você então deve retornar sua mão para a posição ‘central’ (para cima) para reiniciar o snap e, adicionalmente, esperar que ocorra um resfriamento muito curto para iniciar um snap turn novamente.

Com um giro suave, girar o pulso enquanto estiver com o polegar para cima começará a girar você para a esquerda ou para a direita – assim que você sair de uma “zona morta” que impede a ocorrência de um giro até que você ultrapasse o limite.

Lidando com conflitos entre poses de movimento e interação de objetos

É claro que apontar um dedo é um gesto muito amplo para ser assumido como usado apenas para navegação. As pessoas farão o mesmo gesto de apontar para pressionar botões ou interagir com outras coisas no mundo apenas por hábito ou por suas próprias expectativas. Seria muito chocante chegar até (mas não certo até) um botão, aponte o dedo para pressioná-lo e, de repente (e indesejavelmente), aproxime-se dele no jogo (ou inicie um teletransporte involuntariamente)!

A maneira como evitamos que o movimento ocorra enquanto o jogador está interagindo com algo é evitando que qualquer código de movimento seja acionado quando a mão que faz o gesto de ‘movimento’ estiver dentro de um certo alcance de um objeto interativo. Este intervalo foi ajustado várias vezes para chegar a um bom ‘ponto ideal’ com base em testes de jogo.

Descobrimos que este ponto ideal está a cerca de 25 cm da localização do osso da ponta do dedo indicador no espaço mundial. Myst está cheio de objetos interativos de vários tamanhos (tudo, desde pequenos botões até alavancas muito grandes) dispostos em espaços abertos e corredores estreitos, por isso foram necessários alguns testes para chegar a esse número. Inicialmente tentamos 60 cm (cerca de dois pés), mas isso evitou que o movimento ocorresse quando os jogadores ainda precisavam se aproximar de um objeto. Da mesma forma, qualquer coisa abaixo de 25 cm causava movimentos indesejados do jogador quando os jogadores tentavam agarrar ou tocar um objeto.

Uma de nossas melhores áreas de teste foi a sala do gerador em Myst Island, onde você passa por uma entrada estreita e é imediatamente saudado por um painel cheio de botões. Quando a área de teste de interação era muito grande, os jogadores não conseguiam passar pela entrada e em direção ao painel porque detectava botões ao alcance do dedo indicador.

Dito isto, 25 cm é o que funcionou especificamente para Myst. Outros jogos podem precisar ajustar esse número se quiserem implementar algo semelhante, tendo em mente seus próprios critérios.

Projetando interações de objetos para rastreamento manual

No momento, todas as interações agarráveis ​​em Myst são construídos para funcionar com rastreamento manual - girando válvulas, abrindo portas, pressionando botões, virando páginas de livros e assim por diante.

As interações aproveitam o que já havíamos configurado Myst com controladores de toque. Lá, pressionar o botão de aderência combina automaticamente a representação de malha da sua mão no jogo em uma pose de ‘agarrado’, seja colocando a mão em punho (se vazia) ou agarrando um objeto. Com o rastreamento manual, adicionamos um código que fará uma estimativa qualificada de quando você curvou os dedos o suficiente para “agarrar” algo e iniciar a mesma lógica mencionada anteriormente.

Por exemplo, quando você está usando o rastreamento manual e sua mão passa sobre algo que pode ser agarrado, a cor da sua mão fica laranja (isso é exatamente o que acontece quando você não usa o rastreamento manual no Myst VR também). Quando você pega um objeto interativo começando a fechar os dedos em punho, uma esfera laranja substitui a malha da mão e representa onde a mão está presa ao objeto.

A razão pela qual optamos por esse método em vez de criar malhas articuladas personalizadas para suas mãos - ou permitir que suas mãos/dedos pareçam interagir fisicamente com partes desses objetos - é porque queríamos que as interações estivessem em paridade com o que oferecemos em o lado do controlador de toque por enquanto.

Apertar botões funciona de maneira diferente. Não há necessidade de abstração, pois os botões não são objetos que podem ser agarrados e, em vez disso, permitimos que você simplesmente aperte um botão usando coletores de cápsula gerados entre cada uma das articulações dos dedos na malha de mão articulável. Você pode fazer todo tipo de coisas estranhas e divertidas por causa disso – como usar apenas o dedo mindinho ou a junta do dedo anelar para interagir com todos os botões do jogo, se você realmente quiser.

Esta implementação difere um pouco da maneira como os controladores Touch interagem com os botões do jogo, pois geralmente esperamos que os jogadores usem o botão de aderência em seus controladores para definir a mão como uma malha de 'dedo apontando' para obter um botão preciso no jogo pressione na extremidade deles. Com o rastreamento manual, há obviamente muito mais flexibilidade na pose que você pode criar com a mão e, portanto, significativamente mais maneiras de pressionar botões com o mesmo nível de precisão.

Interações de menu/UI

Para interagir com os menus, acabamos optando pelo mesmo paradigma de interação que o Meta usa para a plataforma Quest: uma pinça de dois dedos entre o polegar e o indicador, de cada mão. Isso pode ser usado tanto para abrir o menu do jogo quanto para interagir com os elementos do menu. Não faz sentido reinventar a roda aqui quando os jogadores já são ensinados a fazer isso nos menus do sistema operacional quando ativam o rastreamento de mão pela primeira vez na Quest!

Comunicando tudo isso ao jogador

Porque o rastreamento manual não é uma entrada tão comum no Quest quanto os controladores Touch, e porque pode haver algumas pessoas jogando Myst pela primeira vez (ou mesmo jogando seu primeiro jogo de VR!), tentamos ser atenciosos na forma como comunicamos todas essas informações sobre rastreamento de mãos ao jogador. Certificamo-nos de incluir outra versão do nosso “diagrama de controlador” especificamente adaptado para descrever interações de rastreamento manual (quando habilitado em Myst) e mostramos ao jogador notificações especializadas que informam exatamente como se movimentar com as mãos.

Além disso, achamos que seria vital lembrar ao jogador como ter uma experiência tranquila de rastreamento de mãos, uma vez ativado. O jogador é notificado em MystNo menu do Google, a estabilidade do rastreamento manual é muito melhor se eles garantirem que estão em uma sala bem iluminada e manterem as mãos dentro do campo de visão.

O Meta também informa aos jogadores que eles são essenciais para um ambiente de rastreamento de mãos bem monitorado, mas reconhecemos que alguns jogadores podem entrar no jogo sem ter analisado os avisos do Meta sobre isso primeiro, por isso optamos por lembrar as pessoas caso elas tenham esquecido.

Continue na página 2: Modificações de mecanismo feitas no Unreal »

Carimbo de hora:

Mais de Estrada para VR