1
0
Fork 0
Commit Graph

267 Commits

Author SHA1 Message Date
Rémi Verschelde 7f3a8d0b1b
Merge pull request #97928 from kiroxas/navImprovement
Improve `NavMeshQueries3D::polygons_get_closest_point_info` performance
2024-12-02 15:50:11 +01:00
Kiro 4f17a7428b polygons_get_closest_point_info use edge check instead of triangulation 2024-11-29 16:00:04 +01:00
smix8 ba5a3577a5 Make NavMap objects request sync only on demand
Replaces brute-force sync check loop with a self-listing system where each object is responsible for its own dirty sync, requesting it on demand only.
2024-11-27 01:00:07 +01:00
smix8 37c3907d0e Change navigation map performance monitor to use a struct
Changes navigation map performance monitor to use a struct as it is easier to pass to sub functions.
2024-11-24 13:27:45 +01:00
Kiro 3a946aaa73 fixed navigation obstacle carving broken during 07b7f76 2024-11-15 13:47:47 +01:00
Thaddeus Crews e960aa319f
Merge pull request #99030 from tracefree/obstacle_2d_transform
Make use of NavigationObstacle2D's transform
2024-11-12 09:28:03 -06:00
Rie e39fc3e8c2 Make use of NavigationObstacle2D's transform 2024-11-11 23:34:47 +01:00
Thaddeus Crews 848d90837e
Merge pull request #96730 from tracefree/properly_transforming_obstacles
Make use of NavigationObstacle3D's transform
2024-11-11 14:18:33 -06:00
Kiro 07b7f76896
Improve `NavMeshGenerator2D::generator_bake_from_source_geometry_data` performance
Avoid copies and redundant work.
2024-11-11 12:31:19 +01:00
Rie 44ef3d35eb Make use of NavigationObstacle3D's transform
Co-authored-by: a0kami <dev.aokami@netc.fr>
2024-11-10 17:08:12 +01:00
smix8 b840c9837a Reduce allocations for NavMap synchronisation
Improves navigation map sync performance be avoiding unnecessary memory allocations.
2024-11-05 22:10:53 +01:00
Thaddeus Crews 2450dee1bc
Merge pull request #93401 from Repiteo/style/clang-tidy-fixes
Style: Apply `clang-tidy` fixes
2024-11-04 21:52:05 -06:00
Thaddeus Crews 6206578060
Merge pull request #90182 from Zylann/nav_map_optimizations
Optimize some parts of `NavMap::sync`
2024-11-04 21:51:52 -06:00
Thaddeus Crews 89a311205f
Style: Apply `clang-tidy` fixes
• `modernize-use-default-member-init` and `readability-redundant-member-init`
• Minor adjustments to `.clang-tidy` to improve syntax & remove redundancies
2024-11-04 12:11:06 -06:00
Thaddeus Crews 696ca9db3c
Merge pull request #98039 from aaronfranke/button-icon
Rename internal Button `*_icon` functions to `*_button_icon` to match exposed methods
2024-10-29 19:25:59 -05:00
Aaron Franke 562c666e3d
Rename internal Button icon to button_icon to match exposed methods 2024-10-29 16:23:03 -07:00
Adam Scott 0d350e7108
Set clang-format `RemoveSemicolon` rule to `true`
- Set clang-format `Standard` rule to `c++20`
2024-10-25 13:49:43 -04:00
Marc Gilleron a92e1d4a20 Optimize some parts of NavMap::sync 2024-10-19 14:58:49 +01:00
Zi Ye db194f06e1 Replaced some distance checks with square distance checks in NavMap, wherever the purpose is only to find the nearest element. 2024-10-15 22:06:35 -05:00
Thaddeus Crews 9f9ee0c813
SCons: Add unobtrusive type hints in SCons files 2024-09-25 09:34:35 -05:00
Thaddeus Crews b37fc1014a
Style: Apply new `clang-format` changes 2024-09-20 08:09:48 -05:00
Rémi Verschelde b6906b9677
Merge pull request #96389 from kitbdev/extract-main-screen
Extract EditorMainScreen from EditorNode
2024-09-11 12:34:46 +02:00
smix8 287fdb16d5 Add navigation region point and segment queries
Adds point and segment queries for regions, e.g. closet point, point normal, or segment intersection.
2024-09-10 01:38:46 +02:00
kit 5e1c9d68aa Extract editor main screen 2024-09-09 11:06:18 -04:00
smix8 a4cfc77dc0 Move NavigationServer mesh queries to dedicated file
Moves all the navigation mesh query related functions from NavMap and NavRegion to a dedicated file and makes them static.
2024-09-03 13:16:35 +02:00
Rémi Verschelde e004ae7bbe
Merge pull request #85965 from ershn/use_heap_in_astar_path_finding
Improve pathfinding performance by using a heap to store traversable polygons
2024-09-03 11:42:48 +02:00
Ershn c3ee32f106 Use a heap to store traversable polygons for pathfinding 2024-09-01 11:24:14 +09:00
A Thousand Ships e33fdb4296
Use `MutexLock` in more places 2024-08-29 14:12:59 +02:00
Pawel Lampe c3f1bfd5cb Extract navigation-related defaults to separate header 2024-08-27 20:12:10 +02:00
Rémi Verschelde 0274508647
Merge pull request #93498 from smix8/connection_relocation
Move NavRegion connections to NavMap
2024-08-19 16:05:05 +02:00
Rémi Verschelde da57bab169
Merge pull request #92560 from smix8/navmesh2d_bake_partition
Add triangulation partition option to 2D navigation mesh baking
2024-08-19 16:04:49 +02:00
Rémi Verschelde dbf4be308c
Merge pull request #93583 from smix8/obstacle_monitor
Add navigation obstacles to performance monitor stats
2024-08-16 23:45:10 +02:00
kobewi 065dd099dd Remove empty bind_methods() 2024-08-15 08:24:32 +02:00
smix8 110b2dc61a Add triangulation partition option to 2D navigation mesh baking
Adds triangulation partition option to 2D navigation mesh baking as an alternative to the existing convex partition option.
2024-08-05 00:08:46 +02:00
Artem b8fc6b4979
NavigationServer3D.map_get_closest_point_to_segment - add an additional shortest distance check
For a case when shortest distance is between some point located on a face's
edge and some point located on a line segment.
2024-06-29 19:50:10 +02:00
smix8 f9876d3a88 Add navigation obstacles to performance monitor stats
Adds navigation obstacle count to navigation performance monitor.
2024-06-25 05:17:27 +02:00
smix8 83bd8fa396 Move NavRegion connections to NavMap
Moves bookkeeping for connections from region to map where connections are actually made.
2024-06-23 14:49:35 +02:00
smix8 40fc299aa3 Remove unused navigation polygon properties
Removes unused navigation polygon properties, a leftover from the old Godot 3 days that used polygon center to polygon center distance for (rather inaccurate) pathfinding cost calculation.
2024-06-22 21:55:48 +02:00
smix8 eba3acadac Fix thread-use causing navigation polygon data corruption
Fixes navigation polygon  data corruption caused by thread-use that changed vertices or polygons while the navigation polygon was processed, e.g. by server region sync, navmesh baking or user thread updates.
2024-06-21 12:58:03 +02:00
Rémi Verschelde 04a530f91f
Merge pull request #93407 from smix8/lock_this_geometry_up
Fix thread-use causing navigation source geometry data corruption
2024-06-21 10:14:38 +02:00
smix8 fd727ab994 Fix thread use causing navigation mesh data corruption
Fixes navigation mesh data corruption caused by thread use that changed vertices or polygons while the navigation mesh was processed, e.g. by server sync or baking.
2024-06-21 09:39:16 +02:00
smix8 d4722b9e1f Fix thread-use causing navigation source geometry data corruption
Fixes navigation source geometry data corruption caused by thread-use that changed vertices or indices while the source geometry data was used in a parsing process or read from by the navmesh baking.
2024-06-21 08:06:14 +02:00
Artem 4ed747e255 Fixed closest edge and face check in NavigationServer3D.map_get_closest_point_to_segment 2024-06-17 15:34:46 +04:00
Per Melin 9b191f669c Fix NavigationServer3D.get_closest_point_to_segment() with use_collision 2024-06-07 14:24:39 +02:00
Gilles Roudière 1a380db62a Fix crash when baking TileMap navigation 2024-05-27 10:46:54 +02:00
smix8 4128c7b311 Remove duplicated vertices after 3D NavigationMesh bake
Removes duplicated vertices that may exist on shared polygon corners after a ReCast navigation mesh bake.
2024-05-21 14:18:32 +02:00
A Thousand Ships ee79386f7b
[Scene] Add SceneStringNames::pressed 2024-05-14 15:51:28 +02:00
A Thousand Ships 86de59d60a
[Core] Add `LocalVector::has` for convenience 2024-05-06 18:03:37 +02:00
Gilles Roudière 23b9a9f2de Fix TileMapLayer navmesh baking 2024-05-02 18:06:23 +02:00
Aaron Franke 1bcbbe96c4
Organize existing code for editor plugins 2024-04-27 11:59:58 -07:00