extends SkeletonModifier3D
@export_enum(" ") var bone: String
-@export var target: Vector3 = Vector3(0, 0, 0)
+@export var target: Node3D = null
@export var influence_lerp_seconds: float = 0.5
@export var rotation_lerp_weight: float = 0.5
func _process_modification() -> void:
+ if target == null:
+ return
+
var current_pose: Transform3D = _skeleton.global_transform * _skeleton.get_bone_global_pose(_bone_idx)
current_pose.basis = old_current_pose.basis
- var target_pose: Transform3D = current_pose.looking_at(target, Vector3.UP)
+ var target_pose: Transform3D = current_pose.looking_at(target.global_position, Vector3.UP)
# TODO: replace this specific code with general purpose modifier
var axis: Vector3 = target_pose.basis.y