|
|
@ -6239,19 +6239,17 @@ static ModelAnimation *LoadModelAnimationsGLTF(const char *fileName, int *animCo |
|
|
|
*animCount = (int)data->animations_count; |
|
|
|
animations = (ModelAnimation *)RL_CALLOC(data->animations_count, sizeof(ModelAnimation)); |
|
|
|
|
|
|
|
Transform worldTransform; |
|
|
|
{ |
|
|
|
cgltf_float cgltf_worldTransform[16]; |
|
|
|
cgltf_node* node = skin.joints[0]; |
|
|
|
cgltf_node_transform_world(node->parent, cgltf_worldTransform); |
|
|
|
Matrix worldMatrix = { |
|
|
|
cgltf_worldTransform[0], cgltf_worldTransform[4], cgltf_worldTransform[8], cgltf_worldTransform[12], |
|
|
|
cgltf_worldTransform[1], cgltf_worldTransform[5], cgltf_worldTransform[9], cgltf_worldTransform[13], |
|
|
|
cgltf_worldTransform[2], cgltf_worldTransform[6], cgltf_worldTransform[10], cgltf_worldTransform[14], |
|
|
|
cgltf_worldTransform[3], cgltf_worldTransform[7], cgltf_worldTransform[11], cgltf_worldTransform[15] |
|
|
|
}; |
|
|
|
MatrixDecompose(worldMatrix, &(worldTransform.translation), &(worldTransform.rotation), &(worldTransform.scale)); |
|
|
|
} |
|
|
|
Transform worldTransform = { 0 }; |
|
|
|
cgltf_float cgltf_worldTransform[16] = { 0 }; |
|
|
|
cgltf_node *node = skin.joints[0]; |
|
|
|
cgltf_node_transform_world(node->parent, cgltf_worldTransform); |
|
|
|
Matrix worldMatrix = { |
|
|
|
cgltf_worldTransform[0], cgltf_worldTransform[4], cgltf_worldTransform[8], cgltf_worldTransform[12], |
|
|
|
cgltf_worldTransform[1], cgltf_worldTransform[5], cgltf_worldTransform[9], cgltf_worldTransform[13], |
|
|
|
cgltf_worldTransform[2], cgltf_worldTransform[6], cgltf_worldTransform[10], cgltf_worldTransform[14], |
|
|
|
cgltf_worldTransform[3], cgltf_worldTransform[7], cgltf_worldTransform[11], cgltf_worldTransform[15] |
|
|
|
}; |
|
|
|
MatrixDecompose(worldMatrix, &worldTransform.translation, &worldTransform.rotation, &worldTransform.scale); |
|
|
|
|
|
|
|
for (unsigned int i = 0; i < data->animations_count; i++) |
|
|
|
{ |
|
|
|