@export_category("Tracking")
-@export var head_influence: float = 0.5
+@export var head_influence: float = 0.6
@export var eye_influence: float = 1.0
@onready var _animation_tree: AnimationTree = $AnimationTree
-@onready var _head: TrackingBone3D_head = $base/rig/Skeleton3D/head
-@onready var _eye_L: TrackingBone3D = $base/rig/Skeleton3D/eye_L
-@onready var _eye_R: TrackingBone3D = $base/rig/Skeleton3D/eye_R
+@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
-# TODO: eye tracking
func set_eyes_target(target: Vector3) -> void:
for eye in [ _eye_L, _eye_R ]:
eye.target = target
eye.influence = eye_influence
-# TODO: head tracking
func set_head_target(target: Vector3) -> void:
_head.target = target
- _head.active = target != Vector3.ZERO
- _head.influence = head_influence
+ _head.active = 1
+ _head.tween_influence(0.0 if target == Vector3.ZERO else head_influence)
# manage talking and expressions