remove manual mirrored animations and make flipping automatic
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user