fix: use raw integer 1 for TYPE_ROTATION and remove unused param

- Animation.TYPE_ROTATION doesn't exist as enum in Godot 4.2.1
- Use raw integer: add_track(1) for ROTATION
- Remove unused 'length' parameter from _add_rot_track
- Rename 'name' to 'anim_name' to avoid shadowing Node.name
- Remove all extra parameters from _add_rot_track calls
This commit is contained in:
2026-06-25 12:21:56 -04:00
parent aa9a957eac
commit 6cfa8aa631
+19 -19
View File
@@ -153,11 +153,11 @@ func _ensure_locomotion_animations(ap: AnimationPlayer) -> void:
_create_and_play_anim(ap, "Jump", _create_jump_anim())
_create_and_play_anim(ap, "Idle", _create_idle_anim())
func _create_and_play_anim(ap: AnimationPlayer, name: String, anim: Animation) -> void:
func _create_and_play_anim(ap: AnimationPlayer, anim_name: String, anim: Animation) -> void:
var lib = ap.get_animation_library("")
if lib.has_animation(name):
lib.remove_animation(name)
lib.add_animation(name, anim)
if lib.has_animation(anim_name):
lib.remove_animation(anim_name)
lib.add_animation(anim_name, anim)
func _create_walk_anim() -> Animation:
var anim = Animation.new()
@@ -167,27 +167,27 @@ func _create_walk_anim() -> Animation:
anim.length = cycle
# Add rotation tracks for each bone using type=1 (ROTATION)
_add_rot_track(anim, "LeftUpperLeg", cycle, [
_add_rot_track(anim, "LeftUpperLeg", [
{"t": 0.0, "euler": Vector3(-0.6, 0, 0)},
{"t": cycle * 0.5, "euler": Vector3(0.6, 0, 0)},
{"t": cycle, "euler": Vector3(-0.6, 0, 0)}
])
_add_rot_track(anim, "RightUpperLeg", cycle, [
_add_rot_track(anim, "RightUpperLeg", [
{"t": 0.0, "euler": Vector3(0.6, 0, 0)},
{"t": cycle * 0.5, "euler": Vector3(-0.6, 0, 0)},
{"t": cycle, "euler": Vector3(0.6, 0, 0)}
])
_add_rot_track(anim, "LeftUpperArm", cycle, [
_add_rot_track(anim, "LeftUpperArm", [
{"t": 0.0, "euler": Vector3(-0.4, 0, 0)},
{"t": cycle * 0.5, "euler": Vector3(0.4, 0, 0)},
{"t": cycle, "euler": Vector3(-0.4, 0, 0)}
])
_add_rot_track(anim, "RightUpperArm", cycle, [
_add_rot_track(anim, "RightUpperArm", [
{"t": 0.0, "euler": Vector3(0.4, 0, 0)},
{"t": cycle * 0.5, "euler": Vector3(-0.4, 0, 0)},
{"t": cycle, "euler": Vector3(0.4, 0, 0)}
])
_add_rot_track(anim, "Spine", cycle, [
_add_rot_track(anim, "Spine", [
{"t": 0.0, "euler": Vector3(0, 0, 0)},
{"t": cycle * 0.25, "euler": Vector3(0, 0.1, 0)},
{"t": cycle * 0.5, "euler": Vector3(0, 0, 0)},
@@ -206,22 +206,22 @@ func _create_jump_anim() -> Animation:
anim.length = 1.0
anim.loop_mode = Animation.LOOP_LINEAR
_add_rot_track(anim, "LeftUpperArm", 1.0, [
_add_rot_track(anim, "LeftUpperArm", [
{"t": 0.0, "euler": Vector3(0, 0, 0)},
{"t": 0.5, "euler": Vector3(-1.2, 0, 0)},
{"t": 1.0, "euler": Vector3(0, 0, 0)}
])
_add_rot_track(anim, "RightUpperArm", 1.0, [
_add_rot_track(anim, "RightUpperArm", [
{"t": 0.0, "euler": Vector3(0, 0, 0)},
{"t": 0.5, "euler": Vector3(-1.2, 0, 0)},
{"t": 1.0, "euler": Vector3(0, 0, 0)}
])
_add_rot_track(anim, "LeftUpperLeg", 1.0, [
_add_rot_track(anim, "LeftUpperLeg", [
{"t": 0.0, "euler": Vector3(0, 0, 0)},
{"t": 0.5, "euler": Vector3(-0.3, 0, 0)},
{"t": 1.0, "euler": Vector3(0, 0, 0)}
])
_add_rot_track(anim, "RightUpperLeg", 1.0, [
_add_rot_track(anim, "RightUpperLeg", [
{"t": 0.0, "euler": Vector3(0, 0, 0)},
{"t": 0.5, "euler": Vector3(-0.3, 0, 0)},
{"t": 1.0, "euler": Vector3(0, 0, 0)}
@@ -233,30 +233,30 @@ func _create_idle_anim() -> Animation:
anim.length = 2.0
anim.loop_mode = Animation.LOOP_LINEAR
_add_rot_track(anim, "Spine", 2.0, [
_add_rot_track(anim, "Spine", [
{"t": 0.0, "euler": Vector3(0, 0, 0)},
{"t": 1.0, "euler": Vector3(0.02, 0, 0)},
{"t": 2.0, "euler": Vector3(0, 0, 0)}
])
_add_rot_track(anim, "Head", 2.0, [
_add_rot_track(anim, "Head", [
{"t": 0.0, "euler": Vector3(0, 0, 0)},
{"t": 1.0, "euler": Vector3(0.03, 0.02, 0)},
{"t": 2.0, "euler": Vector3(0, 0, 0)}
])
_add_rot_track(anim, "LeftUpperArm", 2.0, [
_add_rot_track(anim, "LeftUpperArm", [
{"t": 0.0, "euler": Vector3(0, 0, 0)},
{"t": 1.0, "euler": Vector3(0.02, 0, 0.05)},
{"t": 2.0, "euler": Vector3(0, 0, 0)}
])
_add_rot_track(anim, "RightUpperArm", 2.0, [
_add_rot_track(anim, "RightUpperArm", [
{"t": 0.0, "euler": Vector3(0, 0, 0)},
{"t": 1.0, "euler": Vector3(0.02, 0, -0.05)},
{"t": 2.0, "euler": Vector3(0, 0, 0)}
])
return anim
func _add_rot_track(anim: Animation, bone_name: String, length: float, keyframes: Array) -> void:
var track = anim.add_track(1) # TYPE_ROTATION
func _add_rot_track(anim: Animation, bone_name: String, keyframes: Array) -> void:
var track = anim.add_track(1) # TYPE_ROTATION = 1
anim.track_set_path(track, "MikuRig/Skeleton3D:" + bone_name)
anim.track_set_interpolation_type(track, Animation.INTERPOLATION_LINEAR)
for kf in keyframes: