3 const JIGGLEBONE_SCENE = preload("res://addons/jigglebones/jigglebone.gd")
6 @export var enable_jigglebones := true
7 @export var jigglebone_configs: Array[JiggleboneConfig]
10 # Called when the node enters the scene tree for the first time.
11 func _ready() -> void:
12 if enable_jigglebones:
13 print("Adding jigglebones to skeleton: " + name)
17 func _add_jigglebones() -> void:
18 for i in get_bone_count():
19 var bone_name = get_bone_name(i)
20 for cfg in jigglebone_configs:
21 if bone_name.contains(cfg.name_pattern):
22 var jigglebone = JIGGLEBONE_SCENE.new()
23 jigglebone.name = "Jigglebone_" + bone_name
24 jigglebone.bone_name = bone_name
25 jigglebone.stiffness = cfg.stiffness
26 jigglebone.damping = cfg.damping
27 jigglebone.forward_axis = cfg.forward_axis
28 jigglebone.use_gravity = cfg.use_gravity
30 print("Jigglebone added: \"" + jigglebone.name + "\" -> \"" + bone_name + "\"")