Commit Graph

38 Commits

Author SHA1 Message Date
stephen holmes
9ef8a34b02 Adding CSV perf stats
[at]Mieszko.Zielinski


#ROBOMERGE-SOURCE: CL 8428126 via CL 8439014
#ROBOMERGE-BOT: (v404-8404397)

[CL 8439268 by stephen holmes in Main branch]
2019-09-03 18:15:50 -04:00
mieszko zielinski
7964042869 CIS fix
#rb none


#ROBOMERGE-SOURCE: CL 8191556 via CL 8194115 via CL 8207744
#ROBOMERGE-BOT: (v401-8057353)

[CL 8207917 by mieszko zielinski in Main branch]
2019-08-22 00:00:51 -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
yoan stamant
c1a425a2d4 NavSystem: Prevent AbstractNavData from being rejected during NavigationData registration. Problem was exposed by recent change to the order in which NavDataRegistrationQueue is processed. Since AbstractNavData uses the default config, it was rejected since another navigation data was already registered for the same agent config (which was not the case when AbstractNavData was processed first). With this change, we should no longer be dependant on the registration order.
#jira UE-78811
[at]guillaume.guay [at]mieszko.zielinski


#ROBOMERGE-SOURCE: CL 8119051 via CL 8122721
#ROBOMERGE-BOT: (v401-8057353)

[CL 8124722 by yoan stamant in Main branch]
2019-08-20 09:59:05 -04:00
Marc Audy
1c3be81dca Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 7950634
#rb
#rnx

[CL 7950994 by Marc Audy in Dev-Framework branch]
2019-08-12 12:52:39 -04:00
Marc Audy
3d0b873e3f Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 7712956
#rb
#rnx

[CL 7713270 by Marc Audy in Dev-Framework branch]
2019-08-04 15:53:40 -04:00
guillaume guay
a8821f80b4 - Added navigation system config 'bUseNavDataInAdditionalLevelWhenDuplicatedAgent". When set to TRUE, adding or streaming an additional level containing an already registered navigation data, it will unregister current one and register the new one;
- Added navigation system config 'bGenerateNavDataWhenNoCompatibleNavBound". When set to TRUE (default) it will still generate navigation data if any NavBoundVolume is compatible with its NavDataConfig, if false it gets rid of that navigation data;
- Make sure that when "bSpawnNavDataInNavBoundsLevel" is TRUE, it builds the navigation data in the first level containing a NavBoundVolume that actually supports this navigation data config (not any first one);
- Added virtual method on NavigateSystem "OnNavSystemOverriden" to give a chance to inspect previous NavigationSystem when getting overriden by a nav config override;
- Added some missing NavigationSystem clean up logic.

#tests client/server standalone Creative AI, Phoebe and regular + editor
#cr maxime.mercier
[FYI] mieszko.zielinski, stephen.holmes, yoan.stamant


#ROBOMERGE-OWNER: guillaume.guay
#ROBOMERGE-AUTHOR: guillaume.guay
#ROBOMERGE-SOURCE: CL 7679442 via CL 7679443 via CL 7688466
#ROBOMERGE-BOT: (v383-7686620)

[CL 7688470 by guillaume guay in Main branch]
2019-08-01 12:53:04 -04:00
Marc Audy
f3f7604cd4 Merge UE4/Main to Dev-Framework @ 7329145
#rb
#rnx

[CL 7415594 by Marc Audy in Dev-Framework branch]
2019-07-17 12:57:46 -04:00
yoan stamant
d29f1887a0 Added number of dirty areas to GameplayDebugger category navmesh
#rnx
[at]maxime.mercier
#rb guillaume.guay


#ROBOMERGE-SOURCE: CL 7289773 via CL 7306493
#ROBOMERGE-BOT: (v370-7290619)

[CL 7306546 by yoan stamant in Main branch]
2019-07-15 06:42:54 -04:00
Marc Audy
278eda75dd Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 7234503
#rb
#rnx

[CL 7263339 by Marc Audy in Dev-Framework branch]
2019-07-10 13:47:03 -04:00
mieszko zielinski
f7f3268d52 Extracted NavigationSystemV1's logic concerning NavOctree and navigation DirtyAreas into a separate structures for reusability
Notable changes:
- Added FNavigationOctreeController that wraps up what used to be NavigationSystemV1's navoctree-related logic
- Added FNavigationDirtyAreasController that wraps up what used to be NavigationSystemV1's DirtyAreas-related logic
- Added FNavigationDataHandler that is a helper struct that wraps up what used to be NavigationSystemV1's logic related to operation involving both navoctree and dirty areas
- Deprecated both FNavDataConfig.NavigationDataClass and FNavDataConfig.NavigationDataClassName and replaced them with a single NavDataClass property
- FNavigationOctree is not responsible for hashing element objects and storing their ElementId
- NavOctree elements how know about the octree they belong to (via a member property).

[at]Yoan.StAmant, [at]Maxime.Mercier, [at]Guillaume.Guay
#rb Yoan.StAmant


#ROBOMERGE-OWNER: mieszko.zielinski
#ROBOMERGE-AUTHOR: mieszko.zielinski
#ROBOMERGE-SOURCE: CL 7249089 via CL 7262555
#ROBOMERGE-BOT: (v369-7254125)

[CL 7262559 by mieszko zielinski in Main branch]
2019-07-10 13:31:21 -04:00
Yoan StAmant
534afb4738 Dynamic Obstacle support for Instanced Static Mesh or Hierarchical Instanced Static Mesh Component
FRecastTileGenerator & FRecastNavMeshGenerator
* Better support for transformation of per instance Convex shapes in MarkDynamicArea (replacing PartialTransformConvexHull)
* Added Per Instance modifier support in GrabDebugSnapshot for VisualLogger (both Geomerty export & AreaNavModifier)
* Added Per Instance modifier support in ExportNavigationData (both Geomerty export & AreaNavModifier)

FCompositeNavModifier
* Deprecated PerInstanceTransformDelegate code since it is unused and duplicated functionality handled by FNavigationRelevantData
* Added flag to mark as a PerInstance modifier

Fixed NavigationDataDump when default FBox is used (since GetVolume will be computed from uninitialized values)

#jira UE-71481
#review-6893930 @mieszko.zielinski
#rb mieszko.zielinski

[CL 6912667 by Yoan StAmant in Dev-Framework branch]
2019-06-10 12:57:10 -04:00
christopher moritz
02c14e857d -Adding additional validation to ensure the element index is properly within the element bounds before accessing.
[REVIEW] [at]Josh.May, [at]Maxime.Mercier, [at]Tim.Tillotson, [at]Yoan.StAmant

[FYI] [at]Mieszko.Zielinski


#ROBOMERGE-SOURCE: CL 6868479 via CL 6868482 via CL 6868488 via CL 6868976 via CL 6870366
#ROBOMERGE-BOT: (v366-6836689)

[CL 6870484 by christopher moritz in Main branch]
2019-06-06 19:00:59 -04:00
Mieszko Zielinski
167345c8eb Fixed NavModifierVolume not updating navmesh upon undoing changes in the editor
#jira UE-57115
#rb none

[CL 6663464 by Mieszko Zielinski in Dev-Framework branch]
2019-05-29 09:38:42 -04:00
Mieszko Zielinski
b51e0bbe37 Un-virtualized UNavigationSystemV1::AddDirtyArea before it gets shipped in 4.23 #UE4 #Athena
It wasn't virtual pre-4.23 and was added to accomodate on of the internal project's requirements. I've refactored the project-specific code to not need it.
This change is required in support of the soon-to-come navigation system refactor/extension.

#jira none
#review-6618928 @Yoan.StAmant
#rb Yoan.StAmant

[CL 6628443 by Mieszko Zielinski in Dev-Framework branch]
2019-05-24 07:33:53 -04:00
Mieszko Zielinski
a389bc8746 Replaced UNavigationSystemV1::ConditionalPopulateNavOctreeActor with UNavigationSystemV1::AddLevelToOctree #UE4
Removed UNavigationSystemV1::ConditionalPopulateNavOctreeActor has been added to allow one of the internal project filter out some actors being added to nav octree. I'm removing this function before it ships with 4.23. I've replaced the function with UNavigationSystemV1::AddLevelToOctree that gets called in the same circumstances but a bit "higher level" - it's operating on the whole ULevel rather than individual actors, which ends up being more efficient.

#rb none
#jira none

[CL 6604304 by Mieszko Zielinski in Dev-Framework branch]
2019-05-22 08:18:41 -04:00
Ben Zeigler
e15c6d6e7d Fix AI module load order issue. The AIModule is implicitly loaded early in editor startup from DetailCustomizations, but if you break that dependency link the AI module does not get loaded until PreDefault, which is way after when the Pawn CDO gets initialized.
I was able to fix a NavigationSystemBase case because it only needed a soft ref, but the Pawn needs a hard ref to AIController so AIController must be loaded before Pawn's CDO gets initialized
The AISupportModule now has a hard reference to an AI module symbol, this causes that module to get loaded very early, but the StarutpModule happens at the same time it used to, fairly late in startup
#codereview mieszko.zielinski
#rb gil.gribb

[CL 6317743 by Ben Zeigler in Dev-Framework branch]
2019-05-06 12:16:22 -04:00
Dan Oconnor
1057caa0d6 Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @5937262
#rb None

[CL 5965729 by Dan Oconnor in Dev-Framework branch]
2019-04-17 22:11:57 -04:00
Marc Audy
82e0666ce7 Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 5450266
#rb
#rnx

[CL 5459329 by Marc Audy in Dev-Framework branch]
2019-03-19 16:16:11 -04:00
Marc Audy
6c6b055f0e Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 5271686
#rb
#rnx

[CL 5282523 by Marc Audy in Dev-Framework branch]
2019-03-04 10:23:33 -05:00
Marc Audy
bcc53f72d7 Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 4898645
#rb
#rnx

[CL 4917956 by Marc Audy in Dev-Framework branch]
2019-02-05 23:17:27 -05:00
Marc Audy
9d9dccf2e0 Merging using //UE4/Main_to_//UE4/Dev-Framework
#rb
#rnx

[CL 4708860 by Marc Audy in Dev-Framework branch]
2019-01-11 09:24:14 -05:00
Marc Audy
ab108c215e Copying to Dev-Main @ CL# 4688301
#rb
#rnx

[CL 4688816 by Marc Audy in Main branch]
2019-01-08 11:38:48 -05:00
Marc Audy
608734e30d Merging //UE4/Dev-Main to Dev-Framework (//UE4/Dev-Framework) @ 4664414
#rb
#rnx

[CL 4666113 by Marc Audy in Dev-Framework branch]
2018-12-17 12:24:20 -05:00
Ben Marsh
7598af0532 Update copyright notices to 2019.
#rb none
#lockdown Nick.Penwarden

[CL 4662404 by Ben Marsh in Main branch]
2018-12-14 13:41:00 -05:00