내 프로그램에 애니메이션을 추가하려고합니다.OpenGL 스켈레톤 애니메이션
나는 뼈대 애니메이션을 사용하여 블렌더에서 만든 인간 모델을 가지고 있으며, 키 프레임을 스킵하여 모델 보행을 볼 수 있습니다.
이제 XML (Ogre3D) 형식으로 모델을 내보내고이 XML 파일에서 특정 시간 (t = 0.00000, t = 0.00040, ... 등)
내가 한 것은 각 뼈대에 할당 된 정점입니다. 이제 저는이 정점들 각각에 뼈에 대해 정의 된 변형을 적용하는 것으로 가정하고 있습니다. 이것이 올바른 접근 방법입니까? 내 OpenGL은 무승부() 함수에서
(거친 의사 코드) :
for (Bone b : bones){
gl.glLoadIdentity();
List<Vertex> v= b.getVertices();
rotation = b.getRotation();
translation = b.getTranslation();
scale = b.getScale();
gl.glTranslatef(translation);
gl.glRotatef(rotation);
gl.glScalef(scale);
gl.glDrawElements(v);
}