Commit Graph

613 Commits

Author SHA1 Message Date
aris theophanidis
059927f853 [Navmesh] Optimizations when marking dirty tiles
Extracted finding the seeds and building sub areas to do it once for all NavData
ActiveTiles now use a set instead of an array
When using active tiles, don't try to mark dirtytiles if there is no ActiveTiles
Fixed warning message for oversized dirtyarea to use the AdjustedAreaSize
Addition of profile tags
#rb Mieszko.Zielinski

[CL 30573089 by aris theophanidis in ue5-main branch]
2024-01-11 13:49:14 -05:00
nicolas bonnelly
c75e0c266b *Added an optional ReachCheck on NavLinkCustomInterface to allow navlinks to override the basic reach test done by the PathFollowingComponent.
*Improved the path ReachCheck for existing custom links.

[REVIEW] [at]Frederic.Doll, [at]Aris.Theophanidis
#tests NPC navigation in PIE
#rb Aris.Theophanidis, frederic.doll

[CL 30557271 by nicolas bonnelly in ue5-main branch]
2024-01-10 19:47:43 -05:00
yoan stamant
2f3d181ba5 [NavigationSystem] fixed UpdateActorAndComponentsInNavOctree to properly update attached actors
#rb Aris.Theophanidis

[CL 30491899 by yoan stamant in ue5-main branch]
2024-01-08 17:31:28 -05:00
yoan stamant
a67de4810f [NavigationSystem] Added cheat command 'ai.debug.nav.DirtyAreaAroundPlayer' that can be used with dynamic navmesh to dirty tiles in a square area around the local player using provided value as extent (in cm) or 10 meters if not specified.
#rb Aris.Theophanidis

[CL 30491394 by yoan stamant in ue5-main branch]
2024-01-08 17:18:18 -05:00
aris theophanidis
0072fb1325 Second part to fixing DynamicModifierOnly navmesh missing tiles when using nav modifiers.
Don't add an unused area modifier to ANavModifierVolume when using navmesh resolution.
When adding dirty areas make sure to prevent bRebuildGeometry for game world static navmeshes.
#rb mikko.mononen

[CL 30380468 by aris theophanidis in ue5-main branch]
2023-12-18 13:53:05 -05:00
robert seiver
03127d1c6f Two small fixes to SplineNavModifierComponent: flipped a condition for error logging, and accounted for the owner transform when calculating bounds
<saved by Perforce>
[FYI] Alban.Bergeret
#jira UE-202492

[CL 30292343 by robert seiver in ue5-main branch]
2023-12-13 09:59:54 -05:00
robert seiver
85aac003ed Added a new type of NavModifierComponent which assigns a given nav area to all parts of the nav mesh in the vicinity of a spline.
#rb mikko.mononen, aris.theophanidis, mieszko.zielinski

[CL 30274853 by robert seiver in ue5-main branch]
2023-12-12 15:42:16 -05:00
klukule
e2944be8a5 PR #11080: Change bit-field type from int32 to uint32 in FRecastDebugGeometry
#rb mikko.mononen
#jira UE-200082

[CL 30212943 by klukule in ue5-main branch]
2023-12-08 12:01:22 -05:00
aris theophanidis
d2df222d65 [Navmesh] Update navmesh display lines to better distinguish edges borders and polygons borders.
#rb Yoan.StAmant

[CL 30147417 by aris theophanidis in ue5-main branch]
2023-12-05 22:32:45 -05:00
jonathan bard
85278e1fb3 Visual logger improvements :
* Added sphere visual logs
* Added "wire" variant of various visual logs (box, OO box, cone, cylinder, capsule, sphere)
* Added blueprint versions of most visual logs (box, OO box, cone, cylinder, capsule, sphere, arrow, circle)
* Take into account the log's color's alpha value when drawing visual logs (multiplied by the scene proxy's own alpha), except for text, as is tends to become unreadable
* Fixed oriented box debug renders, which didn't support rotations appropriately (they wouldn't match the wireframe version)
* Fixed cylinder debug renders which were always vertical (!)
* Skip visual logs with empty text in the visual logger window's tooltip

Misc :
* Deprecated the awful overload-based FVisualLogger::GeometryShapeLogf / FVisualLogEntry::AddElement API
#rb Yoan.StAmant
#tests editor

[CL 30047522 by jonathan bard in ue5-main branch]
2023-12-01 13:48:31 -05:00
aris theophanidis
0cbb215c7d [Navmesh] Tile generation debug improvements:
- addition of an options to skip contour simplification and display raw contours;
- addition of text labels to FRecastInternalDebugData;
- addition of indexes and coordinates to contour debug edges, allowing to identify them individually.
#rb mikko.mononen

[CL 29994972 by aris theophanidis in ue5-main branch]
2023-11-29 14:14:09 -05:00
frederic doll
e5ec641dc9 Add a way to register a Navigation Invoker based on UObject with a INavigationInvokerInterface instead of an AActor.
#rb Aris.Theophanidis

[CL 29887626 by frederic doll in ue5-main branch]
2023-11-22 09:29:32 -05:00
marc audy
763a611985 Fix C4072 warnings
#rnx

[CL 29852844 by marc audy in ue5-main branch]
2023-11-20 17:26:53 -05:00
aris theophanidis
22020b2574 [Navigation] Prevent addition of objects with empty bounds to the navigation octree.
#rb Yoan.StAmant

[CL 29754038 by aris theophanidis in ue5-main branch]
2023-11-15 14:00:55 -05:00
aris theophanidis
4e60ce6adb Rollback recently added ensures, they get triggered by preexisting conditions that needs investigation.
#rb Yoan.StAmant

[CL 29753951 by aris theophanidis in ue5-main branch]
2023-11-15 13:59:05 -05:00
aris theophanidis
877551e4d3 Navmesh resolution from modifiers is now correctly read when used with in async tile generation combined with lazy modifier gathering.
#rb Yoan.StAmant
#tests Tested in PIE and cook

[CL 29752057 by aris theophanidis in ue5-main branch]
2023-11-15 13:10:16 -05:00
yoan stamant
dd97a4653c NavTestRenderingComponent defines cleanup
#rb Aris.Theophanidis

[CL 29746255 by yoan stamant in ue5-main branch]
2023-11-15 10:24:28 -05:00
aris theophanidis
50aed692b7 [Navmesh] Apply AgentStepHeight from FNavDataConfig only if there is an override (restoring behavior before change in CL 29416144).
#rb Yoan.StAmant

[CL 29496731 by aris theophanidis in ue5-main branch]
2023-11-06 14:58:42 -05:00
aris theophanidis
b804c74a54 Addition of NavigationBuildDetailed CSV profile tags in the NavigationSystem tick.
#rb Yoan.StAmant

[CL 29496678 by aris theophanidis in ue5-main branch]
2023-11-06 14:57:31 -05:00
aris theophanidis
cf4bc8f18e [Navmesh] Fix AgentStepHeight not set in NavDataConfig
#rb Mikko.Mononen
#rb Yoan.StAmant

[CL 29426642 by aris theophanidis in ue5-main branch]
2023-11-03 18:32:05 -04:00
aris theophanidis
dccd3d541d CIS fix
#rb trivial

[CL 29255245 by aris theophanidis in ue5-main branch]
2023-10-30 18:35:25 -04:00
aris theophanidis
84e7e976c1 [Navigation] Optimization to RemoveTiles and addition of profile tags to UpdateActiveTiles()
#rb Yoan.StAmant

[CL 29252623 by aris theophanidis in ue5-main branch]
2023-10-30 17:51:48 -04:00
yoan stamant
7a102e17b3 [Navigation]
- Added flag in FNavigationRelevantData to indicates elements that want to skip dirty areas when added/removed from the NavigationOctree.
- Method ShouldSkipDirtyAreaOnAddOrRemove has been added to INavRelevantInterface to control the flag.
- UpdateNavOctreeElementBounds now takes a list of dirty areas instead of a single area to allow batched modifications.

UInstancedStaticMeshComponent updates:
- Added a cache for navigation bounds
- Implements ShouldSkipDirtyAreaOnAddOrRemove so we don't dirty the whole area covered by the instances on registration but only a list of explicit areas using the instances.
- Added PartialNavigationUpdates for batched modifications
- Fixed partial update not sending the right area for the original position
#rb aris.theophanidis
#rb mikko.mononen
#rb mieszko.zielinski
#jira UE-195210#preflight 653bd451cc4d2d32203134e5

[CL 29185555 by yoan stamant in ue5-main branch]
2023-10-27 12:18:00 -04:00
aris theophanidis
b9841144b8 [Navigation] Using VeryVerbose verbosity, LogNavigationDirtyArea now logs purple boxes showing dirty areas that will dirty tiles.
#rb Yoan.StAmant

[CL 29151709 by aris theophanidis in ue5-main branch]
2023-10-26 17:40:07 -04:00
ryan gerleve
b4d090d05d Improve memory debugging with additional LLM tags.
#rb Aris.Theophanidis, jonathan.bard, julien.lheureux, matt.harris

[CL 29102830 by ryan gerleve in ue5-main branch]
2023-10-25 17:03:12 -04:00