remove manual mirrored animations and make flipping automatic

This commit is contained in:
2025-07-02 22:24:30 +10:00
parent ea4e772151
commit 999848ae36
23 changed files with 82 additions and 1910 deletions

View File

@@ -13,7 +13,7 @@ var _skeleton: Skeleton3D
func _validate_property(property: Dictionary) -> void:
if property.name == "_bones_to_flip" or property.name == "_bones_to_exclude":
if property.name in ["_bones_to_flip", "_bones_to_exclude"]:
if _skeleton:
property.hint = PROPERTY_HINT_TYPE_STRING
property.hint_string = (
@@ -90,7 +90,9 @@ func _flip_bone(bone_idx: int, bone_name: String) -> void:
func _mirror_bone_transform(bone_idx: int, pose: Transform3D) -> void:
pose.origin.x = -pose.origin.x
var pose_rot := pose.basis.get_euler()
pose_rot.z = -pose_rot.z
var pose_scale := pose.basis.get_scale()
pose_rot.y = -pose_rot.y
pose_rot.z = -pose_rot.z
pose.basis = Basis.from_euler(pose_rot)
pose.basis = pose.basis.scaled(pose_scale)
_skeleton.set_bone_pose(bone_idx, pose)