mirror of
https://github.com/godotengine/godot-docs.git
synced 2026-01-05 22:09:56 +03:00
Merge pull request #8886 from skyace65/VelocityChange
Replace set_velocity with velocity property
This commit is contained in:
@@ -98,7 +98,7 @@ The ``velocity_computed`` signal of the NavigationAgent node must be connected t
|
||||
|
||||
.. image:: img/agent_safevelocity_signal.png
|
||||
|
||||
Use ``set_velocity()`` on the NavigationAgent node in ``_physics_process()`` to update the agent with the current velocity of the agent's parent node.
|
||||
Set the ``velocity`` of the NavigationAgent node in ``_physics_process()`` to update the agent with the current velocity of the agent's parent node.
|
||||
|
||||
While avoidance is enabled on the agent the ``safe_velocity`` vector will be received with the velocity_computed signal every physics frame.
|
||||
This velocity vector should be used to move the NavigationAgent's parent node in order to avoidance collision with other avoidance using agents or avoidance obstacles.
|
||||
@@ -204,7 +204,7 @@ This script adds basic navigation movement to a :ref:`Node3D <class_Node3D>` wit
|
||||
var next_path_position: Vector3 = navigation_agent.get_next_path_position()
|
||||
var new_velocity: Vector3 = global_position.direction_to(next_path_position) * movement_delta
|
||||
if navigation_agent.avoidance_enabled:
|
||||
navigation_agent.set_velocity(new_velocity)
|
||||
navigation_agent.velocity = new_velocity
|
||||
else:
|
||||
_on_velocity_computed(new_velocity)
|
||||
|
||||
@@ -237,7 +237,7 @@ This script adds basic navigation movement to a :ref:`CharacterBody3D <class_Cha
|
||||
var next_path_position: Vector3 = navigation_agent.get_next_path_position()
|
||||
var new_velocity: Vector3 = global_position.direction_to(next_path_position) * movement_speed
|
||||
if navigation_agent.avoidance_enabled:
|
||||
navigation_agent.set_velocity(new_velocity)
|
||||
navigation_agent.velocity = new_velocity
|
||||
else:
|
||||
_on_velocity_computed(new_velocity)
|
||||
|
||||
@@ -271,7 +271,7 @@ This script adds basic navigation movement to a :ref:`RigidBody3D <class_RigidBo
|
||||
var next_path_position: Vector3 = navigation_agent.get_next_path_position()
|
||||
var new_velocity: Vector3 = global_position.direction_to(next_path_position) * movement_speed
|
||||
if navigation_agent.avoidance_enabled:
|
||||
navigation_agent.set_velocity(new_velocity)
|
||||
navigation_agent.velocity = new_velocity
|
||||
else:
|
||||
_on_velocity_computed(new_velocity)
|
||||
|
||||
|
||||
@@ -41,30 +41,8 @@ Synchronization for the NavigationServer happens in the middle of the physics fr
|
||||
The important takeaway is that most NavigationServer changes take effect after the next physics frame and not immediately.
|
||||
This includes all changes made by navigation related nodes in the scene tree or through scripts.
|
||||
|
||||
The following functions will be executed in the synchronization phase only:
|
||||
|
||||
- ``map_set_active()``
|
||||
- ``map_set_up()``
|
||||
- ``map_set_cell_size()``
|
||||
- ``map_set_edge_connection_margin()``
|
||||
- ``region_set_map()``
|
||||
- ``region_set_transform()``
|
||||
- ``region_set_enter_cost()``
|
||||
- ``region_set_travel_cost()``
|
||||
- ``region_set_navigation_layers()``
|
||||
- ``region_set_navigation_mesh()``
|
||||
- ``agent_set_map()``
|
||||
- ``agent_set_neighbor_dist()``
|
||||
- ``agent_set_max_neighbors()``
|
||||
- ``agent_set_time_horizon()``
|
||||
- ``agent_set_radius()``
|
||||
- ``agent_set_max_speed()``
|
||||
- ``agent_set_velocity()``
|
||||
- ``agent_set_target_velocity()``
|
||||
- ``agent_set_position()``
|
||||
- ``agent_set_ignore_y()``
|
||||
- ``agent_set_callback()``
|
||||
- ``free()``
|
||||
.. note::
|
||||
All setters and delete functions require synchronization.
|
||||
|
||||
2D and 3D NavigationServer differences
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
@@ -175,7 +153,7 @@ The simplified order of execution for NavigationAgents that use avoidance:
|
||||
|
||||
- physics frame starts.
|
||||
- ``_physics_process(delta)``.
|
||||
- ``set_velocity()`` on NavigationAgent Node.
|
||||
- ``velocity`` property is set on NavigationAgent Node.
|
||||
- Agent sends velocity and position to NavigationServer.
|
||||
- NavigationServer waits for synchronization.
|
||||
- NavigationServer synchronizes and computes avoidance velocities for all registered avoidance agents.
|
||||
|
||||
Reference in New Issue
Block a user