Commit Graph

153 Commits

Author SHA1 Message Date
mikko mononen
ac46502f9f Smart Objects: Temp hack to handle cluster unions.
#preflight 643945bfec219759f50fdfba

[CL 25039418 by mikko mononen in ue5-main branch]
2023-04-14 09:28:04 -04:00
yoan stamant
8dcb7648b8 [SmartObject] fixed container removal when multiple sequential entries could be removed in batch and properly recompute bounds.
#rb maxime.mercier
#preflight 642f1fa5427eda56265c935d

[CL 24961468 by yoan stamant in ue5-main branch]
2023-04-06 21:11:34 -04:00
yoan stamant
b3795626ae [SmartObject] updated smartobject handle to 64 bits to split handles that could be part of a collection or not (dynamic). This is a fix for dynamic ones to use a different id generation to prevent collisions.
#rnx
#rb mikko.mononen
#rb stephen.holmes
#preflight 642ee06928551807173e7fe6

[CL 24956833 by yoan stamant in ue5-main branch]
2023-04-06 17:03:24 -04:00
mikko mononen
d1a0cd77b7 SmartObjects: Cleaned up unused API.
#jira UE-174418
#preflight 64229dee710ec8400f9f88d1

[CL 24815902 by mikko mononen in ue5-main branch]
2023-03-28 05:20:16 -04:00
mikko mononen
9841195afe SmartObject: Improved validation settings
- Added SmartObjectUserComponent which allows to define validation settings per user actor
- Added option to SO defintion to have preview validation settings or preview user actor (settings pulled from SO user component)
- Move parameters passed to SO annotation CollectDataForGameplayDebugger() into a struct
- Changed USmartObjectSlotValidationFilter to have 2 sets of validation parameters to allow exits to have looser validation
- Changed the API for setting params from Actor in FSmartObjectSlotEntranceLocationRequest (still meh)

#jira UE-174418
#preflight 642173f8a86ae7cbcc25ab0b

[CL 24801238 by mikko mononen in ue5-main branch]
2023-03-27 08:22:19 -04:00
luciano ferraro
78ef1df533 Added an optional flag in the SO find to avoid checking for WC conditions:
- this can be used when we want to forcibly pick a SO
- huge workflow improvement for testing SO interactions in PIE

Fixed a bug with UpdateEntranceLocation testing and potentially returning different entry locations if we are asking for a single one
Fixed a bug with the EntranceHandle not being set when finding entry locations

Added an equality operator to the entrance handle

[REVIEW] [at]Mikko.Mononen
[FYI] phil.cole, wojciech.madry, Parker.Linn, Loic.Devaux
#preflight 641ad870691c5ebc1533656a

[CL 24745942 by luciano ferraro in ue5-main branch]
2023-03-22 08:23:20 -04:00
mikko mononen
7edf169364 Smart Object: Added capsule check for slot and entrance location validation
- Changed default value for entrance annotation ground check to true
- Exposed common function to return preview validation filter
- Added user capsule parameters for into the validation filter (can be optionally tied to nav params)
- Display priority on the entrance slot if other than normal
- Added option to FindEntranceLocationForSlot() to validate slot and entrance location using physics overlap check

#jira UE-174418
#rb Yoan.StAmant
#preflight 64197ec937382f6bf589eecf

[CL 24730129 by mikko mononen in ue5-main branch]
2023-03-21 07:37:13 -04:00
mikko mononen
015d344de7 SmartObjects:
- Renamed some uses of navigation to entrance
- Added priority for entrance selection
- Allow to run the entrance selection only for a specific entrace
- Added instigator as ignored entities when selecting entrances

#jira UE-174418
#preflight 641436f332723d4a20208bd9

[CL 24686648 by mikko mononen in ue5-main branch]
2023-03-17 07:41:24 -04:00
yoan stamant
f478aed7e4 [WorldCondition] updated getters to behave like struct and array views and relying on the template type constness instead of enforcing it.
#rnx
#rb mikko.mononen
#preflight 6413271a760ee6afab7d3643

[CL 24672830 by yoan stamant in ue5-main branch]
2023-03-16 12:11:20 -04:00
mikko mononen
1ca6e4407c Smart Objects: Added way to project navigation locations on ground and to check collisions between nav location and slot.
- Changed entry annotation to navigation annotation
- Added option for nav annotations to project location on ground
- Added option and settings for nav annotations to check simple trajectory collisions towards slot location
- Added logic in entry location query to project on ground and check trajectory collisions
- Added physics settings struct that handles common query combinations
- Added USmartObjectSlotValidationFilter to define shareable settings for validation (kinda similar to nav query filter)
- Fixed double rendering of preview actor/mesh in SO editor
- added debug draw for the new features

#jira UE-174418
#preflight 641036e470639dfc943ed981

[CL 24632583 by mikko mononen in ue5-main branch]
2023-03-14 06:26:29 -04:00
yoan stamant
9a2d4f9ad2 [SmartObject]
Downgraded definition warnings to log
#preflight skip
#rb mikko.mononen

[CL 24576688 by yoan stamant in ue5-main branch]
2023-03-09 11:16:09 -05:00
mikko mononen
125bc78f30 Smart Object: actor tag query world coniditon, remove extra logging caused by bad merge.
#rb trivial
#preflight 6401c429aa00423335934ac4

[CL 24499717 by mikko mononen in ue5-main branch]
2023-03-03 11:22:43 -05:00
mikko mononen
b19888d3a0 SmartObject: Remove slipped in debug draw
#rb trivial
#preflight 6401c0bba726961ed99e84ae

[CL 24499712 by mikko mononen in ue5-main branch]
2023-03-03 11:22:34 -05:00
Mieszko Zielinski
137a53e1e5 Fixed SOComponent trying to annotate it's owner regardless of whether it's a CDO, which is never a good idea.
#rb trivial
#preflight skip
#jira UE-179064

[CL 24499400 by Mieszko Zielinski in ue5-main branch]
2023-03-03 11:07:35 -05:00
mikko mononen
62b5ef846e World Conditions: Fixed shared definition getting empty during editing.
#rb Stephen.Holmes
#preflight 6400a2fcf43e53f681b3694b

[CL 24484229 by mikko mononen in ue5-main branch]
2023-03-02 12:12:47 -05:00
mikko mononen
d2c160c4ce SmartObjects: Added entry annotation selection and validation.
- Added USmartObjectSubsystem::FindEntryLocationForSlot() which allows to query entry points which are on navigable surface
- Improved debug visualizations
- Added visualization shape and size for slots
- Added gameplay interaction state tree task to query entry location

#jira UE-174418
#preflight 6400614fef1b24bf94f42203

[CL 24478702 by mikko mononen in ue5-main branch]
2023-03-02 05:58:30 -05:00
francis hurteau
5c2d40602a Fix SmartObjectsModule failed to load warning by not providing an incorrect outer to LoadClass.
cl on behalf of [at]PJ.Kack

#rb trivial
#preflight 63fe3d3dae54ee4ce9bd6576

[CL 24469543 by francis hurteau in ue5-main branch]
2023-03-01 15:43:52 -05:00
nat parkinson
1004be8d8a [Backout] - CL24460758 to resolve nonunity errors
[FYI] mikko.mononen
Original CL Desc
-----------------------------------------------------------------
SmartObjects: Added entry annotation selection and validation.
- Added USmartObjectSubsystem::FindEntryLocationForSlot() which allows to query entry points which are on navigable surface
- Improved debug visualizations
- Added visualization shape and size for slots
- Added gameplay interaction state tree task to query entry location

#jira UE-174418,FORT-572969
#preflight 63ff4702437ce3e7f3f60cf4

[CL 24469441 by nat parkinson in ue5-main branch]
2023-03-01 15:40:51 -05:00
mikko mononen
a24c665ba3 SmartObjects: Added entry annotation selection and validation.
- Added USmartObjectSubsystem::FindEntryLocationForSlot() which allows to query entry points which are on navigable surface
- Improved debug visualizations
- Added visualization shape and size for slots
- Added gameplay interaction state tree task to query entry location

#jira UE-174418
#preflight 63ff4702437ce3e7f3f60cf4

[CL 24462168 by mikko mononen in ue5-main branch]
2023-03-01 10:06:12 -05:00
luciano ferraro
7fae715950 Added an IsEnabled method in the SO Subsystem to check if the smart object represented by the provided handle is enabled or not
[REVIEW] [at]Mikko.Mononen
#preflight 63fdff5aae54ee4ce99e10d4

[CL 24442411 by luciano ferraro in ue5-main branch]
2023-02-28 10:24:32 -05:00
luciano ferraro
afb48ac56d Added an exposed native C++ event on the SmartObject component, fired when a StateTree runtime event is fired
#jira
[FYI] Mikko.Mononen, phil.cole, wojciech.madry, Parker.Linn
#preflight 63f8defddd78dd50f67b1ae3

[CL 24406726 by luciano ferraro in ue5-main branch]
2023-02-24 14:59:17 -05:00
stephen holmes
81d43099e1 Refactor SharedStruct to be inline with StructView changes.
#preflight 63f489136928c1ca3d3cda80

[CL 24343339 by stephen holmes in ue5-main branch]
2023-02-21 13:03:02 -05:00
stephen holmes
97766341ea Refactored FSructView and FConstStructView as per recent meetings. Both are now const correct in the same way TArrayView and TArrayConstView are (ie const FStructView and const FConstStructView) the view can not point at another view.
Also removed the Mutable named functions and replaced with the constness being part of the template.

#preflight 63ea4fbaec50523134d85665

[CL 24197313 by stephen holmes in ue5-main branch]
2023-02-13 20:06:02 -05:00
yoan stamant
adf6cb0a20 [SmartObjects]
- Added new methods to the API to filter a list of request results or slot handles by evaluating the selection preconditions
- Filter methods can accept external data as a struct with properties which name and type match the WolrdConditionContext.
- FSmartObjectUserContext has been introduced to cover the common case of passing in a user actor to the context.
- Stored UserDescriptor as instanced struct in the runtime slot
- Claim methods now receive a user descriptor
- Removed slot event delegate and reuse the runtime instance one instead. Listeners can filter for a given slot using 'Event.SlotHandle'
- Removed UserTags from the SmartObjectWorldConditionSchema. The user tags are part of the query filter. Conditions requiring user tags could fetch them from the actors passed in the context.
#rb mikko.mononen
#jira UE-157763
#preflight 63dbe99f797b029c0add9806

[CL 23984054 by yoan stamant in ue5-main branch]
2023-02-02 18:43:13 -05:00
yoan stamant
e13fc1232d [SmartObject] reverted slot added by default in native constructor. This should be handled by the asset factory if needed.
#rb mikko.mononen
#rnx
#preflight skip

[CL 23867045 by yoan stamant in ue5-main branch]
2023-01-26 09:20:44 -05:00