Tweak NavigationAgent2D defaults
Tweaks default values for NavigationAgent2D to work better out of the box within a new 2D project using default resolution.
This commit is contained in:
@@ -94,9 +94,9 @@ void NavigationAgent2D::_bind_methods() {
|
||||
|
||||
ADD_GROUP("Pathfinding", "");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "target_location", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NO_EDITOR), "set_target_location", "get_target_location");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "path_desired_distance", PROPERTY_HINT_RANGE, "0.1,100,0.01,suffix:px"), "set_path_desired_distance", "get_path_desired_distance");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "target_desired_distance", PROPERTY_HINT_RANGE, "0.1,100,0.01,suffix:px"), "set_target_desired_distance", "get_target_desired_distance");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "path_max_distance", PROPERTY_HINT_RANGE, "10,100,1,suffix:px"), "set_path_max_distance", "get_path_max_distance");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "path_desired_distance", PROPERTY_HINT_RANGE, "0.1,1000,0.01,suffix:px"), "set_path_desired_distance", "get_path_desired_distance");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "target_desired_distance", PROPERTY_HINT_RANGE, "0.1,1000,0.01,suffix:px"), "set_target_desired_distance", "get_target_desired_distance");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "path_max_distance", PROPERTY_HINT_RANGE, "10,1000,1,suffix:px"), "set_path_max_distance", "get_path_max_distance");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::INT, "navigation_layers", PROPERTY_HINT_LAYERS_2D_NAVIGATION), "set_navigation_layers", "get_navigation_layers");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::INT, "path_metadata_flags", PROPERTY_HINT_FLAGS, "Include Types,Include RIDs,Include Owners"), "set_path_metadata_flags", "get_path_metadata_flags");
|
||||
|
||||
@@ -105,8 +105,8 @@ void NavigationAgent2D::_bind_methods() {
|
||||
ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "radius", PROPERTY_HINT_RANGE, "0.1,500,0.01,suffix:px"), "set_radius", "get_radius");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "neighbor_distance", PROPERTY_HINT_RANGE, "0.1,100000,0.01,suffix:px"), "set_neighbor_distance", "get_neighbor_distance");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::INT, "max_neighbors", PROPERTY_HINT_RANGE, "1,10000,1"), "set_max_neighbors", "get_max_neighbors");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "time_horizon", PROPERTY_HINT_RANGE, "0.1,10000,0.01,suffix:s"), "set_time_horizon", "get_time_horizon");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "max_speed", PROPERTY_HINT_RANGE, "0.1,100000,0.01,suffix:px/s"), "set_max_speed", "get_max_speed");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "time_horizon", PROPERTY_HINT_RANGE, "0.1,10,0.01,suffix:s"), "set_time_horizon", "get_time_horizon");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "max_speed", PROPERTY_HINT_RANGE, "0.1,10000,0.01,suffix:px/s"), "set_max_speed", "get_max_speed");
|
||||
|
||||
ADD_SIGNAL(MethodInfo("path_changed"));
|
||||
ADD_SIGNAL(MethodInfo("target_reached"));
|
||||
@@ -182,11 +182,11 @@ void NavigationAgent2D::_notification(int p_what) {
|
||||
|
||||
NavigationAgent2D::NavigationAgent2D() {
|
||||
agent = NavigationServer2D::get_singleton()->agent_create();
|
||||
set_neighbor_distance(500.0);
|
||||
set_max_neighbors(10);
|
||||
set_time_horizon(20.0);
|
||||
set_radius(10.0);
|
||||
set_max_speed(200.0);
|
||||
set_neighbor_distance(neighbor_distance);
|
||||
set_max_neighbors(max_neighbors);
|
||||
set_time_horizon(time_horizon);
|
||||
set_radius(radius);
|
||||
set_max_speed(max_speed);
|
||||
|
||||
// Preallocate query and result objects to improve performance.
|
||||
navigation_query = Ref<NavigationPathQueryParameters2D>();
|
||||
|
||||
@@ -50,15 +50,15 @@ class NavigationAgent2D : public Node {
|
||||
uint32_t navigation_layers = 1;
|
||||
BitField<NavigationPathQueryParameters2D::PathMetadataFlags> path_metadata_flags = NavigationPathQueryParameters2D::PathMetadataFlags::PATH_METADATA_INCLUDE_ALL;
|
||||
|
||||
real_t path_desired_distance = 1.0;
|
||||
real_t target_desired_distance = 1.0;
|
||||
real_t radius = 0.0;
|
||||
real_t neighbor_distance = 0.0;
|
||||
int max_neighbors = 0;
|
||||
real_t time_horizon = 0.0;
|
||||
real_t max_speed = 0.0;
|
||||
real_t path_desired_distance = 20.0;
|
||||
real_t target_desired_distance = 10.0;
|
||||
real_t radius = 10.0;
|
||||
real_t neighbor_distance = 500.0;
|
||||
int max_neighbors = 10;
|
||||
real_t time_horizon = 1.0;
|
||||
real_t max_speed = 100.0;
|
||||
|
||||
real_t path_max_distance = 3.0;
|
||||
real_t path_max_distance = 100.0;
|
||||
|
||||
Vector2 target_location;
|
||||
bool target_position_submitted = false;
|
||||
|
||||
Reference in New Issue
Block a user