Commit Graph

10 Commits

Author SHA1 Message Date
mikko mononen
2790fb0f2d ZoneGraph: Fix crash in flee annotation
- fixed crash (lookup out of date) in flee fallback behavior
- fixe left overd issues from an older review 19243357

#jira UE-148343
#review
#preflight 6262502b4c7bb31da22101b4

[CL 19861852 by mikko mononen in ue5-main branch]
2022-04-22 02:55:21 -04:00
mikko mononen
4d7d155e86 ZoneGraphAnnotationComponen Unity compile fix
#jira UE-144814
#rb yoan.stamant
#preflight 62221a2def188a763d5e6b34
#lockdown nick.whiting

#ROBOMERGE-AUTHOR: mikko.mononen
#ROBOMERGE-SOURCE: CL 19266727 in //UE5/Release-5.0/... via CL 19266804
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v924-19243027)

[CL 19270244 by mikko mononen in ue5-main branch]
2022-03-04 13:32:10 -05:00
mikko mononen
7b4df5969a Fix Mass Crowd flee behavior and crash in editor
#jira UE-144360
#rb yoan.stamant mieszko.zielinski
#preflight 622129a9bf662715a8cb85f2
#lockdown julien.marchand

- Made AMassSpawner visible in non-shipping/testing so that component debug draw works
- Fixed crash in UZoneGraphAnnotationComponent::OnUnregister() when component is edited BP editor
- Added debug draw culling to ZoneGraph Disturbance annotations and ZoneGraph Crowd Lane annotations
- Fixed flee lane tags on CitySample (flee would try to use sidewalks, which causes problems)
- Added fallback for flee calculation when there are no exists
- Added helper functions to UZoneGraphAnnotationComponent to add distance culling for debug draws

#ROBOMERGE-AUTHOR: mikko.mononen
#ROBOMERGE-SOURCE: CL 19253567 in //UE5/Release-5.0/... via CL 19257906
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v924-19243027)

[CL 19263528 by mikko mononen in ue5-main branch]
2022-03-04 03:48:24 -05:00
mikko mononen
f21d1720b8 Mass Movement and Navigation cleanup
- Removed ununed processors and fragments
- Separated ZoneGraph specific things from common movement and navigation fragments and processors
- First attempt at cleaner separation between Mass Movement and Mass Navigation
- Moved configs and hard coded values to shared fragments
- Simplified and clarified parameters

#jira none
#rb Aris.Theophanidis
#preflight 61f283b61e5d78c383072b4a

#ROBOMERGE-AUTHOR: mikko.mononen
#ROBOMERGE-SOURCE: CL 18752305 in //UE5/Release-5.0/... via CL 18752314 via CL 18752372
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18752384 by mikko mononen in ue5-main branch]
2022-01-27 07:28:47 -05:00
Yoan StAmant
e8443d57cf Misc type conversion warning fixes
#rb maxime.mercier
#robomerge 5.0
#preflight 618d6d32c80d0ce51ae61965

[CL 18156659 by Yoan StAmant in ue5-main branch]
2021-11-11 14:55:19 -05:00
Yoan StAmant
ee8b68b2eb Misc type conversion warning trivial fixes
#rb maxime.mercier
#robomerge 5.0
#preflight 618aa174cd591b516590f10c

[CL 18107621 by Yoan StAmant in ue5-main branch]
2021-11-09 12:23:52 -05:00
Yoan StAmant
ce954c3d41 Fixed ZoneGraphDisturbanceAnnotation find predicate
#rb trivial
#fyi mikko.mononen
#robomerge 5.0

[CL 18104187 by Yoan StAmant in ue5-main branch]
2021-11-09 07:43:43 -05:00
Yoan StAmant
be5f6a5afd [DebugDrawDelegateHelper] rollback of delegate unregistration issue previous fix and implemented a different approach for cases where proxy is not created:
In some code paths for loaded actors the call order might be different since primitive registration gets deferred (i.e. FRegisterComponentContext != nullptr).

Case 1 (normal flow): FRegisterComponentContext == nullptr
 > UPrimitiveComponent::CreateRenderState_Concurrent : calls CreateSceneProxy
 > RegisterDebugDrawDelegate
 > UnregisterDebugDrawDelegate  ==> works fine

Case 2 (deferred AddPrimitive): FRegisterComponentContext != nullptr
 > UPrimitiveComponent::CreateRenderState_Concurrent : defers CreateSceneProxy
 > RegisterDebugDrawDelegate (skip register since not init)
 > CreateSceneProxy
 > UnregisterDebugDrawDelegate  ==>  ensures in UnregisterDebugDrawDelegate

With this new version `CreateRenderState_Concurrent` calls `RequestRegisterDebugDrawDelegate` that will take care of registering the delegate immediately or mark it for deferred execution. An explicit call to `ProcessDeferredRegister` is then required from `CreateSceneProxy` to implement proper flow:

Case 2 (fixed) (deferred AddPrimitive + deferred Register): FRegisterComponentContext != nullptr
 > UPrimitiveComponent::CreateRenderState_Concurrent: defers CreateSceneProxy
 > RequestRegisterDebugDrawDelegate: defers RegisterDebugDrawDelegate
 > CreateSceneProxy: calls ProcessDeferredRegister & RegisterDebugDrawDelegate
 > UnregisterDebugDrawDelegate  ==> works fine

Bonus:
- New DebugDrawComponent abstract class that is now used to share common functionalities between existing debug related components. Takes care of DelegateHelper registration flow to render text on screen from different sources.
- FDebugDrawDelegateHelper::InitDelegateHelper is no longer virtual and derived classes requiring extra data from their associated scene proxy should set it up from their overriden CreateSceneProxy
- FDebugDrawDelegateHelper derived classes should not override RegisterDebugDrawDelegate/UnregisterDebugDrawDelegate to use their `DrawDebugLabels` method since this is already a virtual method that would get called from the base class.
- Fixed a few ViewFlag members in the SceneProxy so the DelegateHelper base class can behave as expected

#jira FORT-419154
#rb mieszko.zielinski
#robomerge FnMain
#preflight 61703f8766ed7f0001c0faf1

[CL 17875336 by Yoan StAmant in ue5-main branch]
2021-10-20 13:20:46 -04:00
Mieszko Zielinski
7c78f9c12b Marked ZoneGraph plugins as experimental
#jira UE-132064
#robomerge 5.0

[CL 17860971 by Mieszko Zielinski in ue5-main branch]
2021-10-19 10:57:32 -04:00
mieszko zielinski
c019c2635f Moved GameplayBehaviors out of restricted folder over to Experimental
Moved SmartObjects out of restricted folder
Moved StateTree out of restricted folder
Moved ZoneGraph out of restricted folder
Moved ZoneGraphAnnotations out of restricted folder

#jira UE-115297

#ROBOMERGE-OWNER: mieszko.zielinski
#ROBOMERGE-AUTHOR: mieszko.zielinski
#ROBOMERGE-SOURCE: CL 17648223 via CL 17648246 via CL 17648261 via CL 17648385 via CL 17648390 via CL 17648742
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Test -> Main) (v875-17642767)

[CL 17648750 by mieszko zielinski in ue5-main branch]
2021-09-28 13:33:17 -04:00