Hi. I'm curious why Skeleton3D member functions 'global_pose_to_local_pose' and 'local_pose_to_global_pose' were removed somewhere between the beta (circa Dec) and RC2. They seemed helpful for manipulating a bone in its own basis. Yet they must have been removed for a good reason. I'm definitely a novice and trying to better understand the Skeleton3D API which is still quite poorly documented.
My goal is to twist or bend a skeleton at the waist, following a directional input to some degree, in addition to an existing animation. My previous code looked like:
var trfm = myskel.get_bone_global_pose_no_override(spineMidBoneId)
trfm = myskel.global_pose_to_local_pose(spineMidBoneId, trfm)
trfm = trfm.rotated_local(Vector3.LEFT, -twistByRad)
trfm = myskel.local_pose_to_global_pose(spineMidBoneId, trfm)
myskel.set_bone_global_pose_override(spineMidBoneId, trfm, 1.0, true)
Franky, it was probably a mistake that I transformed to a local basis since this conflates bending and twisting in a skeletal basis. Yet, it was still a nice option to use either a local or global (skeletal) basis so I'm curious why those functions were removed.
As an aside, I am completely overriding the animation by setting the blending 1.0. What I really want is something additive. Is that a worthy request or is there an alternative approach that I should consider? All I can think of as an alternative is doubling the desired deviation and blending by 0.5.