remove duplicate calculation of invRotation in UpdateModelAnimationBones

This commit is contained in:
Bigfoot71 2024-12-23 21:56:54 +01:00
parent 4fc908b38f
commit f6a29146a9

View File

@ -2297,13 +2297,12 @@ void UpdateModelAnimationBones(Model model, ModelAnimation anim, int frame)
Quaternion outRotation = anim.framePoses[frame][boneId].rotation; Quaternion outRotation = anim.framePoses[frame][boneId].rotation;
Vector3 outScale = anim.framePoses[frame][boneId].scale; Vector3 outScale = anim.framePoses[frame][boneId].scale;
Vector3 invTranslation = Vector3RotateByQuaternion(Vector3Negate(inTranslation), QuaternionInvert(inRotation));
Quaternion invRotation = QuaternionInvert(inRotation); Quaternion invRotation = QuaternionInvert(inRotation);
Vector3 invTranslation = Vector3RotateByQuaternion(Vector3Negate(inTranslation), invRotation);
Vector3 invScale = Vector3Divide((Vector3){ 1.0f, 1.0f, 1.0f }, inScale); Vector3 invScale = Vector3Divide((Vector3){ 1.0f, 1.0f, 1.0f }, inScale);
Vector3 boneTranslation = Vector3Add( Vector3 boneTranslation = Vector3Add(Vector3RotateByQuaternion(
Vector3RotateByQuaternion(Vector3Multiply(outScale, invTranslation), Vector3Multiply(outScale, invTranslation), outRotation), outTranslation);
outRotation), outTranslation);
Quaternion boneRotation = QuaternionMultiply(outRotation, invRotation); Quaternion boneRotation = QuaternionMultiply(outRotation, invRotation);
Vector3 boneScale = Vector3Multiply(outScale, invScale); Vector3 boneScale = Vector3Multiply(outScale, invScale);