Customize derived tools to exclude the collision from subtracted shapes.
#jira UE-182340
#rb lonnie.li
[CL 30359256 by jimmy andrews in ue5-main branch]
- on drag: handles the rectangle change directly
- on tick: stores a pending selection function when dragging and calls it when ticking
- on realease: stores a pending selection function when dragging and calls it on release
#jira UE-201729
#rb semion.piskarev
[CL 30315792 by benoit gadreau in ue5-main branch]
also do some cleanup / generalization of the utility functions and change geometry script's append simple collision function to use them.
#rb David.Hill
[CL 29763193 by jimmy andrews in ue5-main branch]
this fixes an ensure on trying to place a new modeling tools primitive mesh in a level when a volume is in the level and volume snapping is enabled
#rb david.hill
[CL 29615343 by jimmy andrews in ue5-main branch]
also add a little utility struct to manage this kind of held-open transaction, with some error checking to help catch any errors where these transactions end up opened but not closed or vice versa
#jira UE-197380
#rb semion.piskarev, matija.kecman
[CL 29328451 by jimmy andrews in ue5-main branch]
UE::AssetUtils::GetStaticMeshLODMaterialListBySection() now returns the slot name for each Material
BP function GetSectionMaterialListFromStaticMesh() now returns slot names. Fixed issue in this function where LODIndex was clamped to Render LODs, not SourceModel LODs. This function now also works for RenderData LODs. In CopyMeshToStaticMesh, for RenderData LODs, the MaterialID is set to the MaterialIndex referenced by each mesh section. So in this case in GetSectionMaterialListFromStaticMesh, the Asset Material List is returned directly. This is not really a "per Section Material List' as the function name implies, however it allows this function to provide comparable behavior between SourceModel and RenderData LODs.
Add new BP function RemapToNewMaterialIDsByMaterial() which figures out MaterialID remapping based on original and new Material lists (assuming MaterialID indexes into original Material list)
Add BP functions GetNumStaticMeshLODsOfType() and CheckStaticMeshHasAvailableLOD(), these utilities are useful for dealing w/ multi-LOD assets
#rb jimmy.andrews
[CL 29052212 by ryan schmidt in ue5-main branch]
+ add a callback to the modeling editor mode so it can know whether a tool was cancelled, and make the modeling mode use the selection manager's new save-on-clear/restore feature automatically when its tools are cancelled.
+ make some tools (normals, tangents, inspector) restore the before-tool-start selection after tool use via a utility function, since they shouldn't change mesh IDs that the selection relies on.
#jira UE-195948
#rb Ryan.Schmidt
[CL 29027037 by jimmy andrews in ue5-main branch]