Commit Graph

692 Commits

Author SHA1 Message Date
james keeling
f0de298d88 Fix crash when generating navmesh tiles if DirtyLayers has not been initialized.
#rb Aris.Theophanidis
#jira UE-218388

[CL 34528491 by james keeling in ue5-main branch]
2024-06-20 10:21:07 -04:00
aris theophanidis
e7a03b8a83 Navlink generation improvements
Trim source edge tips to account for edges overlapping rasterization borders
Fix some links not connecting to navmesh because they where generated to high
Fix to the 'jump over starting distance'
Addition of descriptions to jump config properties
Small improvements to ARecastNavMesh::PostEditChangeChainProperty
#jira UE-213923
#rb Yoan.StAmant

[CL 34476916 by aris theophanidis in ue5-main branch]
2024-06-18 16:28:54 -04:00
james keeling
c98731a1c9 Remove inline macro for GetEdgesForPathCorridorImpl so derived classes of ARecastNavMesh can call function.
#rb Aris.Theophanidis

[CL 34465412 by james keeling in ue5-main branch]
2024-06-18 12:21:51 -04:00
jerad dunn
d58ced4fa4 Wrapping recently-introduced FNavTileRef usage with WITH_RECAST to fix build errors when it is not defined
#rb Aris.Theophanidis
[FYI] Sergio.Gardeazabal

[CL 34461137 by jerad dunn in ue5-main branch]
2024-06-18 10:54:39 -04:00
kevin macaulayvacher
276d09f6df Remove all simple usage of REN_ForceNoResetLoaders from the codebase since the flag has been deprecated and currently does nothing. Simple in this case is direct use of the flag with no conditional logic. More complex uses were removed in another change.
#rnx
#rb Francis.Hurteau

[CL 34424068 by kevin macaulayvacher in ue5-main branch]
2024-06-17 11:55:02 -04:00
ben woodhouse
2ea61ce0c6 Switch to CSV_PROFILER_STATS instead of CSV_PROFILER for various profiling subsystems. This allows them to be compiled out when CSV_PROFILER_MINIMAL is defined.
As part of this change we also promote dynamic resolution and IO/PackageQueueDepth stats to Minimal since they're important for high level performance reporting.
Also fix up a few places that were redundantly using #if CSV_PROFILER around CSV macros.

#rb mickael.gilabert

[CL 34386798 by ben woodhouse in ue5-main branch]
2024-06-14 18:16:47 -04:00
jerad dunn
e35d4256be Adding a public function to ARecastNavMesh to allow users to directly grab all exterior navmesh edges from a provided tile. Includes renaming/deprecating the PImpl version of this function.
[REVIEW] [at]Aris.Theophanidis [at]Mieszko.Zielinski
#rb Aris.Theophanidis

[CL 34311669 by jerad dunn in ue5-main branch]
2024-06-12 12:20:47 -04:00
aris theophanidis
bfb7c3e854 Navlink generation improvements
Ignore portal edges when looking for jumps
Added the filtering distance threshold to the link builder configuration
Improved link width computation
Improved filtering of overlapping links
Disable asymetric border sizes for now (using it can result in missing links)
Remove the extra 3 voxels on borders for link generation
Keep source edge on links for debug purposes
Add display of heightfield layers to the tile debug display
Added option to draw filtered links
Rebuild navmesh when navlink generation configuration changes
#rb Mieszko.Zielinski
#jira UE-213923

[CL 34296705 by aris theophanidis in ue5-main branch]
2024-06-11 20:08:54 -04:00
frederic doll
057b754d71 Add way to test the NavigationData's Raycast method in NavigationTestingActor
#rb Aris.Theophanidis, Mieszko.Zielinski

[CL 34156524 by frederic doll in ue5-main branch]
2024-06-06 10:20:33 -04:00
jerad dunn
2ace977614 - Deprecating a handful of navigation functions that used raw tile indices. Instead they are replaced with versions that use safe FNavTileRefs
- Converting over current uses of the freshly-deprecated functions to work with FNavTileRefs
- Adding a new function to ARecastNavMesh in order to retrieve FNavTileRefs for all currently-active tiles in the mesh
- Providing a GetTypeHash implementation for FNavTileRefs so they can be used in certain container types

[REVIEW] [at]Aris.Theophanidis [at]Mieszko.Zielinski
#rb Aris.Theophanidis

[CL 34135347 by jerad dunn in ue5-main branch]
2024-06-05 15:11:10 -04:00
frederic doll
27a1d6a308 RecastNavmeshGenerator cleanup undefined methods and unused macros
#rb Mieszko.Zielinski, Aris.Theophanidis

[CL 34107791 by frederic doll in ue5-main branch]
2024-06-04 17:31:30 -04:00
frederic doll
03a1e863dd Templatize FRunningTileElement so that it can be used by other NavigationDataGenerator
#rb mieszko.zielinski, aris.theophanidis

[CL 34103788 by frederic doll in ue5-main branch]
2024-06-04 15:31:42 -04:00
robert seiver
af510ef4ca Fixed a bug with a loop variable
[CL 34041976 by robert seiver in ue5-main branch]
2024-05-31 16:01:46 -04:00
robert seiver
c26dedd143 When in the editor with a World Partitioned map, only build the nav mesh inside of loaded areas
#rb Aris.Theophanidis

[CL 34040972 by robert seiver in ue5-main branch]
2024-05-31 15:46:06 -04:00
frederic doll
32d3ed150c Expose some RecastNavmesh methods for use outside of the engine
#rb Aris.Theophanidis

[CL 34038955 by frederic doll in ue5-main branch]
2024-05-31 14:58:53 -04:00
brandon schaefer
d1becd40a2 Remove the now deleted option to EnableAutoRTFM, this is default and now youve to explicitly disable it for a module
#rb neil.henning

[CL 34015057 by brandon schaefer in ue5-main branch]
2024-05-30 18:00:50 -04:00
aris theophanidis
873e351117 [NavMesh] Fix crash when changing TileSizeUU value
#rb jacob.wang

[CL 33984207 by aris theophanidis in ue5-main branch]
2024-05-29 15:44:55 -04:00
aris theophanidis
707528b4ca [NavMesh] Optimisation: navlink generation now uses asymmetric border sizes.
It's now possible to build navmesh tiles with border sizes that are not equal all around.
When computing the extra borders to generate navlinks, borders are now asymmetric (increased only on one side of the axis)
This reduces substantially the size of the required heightfield and reduces by half the added cost of building links.
Added the ai.nav.UseAsymetricBorderSizes console command to deactivate the feature
Added AverageLinkBuildTime in the navmesh debug display
Also made sure not to compute border distance for disabled configurations
#rb mikko.mononen
#jira UE-213923

[CL 33922611 by aris theophanidis in ue5-main branch]
2024-05-27 08:26:28 -04:00
frederic doll
aabaea1ef0 Prevent crash when using NavQueryFilter with no implementation in the NavTestingActor
#rb Mieszko.Zielinski

[CL 33861442 by frederic doll in ue5-main branch]
2024-05-23 10:25:35 -04:00
frederic doll
17e15a079b Extract loop that notify the navigation data about which invokers are currently active
#rb Aris.Theophanidis

[CL 33829475 by frederic doll in ue5-main branch]
2024-05-22 10:42:58 -04:00
aris theophanidis
98138a3e0e [NavMesh] NavLink generation
Using inline containers to limit dynamic allocations
Added options to toggle usage of link configs
Added build time in the display stats and added logs
#jira UE-213923
#rb mikko.mononen

[CL 33809987 by aris theophanidis in ue5-main branch]
2024-05-21 17:09:32 -04:00
frederic doll
8ed3931ea8 Expose FRecastGeometryExport struct. This allows us to :
- share the struct with other navigation data generators
- use it directly where needed instead of using the RecastNavMeshGenerator (e.g. NagivationSystem, NavigationDataHandler, etc.)
#rb Aris.Theophanidis
[FYI] mieszko.zielinski

[CL 33807192 by frederic doll in ue5-main branch]
2024-05-21 16:01:41 -04:00
alex kahn
730fb5f899 [Backout] - CL33802742 - CIS Compile Error
#rnx
[FYI] Aris.Theophanidis
Original CL Desc
-----------------------------------------------------------------
[NavMesh] NavLink generation
Using inline containers to limit dynamic allocations
Added options to toggle usage of link configs
Added build time in the display stats and added logs
#jira UE-213923
#rb mikko.mononen

[CL 33807075 by alex kahn in ue5-main branch]
2024-05-21 15:59:15 -04:00
aris theophanidis
421d819570 [NavMesh] NavLink generation
Using inline containers to limit dynamic allocations
Added options to toggle usage of link configs
Added build time in the display stats and added logs
#jira UE-213923
#rb mikko.mononen

[CL 33806057 by aris theophanidis in ue5-main branch]
2024-05-21 15:38:40 -04:00
aris theophanidis
e99fb6f898 Navlink generation optimizations
Use stack allocator to allocate samples
Added profiler events
Addition of a parameter to reduce sampling precision
Added edge index labels to the diplay allowing to inspect a specific edge easily
#jira UE-213923
#rb mikko.mononen

[CL 33659685 by aris theophanidis in ue5-main branch]
2024-05-15 11:19:57 -04:00