18 lines
606 B
GDScript
18 lines
606 B
GDScript
extends Node
|
|
|
|
class_name FloorMover
|
|
|
|
@export var navigation_agent : NavigationAgent3D
|
|
@export var move_target : Node3D
|
|
|
|
@export_category("Velocity Settings")
|
|
@export var max_speed : float
|
|
@export_range(0,720,0.1,"or_greater","radians_as_degrees","exp") var rotation_speed : float
|
|
|
|
func _physics_process(delta: float) -> void:
|
|
if navigation_agent.is_navigation_finished(): return
|
|
|
|
if navigation_agent.is_target_reachable():
|
|
var pos = navigation_agent.get_next_path_position()
|
|
move_target.look_at(pos)
|
|
move_target.global_position += move_target.global_position.direction_to(pos) * max_speed * delta
|