X-Git-Url: http://git.purplebirdman.com/william-skin.git/blobdiff_plain/35a4c6f3a69fe09240d6edc885c0d63539e4fe82..c92b8f1fd53dee92846473ca69f62de008b07509:/william.gd diff --git a/william.gd b/william.gd index 253ac50..24dcd5b 100644 --- a/william.gd +++ b/william.gd @@ -11,19 +11,20 @@ extends Node3D @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