Commit Graph

46 Commits

Author SHA1 Message Date
Zousar Shaker
3b4c8fc1c5 Automated wrapped object pointer upgrade for Engine + ShooterGame + ShooterGame referenced plugins
#rb none

[CL 15224650 by Zousar Shaker in ue5-main branch]
2021-01-27 17:40:25 -04:00
Aris Theophanidis
761fe05bad [Navigation WP] Properly using the vertical bounds of the collected tiles as the NavigationDataChunkActor bounds
#review @Yoan.StAmant
#rb Yoan.StAmant
#fyi Richard.Malo, JeanFrancois.Dube
#jira none

[CL 14641645 by Aris Theophanidis in ue5-main branch]
2020-11-03 10:20:13 -04:00
Aris Theophanidis
a21499c9a0 [Navigation WP] First pass to generate per cell navigation data and allow navmesh streaming using world partitioning
Addition of ANavigationDataChunkActor, external actors used to hold navdata chunks
Addition of UWorldPartitionBuildNavigationDataCommandlet, commandlet to generate world partition navigation data
At the moment steps to generate a partitioned world with navmesh per cell are:
1) convert world to WP (WorldPartitionConvertCommandlet)
2) generate navigation data chunk actors (WorldPartitionBuildNavigationDataCommandlet)
3) pre cook (WorldPartitionPreCookCommandlet)
4) cook
#review @Yoan.StAmant
#rb Yoan.StAmant

[CL 14396364 by Aris Theophanidis in ue5-main branch]
2020-09-25 11:19:08 -04:00
Marc Audy
7379fa99c5 Merging //UE5/Release-Engine-Staging to Main (//UE5/Main) @ 14229157
[CL 14233282 by Marc Audy in ue5-main branch]
2020-09-01 14:07:48 -04:00
Marc Audy
a7c9001a94 Merging //UE5/Release-Engine-Staging to Main (//UE5/Main) @ 14075166
#rb
#rnx

[CL 14075271 by Marc Audy in ue5-main branch]
2020-08-11 01:36:57 -04:00
Marc Audy
11f5b21210 Merging //UE5/Release-Engine-Staging @ 13752110 to Main (//UE5/Main)
#rnx

[CL 13753156 by Marc Audy in ue5-main branch]
2020-06-23 18:40:00 -04:00
Arne Schober
ee6d0ecb20 M - More renameing the Octree to Octree2 in preparation to add a deprecation for the original class
#RB

[CL 12972489 by Arne Schober in Main branch]
2020-04-21 23:23:12 -04:00
yoan stamant
6091b693a7 [NavigationSystem] Extracted methods from SpawnMissingNavigationData to be able to setup navigation data per ULevel.
#rnx
[at]aris.theophanidis [at]maxime.mercier
#rb aris.theophanidis maxime.mercier

#ROBOMERGE-SOURCE: CL 12653185 via CL 12653192 via CL 12653196
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v675-12543919)

[CL 12653198 by yoan stamant in Main branch]
2020-04-07 09:30:28 -04:00
maxime mercier
50843beca6 Support lazy gathering on child of octree nodes
[at]yoan.stamant [at]stephen.holmes
#rnx

#ROBOMERGE-SOURCE: CL 12486785 via CL 12486790 via CL 12486791 via CL 12486793
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v673-12478461)

[CL 12487596 by maxime mercier in Main branch]
2020-03-30 12:13:52 -04:00
yoan stamant
40b391d62a [Asynchronous Pathfind Queries]
- Added synchronization between the async pathfind queries task and the game thread. The sync point is implemented in OnWorldPostActorTick. This prevents pathfind requests from running at the same time as Navmesh generation tasks or beyond the engine frame boundary.
- Replaced task to broadcast async pathfinding results by a queue that will be flushed by the NavigationSystem udpate. This prevents tasks from being started during loading or other undesired locations.
- Replaced task to register new active path instance by a lock to make sure all paths are registered for potential invalidation before adding a generated tile on the main thread.

#jira UE-71960
#jira UE-85440
[at]aris.theophanidis [at]maxime.mercier
#rb aris.theophanidis maxime.mercier


#ROBOMERGE-SOURCE: CL 12368557 via CL 12368564
#ROBOMERGE-BOT: (v671-12333473)

[CL 12370954 by yoan stamant in Main branch]
2020-03-23 11:01:36 -04:00
stephen holmes
d46374bce0 Work to Deprecate IsNavigationBuildInProgress(bool) and IsBuildInProgress(bool). These functions behave inconsistently between different navmesh build types and were causing issues. Not only that but their default params were set opposite ways (true / false).
[at]Yoan.StAmant [at]Mieszko.Zielinski [at]Maxime.Mercier [at]David.Hamm


#ROBOMERGE-SOURCE: CL 12126550 via CL 12132795
#ROBOMERGE-BOT: (v659-12123632)

[CL 12132919 by stephen holmes in Main branch]
2020-03-11 13:01:04 -04:00
stephen holmes
9545c6f32c Minor changes to previous CLfor moving tile regen time slice management logic to navigation system as suggested by Aris https://p4-swarm.epicgames.net/reviews/11589014/
#rb Aris.Theophanidis


#ROBOMERGE-SOURCE: CL 11871398 via CL 11871432
#ROBOMERGE-BOT: (v656-11643781)

[CL 11886277 by stephen holmes in Main branch]
2020-03-03 16:27:08 -05:00
stephen holmes
a924f5faa1 Work to properly account for time slicing accross multiple generators. The time slicing is now calculated in the navigation system.
The general idea here is to tick any non time sliced generators once per frame. Time sliced generators we aim to tick one per frame and move to the next, next frame.

In the case where one time sliced generator doesn't use the whole time slice we move to the next time sliced generator. That generator will only be considered to have a full frames processing if either it runs out of work or uses a large % of the time slice. Depending we either tick it again next frame or go to the next time sliced generator (next frame).

[at]Yoan.StAmant Aris [at]Aris.Theophanidis


#ROBOMERGE-SOURCE: CL 11628387 via CL 11628394
#ROBOMERGE-BOT: (v656-11643781)

[CL 11805238 by stephen holmes in Main branch]
2020-03-01 01:40:04 -05:00
yoan stamant
aafdd91a93 NavigationDirtyArea: added error reporting for large area dirtying the navigation data
+ added advanced property "DirtyAreaWarningSizeThreshold" in NavigationSystem to report warning logs when tiles larger than the specified threshold are pushed to the dirty queue.
+ error reporting is disabled as long as navigation lock is effective
+ centralized area validations and error reporting inside method FNavigationDirtyAreasController::AddArea and added new optional parameter to retrieve source object

[at]aris.theophanidis [at]maxime.mercier


#ROBOMERGE-SOURCE: CL 11587708 via CL 11587713 via CL 11588090
#ROBOMERGE-BOT: (v654-11333218)

[CL 11592197 by yoan stamant in Main branch]
2020-02-24 18:43:44 -05:00
stephen holmes
e7f00604a4 Simple change to allow better logging of locks and rebuild all to the nav mesh
[at]Yoan.StAmant


#ROBOMERGE-SOURCE: CL 11415477 via CL 11415497
#ROBOMERGE-BOT: (v654-11333218)

[CL 11415498 by stephen holmes in Main branch]
2020-02-13 05:19:52 -05:00
aris theophanidis
b63e665cbf Log NavData registration results
The motivation is to provide a minimum of feedback when failing to register navigation data (ex: if navmesh settings do not fit the project navmesh settings) .
[REVIEW] [at]Yoan.StAmant [at]Mieszko.Zielinski


#ROBOMERGE-SOURCE: CL 11071719 via CL 11071722 via CL 11071725
#ROBOMERGE-BOT: (v637-11041722)

[CL 11071729 by aris theophanidis in Main branch]
2020-01-21 09:12:44 -05:00
ryan durand
0f0464a30e Updating copyright for Engine Runtime.
#rnx
#rb none


#ROBOMERGE-OWNER: ryan.durand
#ROBOMERGE-AUTHOR: ryan.durand
#ROBOMERGE-SOURCE: CL 10869210 via CL 10869511 via CL 10869900
#ROBOMERGE-BOT: (v613-10869866)

[CL 10870549 by ryan durand in Main branch]
2019-12-26 14:45:42 -05:00
Matt Kuhlenschmidt
c0511b26d4 Moved BSP and all the related editor modes to a plugin so it can be disabled in some situations
#ROBOMERGE-OWNER: matt.kuhlenschmidt
#ROBOMERGE-AUTHOR: matt.kuhlenschmidt
#ROBOMERGE-SOURCE: CL 9870262 via CL 9870265
#ROBOMERGE-BOT: (v548-9842178)

#rb chris.gagnon

[CL 9872761 by Matt Kuhlenschmidt in Main branch]
2019-10-28 16:05:49 -04:00
mieszko zielinski
99caddc883 Fixed UNavLinkCustomComponent's issue with unique NavLinkUserId when we can load UNavLinkCustomComponent's owner multipletimes in different places (like when streaming sublevels). This issue made custom links not work reliably when loading serialized navmesh.
As part of the change I've also disabled climb link generation on Athena walls (still enabled in non-Athena games).

#rb Yoan.StAmant, Guillaume.Guay
#rnx
[at]Yoan.StAmant, [at]Stephen.Holmes


#ROBOMERGE-SOURCE: CL 9410194 via CL 9410196 via CL 9410200 via CL 9410201 via CL 9410206
#ROBOMERGE-BOT: (v456-9359915)

[CL 9410207 by mieszko zielinski in Main branch]
2019-10-03 21:47:02 -04:00
Chris Gagnon
8ab0638182 Copying //UE4/Dev-Editor to Dev-Main (//UE4/Dev-Main) for 4.24
#rb none

[CL 9325047 by Chris Gagnon in Main branch]
2019-10-01 20:41:42 -04:00
mieszko zielinski
575c5cc953 Added a function to UNavigationSystemV1 that unregisteres all NavigationData instnces no longer supported by the nav system (as contolled by SupportedAgentsMask)
#rb none
[at]Yoan.StAmant, [at]Stephen.Holmes, [at]Mikko.Mononen


#ROBOMERGE-SOURCE: CL 9038081 via CL 9043888 via CL 9044090
#ROBOMERGE-BOT: (v443-9013191)

[CL 9047383 by mieszko zielinski in Main branch]
2019-09-24 14:17:23 -04:00
mieszko zielinski
28dff6a61f Added a getter for UNavigationSystemV1::SupportedAgentsMask
#rb none


#ROBOMERGE-SOURCE: CL 9022804 via CL 9022808 via CL 9022811
#ROBOMERGE-BOT: (v443-9013191)

[CL 9022814 by mieszko zielinski in Main branch]
2019-09-24 04:29:23 -04:00
mieszko zielinski
38e321e0a0 Added a way to query NavigationSystemV1 for NavigationData corresponding to a given agent name
While modifying NavigationSystemV1 I've extended IsNavigationBuildingLocked with a parameter allowing more precise queries.

#rb Yoan.StAmant, Mikko.Mononen
[at]Yoan.StAmant, [at]Stephen.Holmes, [at]Mikko.Mononen


#ROBOMERGE-SOURCE: CL 8886708 via CL 8886728 via CL 8889423
#ROBOMERGE-BOT: (v427-8887818)

[CL 8889507 by mieszko zielinski in Main branch]
2019-09-19 12:00:05 -04:00
mieszko zielinski
c9c9e0790d Reorganized how we configure SupportedAgents. From now on every NavigationSystem instance has data on the full set of SupportedAgents (as configured via ProjectSettings) but also has a SupportedAgentsMask, that marks agents supported by the instance. It has been done this way to keep filtered per-agent NavMeshBoundVolumes work regardless of which supported agents a nav sys instance wants to support.
This approach allowed for easy NavigationSystem's config update with NavSystemConfigOverride's properties. NavSystemConfigOverride can now specify if it wants to fully override the pre-existing nav sys instance or if it just wants to append new information (like supported agents) to the existing navigation system instance. There's also an option to do nothing if there's already a navigation system present.

This CL rolls-back a bunch of temp fixes done in past couple of days.

#rb Yoan.StAmant
Yoan.StAmant


#ROBOMERGE-OWNER: mieszko.zielinski
#ROBOMERGE-AUTHOR: mieszko.zielinski
#ROBOMERGE-SOURCE: CL 8187661 via CL 8193395 via CL 8207613
#ROBOMERGE-BOT: (v401-8057353)

[CL 8207758 by mieszko zielinski in Main branch]
2019-08-21 23:59:12 -04:00
guillaume guay
2273dc7f19 Deprecating RequestRegistration and adding RequestRegistrationForNextTick since the optional parameter is no more used.
#rb mieszko.zielinski, yoan.stamant


#ROBOMERGE-SOURCE: CL 7935910 via CL 7939385
#ROBOMERGE-BOT: (v391-7919777)

[CL 7939549 by guillaume guay in Main branch]
2019-08-09 20:23:53 -04:00