@onready var _head: TrackingBone3D_head = $base/rig/Skeleton3D/track_head
@onready var _eye_L: TrackingBone3D = $base/rig/Skeleton3D/track_eye_L
@onready var _eye_R: TrackingBone3D = $base/rig/Skeleton3D/track_eye_R
+@onready var _default_target = $defaultTrackingTarget
-func set_eyes_target(target: Vector3) -> void:
+func set_eyes_target(target: Node3D) -> void:
for eye in [ _eye_L, _eye_R ]:
- eye.target = target
- eye.active = target != Vector3.ZERO
+ eye.target = target if target != null else _default_target
+ eye.active = 1
eye.influence = eye_influence
-func set_head_target(target: Vector3) -> void:
- _head.target = target
+func set_head_target(target: Node3D) -> void:
+ _head.target = target if target != null else _default_target
_head.active = 1
- _head.tween_influence(0.0 if target == Vector3.ZERO else head_influence)
+ _head.tween_influence(0.0 if target == null else head_influence)
# manage talking and expressions