deposit bot head looks at player

This commit is contained in:
derek
2025-05-12 11:39:14 -05:00
parent 3179170603
commit 971ec93e35
4 changed files with 610 additions and 6 deletions

File diff suppressed because one or more lines are too long

View File

@@ -4,7 +4,7 @@ class_name CharacterState
@export var character : CharacterBody3D @export var character : CharacterBody3D
@export var move_speed : float = 3 @export var move_speed : float = 3
@export var body_turn_speed : float = 3 @export var body_turn_speed : float = 3
@export var turret_speed : float = 6.0 @export var head_turn_speed : float = 6.0
@export var can_see : bool = true # indicates whether the character is able to see things in the state @export var can_see : bool = true # indicates whether the character is able to see things in the state
@export var poi_investigate : bool = false @export var poi_investigate : bool = false
@export var poi_change_to_search : bool = false @export var poi_change_to_search : bool = false

View File

@@ -8,12 +8,21 @@ func Enter():
get_new_wander_point() get_new_wander_point()
func Update(delta): func Update(delta):
update_look_target()
rotate_to_face3D(character.head,look_target,Vector3.ZERO,delta,head_turn_speed)
#if navigation is finished get new point, otherwise continue on path #if navigation is finished get new point, otherwise continue on path
if character.nav_agent.is_navigation_finished(): if character.nav_agent.is_navigation_finished():
get_new_wander_point() get_new_wander_point()
else: else:
move_to_nav_point(delta) move_to_nav_point(delta)
func update_look_target():
var player = get_tree().current_scene.player
if character.global_position.distance_to(player.global_position) < 5:
look_target = player
else:
look_target = move_target
func get_new_wander_point(): func get_new_wander_point():
var x = randf_range(-wander_distance_max,wander_distance_max) var x = randf_range(-wander_distance_max,wander_distance_max)
var z = randf_range(-wander_distance_max,wander_distance_max) var z = randf_range(-wander_distance_max,wander_distance_max)

View File

@@ -2,7 +2,8 @@ extends CharacterBody3D
@export var state_machine : StateMachine @export var state_machine : StateMachine
@export var nav_agent : NavigationAgent3D @export var nav_agent : NavigationAgent3D
@export var head : Node3D
@onready var player = get_tree().current_scene.player
func _process(delta: float) -> void: func _process(delta: float) -> void:
move_and_slide() move_and_slide()