Godot Version
4.6.stable
Question
I’m trying to make my import script more automatic, and one step I am having trouble with is retargeting my bone map into a saved bone map I have in my files.
Things I’ve tried:
accessing the bone_map through the Skeleton3D does not seem possible.
const BONEMAP : String = "res://Player/Assets/Models/bone_map.tres"
## Other import code here...
func retarget_bone_map(node : Node) -> void:
if node is not Skeleton3D:
for c in node.get_children():
retarget_bone_map(c)
return
node = node as Skeleton3D
node.retarget.bone_map = load(BONEMAP)
ERROR: Invalid access to property or key ‘retarget’ on a base object of type ‘Skeleton3D’.
Accessing the bone_map through a RetargetModifier3D does not seem possible.
const BONEMAP : String = "res://Player/Assets/Models/bone_map.tres"
## Other import code here...
func retarget_bone_map(node : Node) -> void:
if node is not Skeleton3D:
for c in node.get_children():
retarget_bone_map(c)
return
node = node as Skeleton3D
var retarget_mod : RetargetModifier3D
for c in node.get_children():
if c is RetargetModifier3D:
retarget_mod = c as RetargetModifier3D
break
if retarget_mod == null:
retarget_mod = RetargetModifier3D.new()
retarget_mod.name = "RetargetModifier3D"
node.add_child(retarget_mod)
retarget_mod.owner = node.owner
retarget_mod.bone_map = load(BONEMAP)
ERROR: Invalid assignment of property or key ‘bone_map’ with value of type ‘BoneMap’ on a base object of type ‘RetargetModifier3D’.