- Edited
I have a rigged model where I want to scale parts of the bones and have it animated. Here is my code.
extends Skeleton3D
# Store the default bone transformation.
var default_root_transform : Transform3D
func _ready():
var root_index := find_bone("root")
default_root_transform = get_bone_rest(root_index)
set_bone_rest(root_index, default_root_transform.scaled(Vector3(2, 2, 2)))
force_update_bone_child_transform(root_index)
The code simply scales up the root bone.
The problem is that it doesn't work when there is an animation and I can clearly see from the print statement that rest pose has been successfully changed.
The only way that the I can see the scaling work is when I enable Show Rest Only in the Skeleton Node.
Am I doing something wrong or are there additional steps to run the animation on top of the bone's new rest transform?