deposit bot head looks at player
This commit is contained in:
@@ -4,7 +4,7 @@ class_name CharacterState
|
||||
@export var character : CharacterBody3D
|
||||
@export var move_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 poi_investigate : bool = false
|
||||
@export var poi_change_to_search : bool = false
|
||||
|
||||
@@ -8,12 +8,21 @@ func Enter():
|
||||
get_new_wander_point()
|
||||
|
||||
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 character.nav_agent.is_navigation_finished():
|
||||
get_new_wander_point()
|
||||
else:
|
||||
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():
|
||||
var x = randf_range(-wander_distance_max,wander_distance_max)
|
||||
var z = randf_range(-wander_distance_max,wander_distance_max)
|
||||
|
||||
@@ -2,7 +2,8 @@ extends CharacterBody3D
|
||||
|
||||
@export var state_machine : StateMachine
|
||||
@export var nav_agent : NavigationAgent3D
|
||||
|
||||
@export var head : Node3D
|
||||
@onready var player = get_tree().current_scene.player
|
||||
|
||||
func _process(delta: float) -> void:
|
||||
move_and_slide()
|
||||
|
||||
Reference in New Issue
Block a user