Feat/14 movement overhaul #20
@@ -256,11 +256,11 @@ func _create_idle_anim() -> Animation:
|
|||||||
return anim
|
return anim
|
||||||
|
|
||||||
func _add_rot_track(anim: Animation, bone_name: String, keyframes: Array) -> void:
|
func _add_rot_track(anim: Animation, bone_name: String, keyframes: Array) -> void:
|
||||||
var track = anim.add_track(1) # TYPE_ROTATION = 1
|
var track = anim.add_track(0) # TYPE_VALUE = 0 (required in Godot 4.2.1)
|
||||||
anim.track_set_path(track, "MikuRig/Skeleton3D:" + bone_name)
|
anim.track_set_path(track, "MikuRig/Skeleton3D:" + bone_name)
|
||||||
anim.track_set_interpolation_type(track, Animation.INTERPOLATION_LINEAR)
|
anim.track_set_interpolation_type(track, Animation.INTERPOLATION_LINEAR)
|
||||||
for kf in keyframes:
|
for kf in keyframes:
|
||||||
# Use Vector3 euler angles (NOT Quaternion) - Godot 4.2.1 expects euler Vector3
|
# Use Vector3 euler angles - Godot 4.2.1 accepts both Vector3 and Quaternion
|
||||||
anim.track_insert_key(track, kf["t"], kf["euler"])
|
anim.track_insert_key(track, kf["t"], kf["euler"])
|
||||||
|
|
||||||
func _is_animation_broken(ap: AnimationPlayer, anim_name: String) -> bool:
|
func _is_animation_broken(ap: AnimationPlayer, anim_name: String) -> bool:
|
||||||
|
|||||||
Reference in New Issue
Block a user