debug: add error logging to animation creation

This commit is contained in:
2026-06-25 15:51:38 -04:00
parent 9da0bc3297
commit 252137d10b
+9 -3
View File
@@ -153,6 +153,7 @@ func _create_and_play_anim(ap: AnimationPlayer, anim_name: String, anim: Animati
if lib.has_animation(anim_name):
lib.remove_animation(anim_name)
lib.add_animation(anim_name, anim)
print("SkinnedPlayerModel: replaced '%s' with %d tracks" % [anim_name, anim.get_track_count()])
func _create_walk_anim() -> Animation:
var anim = Animation.new()
@@ -251,13 +252,18 @@ func _create_idle_anim() -> Animation:
return anim
func _add_rot_track(anim: Animation, bone_name: String, keyframes: Array) -> void:
var track = anim.add_track(Animation.TYPE_ROTATION_3D) # TYPE_ROTATION_3D = 2
var track = anim.add_track(Animation.TYPE_ROTATION_3D)
if track < 0:
print("SkinnedPlayerModel: ERROR failed to add rotation track for " + bone_name)
return
anim.track_set_path(track, "MikuRig/Skeleton3D:" + bone_name)
anim.track_set_interpolation_type(track, Animation.INTERPOLATION_LINEAR)
for kf in keyframes:
# Rotation tracks require Quaternion values
var quat = Quaternion.from_euler(kf["rot"])
anim.track_insert_key(track, kf["t"], quat)
var err = anim.track_insert_key(track, kf["t"], quat)
if err != OK:
print("SkinnedPlayerModel: ERROR inserting key for " + bone_name + " t=" + str(kf["t"]))
print("SkinnedPlayerModel: rotation track '%s' has %d keys" % [bone_name, anim.track_get_key_count(track)])
func _is_animation_broken(ap: AnimationPlayer, anim_name: String) -> bool:
## Returns true if the animation has near-zero motion (Blender GLTF track stripping).