class_name GrunkBeast extends CharacterBody3D ## Grunk beast controller @export var base_speed := 1.0 var gravity: Vector3 = ( ProjectSettings.get_setting("physics/3d/default_gravity") * ProjectSettings.get_setting("physics/3d/default_gravity_vector") ) @onready var nav_agent: NavigationAgent3D = %NavAgent func _physics_process(delta: float) -> void: var path_pos := nav_agent.get_next_path_position() var relative_pos := path_pos - global_position var motion := relative_pos.normalized() * base_speed * delta velocity.x = motion.x velocity.z = motion.z if not is_on_floor(): velocity += gravity * delta move_and_slide() func track_player() -> void: if Player.instance: nav_agent.target_position = Player.instance.global_position