21 Commits

Author SHA1 Message Date
mikko mononen
40ff349f2c Smart Object: Added parameters for Smart Object Definition (take 2)
- Added ability to parameterize the SOD using parameters and property copy
- Each Asset stores and shares a variations based parameter hash

#rb Yoan.StAmant

[CL 30966021 by mikko mononen in 5.4 branch]
2024-01-29 07:16:16 -05:00
edwin maynard
483765d326 [Backout] - CL30836941 (backed out due to potential content errors)
[FYI] mikko.mononen
Original CL Desc
-----------------------------------------------------------------
Smart Object: Added parameters for Smart Object Definition
- Added ability to parameterize the SOD using parameters and property copy
- Each Asset stores and shares a variations based parameter hash

#rb Yoan.StAmant

[CL 30842479 by edwin maynard in ue5-main branch]
2024-01-24 09:54:41 -05:00
mikko mononen
a4f8b85727 Smart Object: Added parameters for Smart Object Definition
- Added ability to parameterize the SOD using parameters and property copy
- Each Asset stores and shares a variations based parameter hash

#rb Yoan.StAmant

[CL 30836942 by mikko mononen in ue5-main branch]
2024-01-24 03:53:02 -05:00
mikko mononen
6c2279e57d SmartObject: Added outliner to asset editor
- Changed Smart Object definition slot data to contain GUI per data (allows to identify the data using ID)
- Added outliner to the editor, displays slots and definition data
- Made slots and definition data selectable in the details view
- Sync selection across details, outliner and 3D view for faster navigation

[CL 27440600 by mikko mononen in ue5-main branch]
2023-08-29 07:48:32 -04:00
jeanfrancois dube
e5ec9cbedf WorldPartitionSmartObjectCollectionBuilder: use actor descriptor references to load actors.
#rb yoan.stamant
#preflight none

[CL 25363340 by jeanfrancois dube in ue5-main branch]
2023-05-05 21:37:10 -04:00
yoan stamant
c43c9ec4ad Register SmartObjectCollection as a custom build type and exposed it to the editor build menu.
#rnx
#rb mieszko.zielinski
#preflight 642d78d1d6069e71b1632b3b

[CL 24928844 by yoan stamant in ue5-main branch]
2023-04-05 11:24:27 -04:00
mikko mononen
b6ce38e6bf SmartObjects: Fix unity compile errors.
#rb trivial
#preflight 6421822ac44ce895fc483ec0

[CL 24801625 by mikko mononen in ue5-main branch]
2023-03-27 09:00:28 -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
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
henrik karlsson
9a1d5b1ad4 [Engine/Plugins]
* Ran IWYU on ~170 plugins to remove includes not needed. Public api still keep old includes inside #if UE_ENABLE_INCLUDE_ORDER_DEPRECATED_IN_5_2

#preflight 63d09351574ab9cae4670216
#rb none

[CL 23844750 by henrik karlsson in ue5-main branch]
2023-01-25 02:42:36 -05:00
mieszko zielinski
bf25520ccc SmartObject collection rework, introducing a FSmartObjectContainer type that encapsulates SmartObjectComponent registration and storage. The SmartObjectSubsystem now stores a Container that aggregates all other containers supplied by loaded/streamed in SmartObjectPersistentCollection instances.
In addition:
* SmartObjectCollection got deprecated and there's a auto-update path triggered in SmartObjectCollection::PostLoad
* SmartObjectComponent component can opt out of being a part of a collection with `bCanBePartOfCollection`
* Right now we limit SmartObjects to be registered with at most a single Collection. This might change in the future if required.

Note that this is the first change in a series, we're going to support miltiple collections per level with convenient ways of assigning SmartObjects to individual collections.

#jira UE-168977
#preflight 637f8faa4004f73f627ecaca

#preflight 637fa5378b12eb83a77ad7d9

[CL 23262132 by mieszko zielinski in ue5-main branch]
2022-11-24 14:53:52 -05:00
mikko mononen
c06beb8571 SmartObject improvements
- Fixed hashing when adding shared fragment for smart object slot definition
- Added per slot Runtime Tags
- Added common event handling for Smart Object and Slot changes and events
- Added annotations, which are slot definition data that has visualization
- Added linked slot annotation which allows behavior reuse on slots
- Added editor only ID for each slot so that they can be identified during edits
- Added SmartObject slot reference type that can be used to reference other slots in the Smart Object
- Changed Smart Object bDisable to bEnabled
- Added separate enabled state for slots
- Changed Smart Object disable to send an event, not forcefully unclaim
- Added more visualization support for Smart Object editor (canvas, visualize annotations)
- Changed Smart Object editor to use the commonly transform for slots
- Remove Smart Object Component instance from the asset editor as it was not needed

#rb Stephen.Holmes
#preflight 6360f0cf63608aee36e01ba5

[CL 22888712 by mikko mononen in ue5-main branch]
2022-11-01 15:11:25 -04:00
Zousar Shaker
3f4252aa56 ObjectPtr upgrade for engine plugins used from UnrealEditor -allmodules. Automated upgrade process.
#rb none
#preflight 62fe7f270601ad0504910c30

[CL 21447894 by Zousar Shaker in ue5-main branch]
2022-08-18 15:08:49 -04:00
yoan stamant
db29723293 [SmartObject] refresh gizmos when slot offset or rotation is modified from the Details panel
#rnx
#rb maxime.mercier
#preflight 6202a023e85c7a08bbed6efa

#ROBOMERGE-AUTHOR: yoan.stamant
#ROBOMERGE-SOURCE: CL 18906839 via CL 18907043 via CL 18907093 via CL 18918945 via CL 18919861
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v916-18915374)

[CL 18919910 by yoan stamant in ue5-main branch]
2022-02-09 12:15:14 -05:00
yoan stamant
5e776f0b94 [SmartObjectEditor] added missing copyright notices
#rb trivial
#preflight 61eed9eaaa3f15faa57dab2a

#ROBOMERGE-AUTHOR: yoan.stamant
#ROBOMERGE-SOURCE: CL 18710180 in //UE5/Release-5.0/... via CL 18710202 via CL 18710332
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18710506 by yoan stamant in ue5-main branch]
2022-01-24 12:27:37 -05:00
yoan stamant
57825eb624 [SmartObject] improved visualization and authoring
+ added component visualizer for smart object allowing visualization of the associated definition
+ added dedicated AssetEditor, UserSettings, AssetToolkit, AssetTypeActions and ViewportClient
+ updated SmartObjectsEditorModule to register AssetType actions and visualizers
#preflight 61eecfc18f38611657eddbb7

#ROBOMERGE-AUTHOR: yoan.stamant
#ROBOMERGE-SOURCE: CL 18709637 in //UE5/Release-5.0/... via CL 18709664 via CL 18709798
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18709831 by yoan stamant in ue5-main branch]
2022-01-24 11:36:13 -05:00
jeanfrancois dube
b778cf9013 World Partition Builders: renamed OnPartitionBuildStarted/OnPartitionBuildEnded to PreRun/PostRun.
#rb sebastien.lussier

#ROBOMERGE-AUTHOR: jeanfrancois.dube
#ROBOMERGE-SOURCE: CL 18268959 in //UE5/Release-5.0/... via CL 18268968
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18268972 by jeanfrancois dube in ue5-release-engine-test branch]
2021-11-23 08:13:41 -05:00
luc eygasier
5de6dfdd88 Updates WorldPartitionBuilder RunInternal from FBox to FCellInfo version.
Fixes mac non-unity compilation.

#rb Sebastien.Lussier
#changelist validated

#ROBOMERGE-AUTHOR: luc.eygasier
#ROBOMERGE-SOURCE: CL 18087691 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v889-18060218)
#ROBOMERGE[STARSHIP]: UE5-Release-Engine-Staging Release-5.0

[CL 18087713 by luc eygasier in ue5-release-engine-test branch]
2021-11-08 11:17:01 -05:00
luc eygasier
dda6fd46d5 Modifies WorldParitionMinimapBuilder to use Virtual Textures, loading iteratively cells.
* Adds Virtual Texture rendering for Slate Element
* Adds Initialize/Finalize methods to WorldPartition builders

#rb JeanFrancois.Dube, Jeremy Moore, Sebastien.Lussier
[FYI] Yoan.StAmant

#changelist validated

#ROBOMERGE-AUTHOR: luc.eygasier
#ROBOMERGE-SOURCE: CL 18063075 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v889-18060218)
#ROBOMERGE[STARSHIP]: UE5-Release-Engine-Staging Release-5.0

[CL 18063089 by luc eygasier in ue5-release-engine-test branch]
2021-11-04 16:13:08 -04:00
yoan stamant
1cbe440fe2 [SmartObjects]
* Collection entry holds the Transform, Bounds and Index to the shared configuration. This removes the dependency on components being loaded to create runtime data for partitioned worlds.
* Removed commented references to SparseClassData since that approach won't be used (actor component not supported)
* Runtime data now points to a shared configuration from the collection instead of holding a copy
* Subsystem tracks components registered at runtime so the collection can be updated accordingly since those entries won't persist outside of loading range
* Moved most initialization code for the subsystem to the OnWorldComponentsUpdated callback since active level collection is set and actors from the persistent level registered.

[WorldPartitionBuilder]
* Added OnPartitionBuildStarted/OnPartitionBuildCompleted virtual methods
* New UWorldPartitionSmartObjectCollectionBuilder to build SmartObjectCollection in partitioned worlds

#preflight 61814a46fc786a0001447995
#jira UE-105113
#rb maxime.mercier

#ROBOMERGE-AUTHOR: yoan.stamant
#ROBOMERGE-COMMAND: FnMain
#ROBOMERGE-SOURCE: CL 18019580 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v885-17909292)
#ROBOMERGE[STARSHIP]: UE5-Release-Engine-Staging Release-5.0
#ROBOMERGE[bot1]: Main

[CL 18019655 by yoan stamant in ue5-release-engine-test branch]
2021-11-02 11:12:43 -04:00
mieszko zielinski
31a5065342 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
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v875-17642767)
#ROBOMERGE-CONFLICT from-shelf
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 17648742 by mieszko zielinski in ue5-release-engine-test branch]
2021-09-28 13:33:00 -04:00