Files
UnrealEngineUWP/Engine/Source/Editor/LevelEditor/Private/Elements
Jamie Dale c088cf85f2 Support for editing foliage instances directly in the level editor via typed elements
Note: This is disabled by default, but can be enabled by setting the "TypedElements.EnableFoliageInstanceElements" CVar to "1" (alongside setting "TypedElements.EnableSMInstanceElements" to "1").

Notable changes:
 - AInstancedFoliageActor now implements ISMInstanceManager, and provides an implementation that works for ISMC foliage instances.
   - ISMActor foliage is not yet supported, but also not currently used.
 - ISMInstanceManager now has functions for NotifySMInstanceMovementX and NotifySMInstanceSelectionChanged, which are called from the SMInstance typed element implementation.
 - USMInstanceElementDetailsProxyObject now calls the NotifySMInstanceMovementX functions for transform edits.
 - FFoliageStaticMesh::Reapply now re-uses existing instances where possible, to avoid invalidating mapped FSMInstanceElementId values.
 - FFoliageInfo now keeps track of all moving instances, rather than if any instances are currently moving.
 - Various FFoliageInfo/FFoliageImpl functions now take their indices via TArrayView rather than TArray.
 - UEngineElementsLibrary now has public functions for ReplaceEditorXElementHandles, which exposes the previously private re-instancing logic used by UEngineElementsLibrary::OnObjectsReplaced.
   - This allows static mesh instance elements to be re-instanced if needed (eg, if moving them to an ISMC in a different world partition).

#rb Brooke.Hubert
#preflight 60b835ef6073fb00015e3cd1

[CL 16552742 by Jamie Dale in ue5-main branch]
2021-06-03 16:42:24 -04:00
..