0
colladas를 사용하는 스켈 레탈 애니메이션의 경우, 2 개의 행렬을 선형 적으로 보간해야합니다. 매트릭스 사이를 보간하기 위해 쿼터니언을 사용할 수있는 곳을 보았습니다.하지만 회전 구성 요소에서만 작동하며 변환을 보존해야합니다.2 개의 4x4 행렬 사이의 보간
float total = (orderedBones[i]->Animation->keyFrames[nextKeyFrame] - orderedBones[i]->Animation->keyFrames[nextKeyFrame - 1])*100.0;
float progress = orderedBones[i]->Animation->accumTime - (orderedBones[i]->Animation->keyFrames[nextKeyFrame - 1]*100.0);
float interpolation = progress/total;
glm::quat firstQuat = glm::quat_cast(orderedBones[i]->Animation->Matrices[nextKeyFrame - 1]);
glm::quat secondQuat = glm::quat_cast(orderedBones[i]->Animation->Matrices[nextKeyFrame]);
glm::quat finalQuat = glm::slerp(firstQuat, secondQuat, interpolation);
orderedBones[i]->Animation->interpoltaedMatrix = glm::mat4_cast(finalQuat);
을 나는이 작업을 수행 할 수있는 방법이 있나요 : 여기에 번역 부분을 제외하고, 작품 내 코드는 무엇입니까?
'quaternion' (단수) –
@SeverinPappadeux 추가 : – BlueSpud
은 무엇입니까 응답 콜라다? –