19.5 C
Brasília
segunda-feira, dezembro 23, 2024

transformação – Posicione a câmera na posição da articulação da ‘cabeça’ na animação do esqueleto


Concluí este ótimo tutorial sobre animação de esqueleto:
https://learnopengl.com/Visitor-Articles/2020/Skeletal-Animation

Tudo funciona como esperado, sem problemas!

Aqui estão quais matrizes eu uso para obter animação esquelética:

ModelMatrix: matriz modelo do modelo do jogador, que traz o vértice do espaço do modelo para o espaço do mundo. InverseBindMatrix (matriz de deslocamento no tutorial): traz o vértice do espaço do modelo para o espaço do osso. FinalBoneMatrix: que é a transformação da pose de animação atual, passada para o vertex shader. Combinado com ModelMatrix, fornece a posição do vértice colocado no espaço mundial.

Como próximo passo, desejo posicionar a câmera na posição da articulação da ‘cabeça’.

Achei que seria simplesmente:

vec3 headPosition = ModelMatrix * FinalBoneMatrixes("head")(3); //col 3 is the interpretation half in 4x4 column main matrix.

mas basta posicionar a câmera na barriga do modelo do jogador. O deslocamento mínimo ocorre, mas claramente a câmera não está ligada e não segue a posição da articulação da cabeça.

Tenho todas as informações disponíveis e pensei ter entendido as transformações envolvidas, mas parece que não é o caso.

Alguém poderia descrever a série de transformações necessárias para obter posições articulares/ósseas no espaço mundial?

Related Articles

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Stay Connected

0FansLike
0FollowersFollow
0SubscribersSubscribe
- Advertisement -spot_img

Latest Articles