Merge pull request #83740 from smix8/ships_racing_akiens

Solve race condition between AThousandShips and Akien
This commit is contained in:
Rémi Verschelde 2023-10-22 12:12:40 +02:00
commit 8942b88f09
No known key found for this signature in database
GPG key ID: C3336907360768E1
2 changed files with 4 additions and 6 deletions

View file

@ -168,7 +168,7 @@
The height of the avoidance agent. Agents will ignore other agents or obstacles that are above or below their current position + height in 2D avoidance. Does nothing in 3D avoidance which uses radius spheres alone. The height of the avoidance agent. Agents will ignore other agents or obstacles that are above or below their current position + height in 2D avoidance. Does nothing in 3D avoidance which uses radius spheres alone.
</member> </member>
<member name="keep_y_velocity" type="bool" setter="set_keep_y_velocity" getter="get_keep_y_velocity" default="true"> <member name="keep_y_velocity" type="bool" setter="set_keep_y_velocity" getter="get_keep_y_velocity" default="true">
If [code]true[/code] and the agent uses 2D avoidance it will remember the set y-axis velocity and reapply it after the avoidance step. While 2D avoidance has no y-axis and simulates on a flat plane this setting can help mitigate the most obvious clipping on uneven 3D geometry. If [code]true[/code], and the agent uses 2D avoidance, it will remember the set y-axis velocity and reapply it after the avoidance step. While 2D avoidance has no y-axis and simulates on a flat plane this setting can help mitigate the most obvious clipping on uneven 3D geometry.
</member> </member>
<member name="max_neighbors" type="int" setter="set_max_neighbors" getter="get_max_neighbors" default="10"> <member name="max_neighbors" type="int" setter="set_max_neighbors" getter="get_max_neighbors" default="10">
The maximum number of neighbors for the agent to consider. The maximum number of neighbors for the agent to consider.

View file

@ -311,11 +311,9 @@ void NavigationAgent3D::_notification(int p_what) {
} }
void NavigationAgent3D::_validate_property(PropertyInfo &p_property) const { void NavigationAgent3D::_validate_property(PropertyInfo &p_property) const {
if (p_property.name == "keep_y_velocity") { if (p_property.name == "keep_y_velocity" && use_3d_avoidance) {
if (use_3d_avoidance) { p_property.usage = PROPERTY_USAGE_NONE;
p_property.usage = PROPERTY_USAGE_NONE; return;
return;
}
} }
} }