A comunidade brasileira de desenvolvimento e programação de jogos.
Bem-vindo: Sex Dez 04, 2020 1:22 am

Todos os horários são GMT - 3 horas




Criar novo tópico Responder  [ 4 mensagens ] 
Autor Mensagem
 Título: Hierarquia de Ossos e Cinemática Inversa
MensagemEnviado: Qua Set 07, 2011 3:02 pm 
Offline
Membro intermediário
Avatar do usuário

Registrado em: Sáb Jan 07, 2006 10:40 pm
Mensagens: 96
Localização: Porto Velho (RO)
Olá amigos!
Venho mais uma vez até vocês pedir orientação nesse assunto. A situação é a seguinte:

Estou criando um código que carrega esqueletos do 3Dmax e os aplica na malha que também vem do 3Dmax, tudo até ai funciona sem problemas. O caso é que quando preciso importar a animação, os ossos se rotacionam de forma diferente como no 3Dmax, logo descobri que além de criar a hierarquia, era preciso fazer a tal "CINEMÁTICA INVERSA".

Alguem sabe como funciona isso? :?:

_________________
Autobot´s, Transformem!!!


Voltar ao topo
 Perfil  
 
 Título: Re: Hierarquia de Ossos e Cinemática Inversa
MensagemEnviado: Qui Set 08, 2011 2:38 pm 
Offline
Membro intermediário

Registrado em: Ter Jul 21, 2009 11:27 am
Mensagens: 121
Localização: Cruzeiro - SP
Para simplesmente fazer uma animação por ossos não é preciso de cinemática inversa. Tem algo errado nos seus cálculos e tem coisas sim do max que você precisa adaptar.

Cinemática inversa é para você, por exemplo, fazer o seu personagem pisar no cenário e posicionar o pé corretamente no chão ou em degraus, não exatamente animação.

T+

_________________
Programa jogos de computadores?
http://www.pontov.com.br


Voltar ao topo
 Perfil  
 
 Título: Re: Hierarquia de Ossos e Cinemática Inversa
MensagemEnviado: Qui Set 08, 2011 2:49 pm 
Offline
Membro intermediário
Avatar do usuário

Registrado em: Sáb Jan 07, 2006 10:40 pm
Mensagens: 96
Localização: Porto Velho (RO)
Ok, mas como eu faço para a hierarquia dos ossos ficar certa, digo, que o eixo de cada joint rotacione e se mova de acordo com a posição espacial?

Ex:
Dois joints (ossos) J1 e J2, sendo que J2 é filho de J1, quando eu girar J1 em x90, J2 gira também, mas quando girar J2 em y90, ele deverá girar J2 em x90 porque o eixo de J2 mudou.
Preciso aprender isso para poder trazer a animação do 3dmax com sucesso.

Como eu faria isso?

_________________
Autobot´s, Transformem!!!


Voltar ao topo
 Perfil  
 
 Título: Re: Hierarquia de Ossos e Cinemática Inversa
MensagemEnviado: Qui Set 08, 2011 2:58 pm 
Offline
Membro intermediário

Registrado em: Ter Jul 21, 2009 11:27 am
Mensagens: 121
Localização: Cruzeiro - SP
O max vai lhe gerar uma matrix para cada osso, lhe dizendo o estado de cada osso. Para cada frame da sua animação você vai ter um conjunto dessas matrizes, assim você sabe o estado de cada osso durante toda a animação.

Para mostrar a animação basta calcular a transformação acumulada de cada osso, ou seja, calcule J1, depois calcule J2 levando em consideração J1 e por ai vai.

Tendo a transformação final de cada osso, basta aplicar nos vértices correspondentes de acordo com os pesos.

O MAX já resolveu o problema de rotacionar J2 e saber que tem que rotacionar J1.

No final das contas, renderizar um modelo com animação esqueletal é quase idêntico a renderizar algo organizado em forma de grafo de cena, a diferença que na animação a hierarquia se aplica a vértices, no grafo de cena se aplica a modelos inteiros.

T+

_________________
Programa jogos de computadores?
http://www.pontov.com.br


Voltar ao topo
 Perfil  
 
Exibir mensagens anteriores:  Ordenar por  
Criar novo tópico Responder  [ 4 mensagens ] 

Todos os horários são GMT - 3 horas


Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 0 visitantes


Enviar mensagens: Proibido
Responder mensagens: Proibido
Editar mensagens: Proibido
Excluir mensagens: Proibido
Enviar anexos: Proibido

Ir para:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Traduzido por: Suporte phpBB