Commit Graph

30 Commits (fe84b84b51df1ff6db658f521d1040aa563cedd0)

Author SHA1 Message Date
Thaddeus Crews 86002e1a3c
Merge pull request #100882 from smix8/node_navmesh_geo_parsers
Make nodes handle their respective navigation source geometry
2025-01-16 17:18:01 +07:00
smix8 a7520fca6a Add functions to get axis-aligned bounds of navigation regions
Adds functions to get the navigation mesh Rect2 of a NavigationRegion2D or AABB of a NavigationRegion3D.
2025-01-13 20:18:33 +07:00
smix8 0ed2cb0439 Make nodes handle their respective navigation source geometry
Makes nodes handle their respective navigation source geometry.
2025-01-12 13:14:46 +07:00
A Thousand Ships a1846b27ea
Improve use of `Ref.is_null/valid`
Use `is_null` over `!is_valid` and vice versa.
2024-12-23 16:35:02 +07:00
smix8 d51615b334 Change navigation map synchronization to an async process
Changes the navigation map synchronization to an async process to avoid stalling the main thread.
2024-12-22 02:03:59 +07:00
smix8 476479419b Despaghettify NavigationServer path queries
Despaghettify NavigationServer path queries.
2024-12-11 22:29:48 +07:00
Kiro 3a946aaa73 fixed navigation obstacle carving broken during 07b7f76 2024-11-15 13:47:47 +07: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 +07:00
Rie e39fc3e8c2 Make use of NavigationObstacle2D's transform 2024-11-11 23:34:47 +07:00
Kiro 07b7f76896
Improve `NavMeshGenerator2D::generator_bake_from_source_geometry_data` performance
Avoid copies and redundant work.
2024-11-11 12:31:19 +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 +07: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 +07:00
A Thousand Ships e33fdb4296
Use `MutexLock` in more places 2024-08-29 14:12:59 +07: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 +07: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 +07: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 +07:00
Gilles Roudière 1a380db62a Fix crash when baking TileMap navigation 2024-05-27 10:46:54 +07:00
Gilles Roudière 23b9a9f2de Fix TileMapLayer navmesh baking 2024-05-02 18:06:23 +07:00
smix8 6a4d8d4b5c Change 2D navigation mesh baking to use floating point coordinates
Replaces internal uses of Clipper2 integer structs to their floating point equivalents.
2024-04-23 10:28:43 +07:00
smix8 58593d1bb7 Add navigation source geometry parser callbacks
Adds navigation source geometry parser callbacks so that externals can hook their own geometry into the navigation mesh baking process.
2024-04-19 12:10:57 +07:00
Aaron Franke 77e35cf781
Move NavigationMeshSourceGeometryData(2D/3D) to the 2D/3D subfolders 2024-04-15 18:40:43 +07:00
Rémi Verschelde 4a4d6df04e
Merge pull request #90508 from smix8/thread_bake
Use threads for baking navigation mesh inside editor
2024-04-12 11:16:50 +07:00
smix8 1c134f4a3d Add navigation path simplification
Adds navigation path simplification for NavigationServer and NavigationAgent.
2024-04-11 12:32:21 +07:00
smix8 2bc2b52bd1 Use threads for baking navigation mesh inside editor
Enables threaded navigation mesh baking inside the editor.
2024-04-11 03:53:26 +07:00
smix8 d6ddeec0fd Make 2D navigation mesh baking parse all TileMapLayers
Makes 2D navigation mesh baking parse all TileMapLayers.
2024-04-04 10:45:53 +07:00
smix8 5d5e85fe07 Add NavigationObstacle options to affect and carve navigation mesh
Adds NavigationObstacle options to affect and carve navigation mesh.
2024-03-15 01:45:44 +07:00
Jakub Marcowski 973448ec4c
clipper2: Update to 1.3.0 2024-03-01 11:12:59 +07:00
smix8 35dafc9fa8 Split monolithic physics class files
Splits monolithic physics class files.
2024-02-27 11:18:16 +07:00
Aaron Franke 1cb531ddb6
Move 2D-only resources to their own folder 2024-02-26 05:22:45 +07:00
Aaron Franke fd582dca62
Move 2D-only navigation code to its own subfolder 2024-02-26 04:18:13 +07:00