por luckims Sex Mar 06, 2020 10:16 pm
Bom primeiro gostaria de agradecer a qualquer um que se interesse pelo topico e dizer que toda ajuda é bem vinda.
Estou trabalhando no meu tcc de ciencia da computação, o qual é um serious game para reabilitação. Atualmente estou usando o leap motion que é um periferico que captuda os movimentos da mão, a instalação dele na unity é bem simples, porem estou a alguns dias correndo atras de uma solução para espelhar umas das mãos (Se eu posicionar a mão direita sobre o LM ele me retorna uma copia da mão direita porem invertida, assim tenho a mão direita e esquerda em cena). O grande problema é que o LM traz um monte de script pronto junto com os prefabs e assets e não estou sabendo como lidar com tudo isso, sempre que tento algo ou a mão não aparece ou fica totalmente bugada.
Ja tentei inverter os eixos, mas só fica mais bugado.
Existe algum comando ou função para o espelhamento de um objeto? ou seja copiar tudo o que um objeto faz porem invertido em algum eixo.
Se alguem tem um conhecimento maior sobre a ferramenta agradeceria a ajuda de coração!
Deixo aqui um link para a documentação do Leap Motion: https://leapmotion.github.io/UnityModules/namespaces.html
Minha ideia é mais ou menos essa:https://www.youtube.com/watch?v=bGF9glShH6U&t=1s
PONTOS : 519
Re: Espelhamento de uma mão usando Leap Motion
por Fagner Sex Mar 06, 2020 10:52 pm
Dá pra fazer isso de forma independente do leap motion, acredito que ele utilize uma mesh para representar a mão, correto? Se for isso, basta dar um bakeMesh() para pegar a malha da mão no estado atual, multiplicar por uma matriz invertida em x, e usar um material double sided, pra mostrar o interior da mão (pois invertendo a matriz, os polígonos de dentro ficam para fora, deixando-os invisíveis)
por luckims Sex Mar 06, 2020 10:59 pm
Infelizmente a mão é formada por cilindros e esferas, não é um objeto unico, cada articulação é uma esfera e cada osso é um cilindro. No video de alguma maneira o autor colocou uma mesh, mas o que vem de fabrica seriam os bones de uma mão exatamente. Existe a classe Hand() que te permite usar uma mão completa, porem para acessar uma mão, é necessario copiar ela do frame anterior, ou algo assim pelo que entendi na documentação.
por Fagner Sex Mar 06, 2020 11:05 pm
Bom, neste caso ainda há a possibilidade de usar o Mesh.CombineMeshes pra combinar as partes e utilizar essa mesh gerada pra dar seguimento ao processo que descrevi, não muda muita coisa e o resultado é similar.
Poderia mandar um print da hierarquia do projeto com o Leap Motion? nunca usei e não sei como fica organizada.