From f90693c3cf19dad3742701458b89a79bcfbf7a45 Mon Sep 17 00:00:00 2001 From: smix8 <52464204+smix8@users.noreply.github.com> Date: Wed, 15 Feb 2023 13:21:07 +0100 Subject: [PATCH] Add NavigationAgent.is_navigation_finished() early return to script examples to avoid in-place jitter Adds early return to script examples for NavigationAgent path following when NavigationAgent.is_navigation_finished() is true. --- tutorials/navigation/navigation_introduction_2d.rst | 4 ++-- tutorials/navigation/navigation_introduction_3d.rst | 4 ++-- tutorials/navigation/navigation_using_navigationagents.rst | 6 ++++++ 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/tutorials/navigation/navigation_introduction_2d.rst b/tutorials/navigation/navigation_introduction_2d.rst index fd5cd58a6..35292ed41 100644 --- a/tutorials/navigation/navigation_introduction_2d.rst +++ b/tutorials/navigation/navigation_introduction_2d.rst @@ -123,7 +123,7 @@ NavigationServer2D and a NavigationAgent2D for path movement. navigation_agent.set_target_location(movement_target) func _physics_process(delta): - if navigation_agent.is_target_reached(): + if navigation_agent.is_navigation_finished(): return var current_agent_position : Vector2 = global_transform.origin @@ -173,7 +173,7 @@ NavigationServer2D and a NavigationAgent2D for path movement. { base._PhysicsProcess(delta); - if (_navigationAgent.IsTargetReached()) + if (_navigationAgent.IsNavigationFinished()) { return; } diff --git a/tutorials/navigation/navigation_introduction_3d.rst b/tutorials/navigation/navigation_introduction_3d.rst index 439fdabd5..d41857569 100644 --- a/tutorials/navigation/navigation_introduction_3d.rst +++ b/tutorials/navigation/navigation_introduction_3d.rst @@ -131,7 +131,7 @@ a NavigationAgent3D for path movement. navigation_agent.set_target_position(movement_target) func _physics_process(delta): - if navigation_agent.is_target_reached(): + if navigation_agent.is_navigation_finished(): return var current_agent_position : Vector3 = global_transform.origin @@ -180,7 +180,7 @@ a NavigationAgent3D for path movement. { base._PhysicsProcess(delta); - if (_navigationAgent.IsTargetReached()) + if (_navigationAgent.IsNavigationFinished()) { return; } diff --git a/tutorials/navigation/navigation_using_navigationagents.rst b/tutorials/navigation/navigation_using_navigationagents.rst index 533965f81..8cc140b08 100644 --- a/tutorials/navigation/navigation_using_navigationagents.rst +++ b/tutorials/navigation/navigation_using_navigationagents.rst @@ -167,6 +167,8 @@ This script adds basic navigation movement to a Node3D with a NavigationAgent3D navigation_agent.set_target_position(movement_target) func _physics_process(delta): + if navigation_agent.is_navigation_finished(): + return movement_delta = movement_speed * delta var next_path_position : Vector3 = navigation_agent.get_next_path_position() @@ -197,6 +199,8 @@ This script adds basic navigation movement to a CharacterBody3D with a Navigatio navigation_agent.set_target_position(movement_target) func _physics_process(delta): + if navigation_agent.is_navigation_finished(): + return movement_delta = movement_speed * delta var next_path_position : Vector3 = navigation_agent.get_next_path_position() @@ -226,6 +230,8 @@ This script adds basic navigation movement to a RigidBody3D with a NavigationAge navigation_agent.set_target_position(movement_target) func _physics_process(delta): + if navigation_agent.is_navigation_finished(): + return var next_path_position : Vector3 = navigation_agent.get_next_path_position() var current_agent_position : Vector3 = global_transform.origin