6e73fd7703b8ee861446d4c747266d6dfb20d2e5
CRITICAL DISCOVERY: set_bone_global_pose_override() does NOT affect the MeshInstance3D skinning pipeline. It only changes get_bone_global_pose() return value. The actual skinning uses rest * pose * parent transforms. The correct approach: 1. Stop AnimationPlayer (ap.stop() + ap.active = false) 2. Set local pose = rest_local_quat * offset_quat 3. This makes the final bone transform = rest * (rest * offset) = rest * offset 4. The skinning pipeline correctly uses this for vertex deformation Also discovered: set_bone_pose_rotation() only works when AP is stopped. When AP is active, it overwrites the local pose every frame.
Description
No description provided
167 MiB
Languages
GDScript
80.2%
Python
19.2%
GDShader
0.5%