- add new UModelingObjectsCreationAPI and associated data structures, provides abstract API for creating mesh and texture objects from Tools that is not specifically tied to StaticMesh Actors/Assets
- new helper functions in UE::Modeling:: namespace to simplify usage of an implementation of this API registered in a ContextObjectStore
- add new UEditorModelingObjectsCreationAPI implementation of above, supports hooks for higher level to provide custom paths
- add ModelingModeAssetUtils.h, provides several functions in UE::Modeling:: namespace to be used to implement those hooks (various existing path-determination code is moved here)
- ModelingToolsEditorMode now registers an instance of UEditorModelingObjectsCreationAPI in ContextObjectStore and connects up callbacks to these path functions
- AssetGenerationUtil functions and ModelingModeAssetAPI deleted
- All Tools that previously used IToolsContextAssetAPI updated to use this new system
#rb jimmy.andrews
#rnx
#jira none
#preflight 60b7c2ddae46a1000162729b
[CL 16538450 by Ryan Schmidt in ue5-main branch]
#rb none
#rnx
#ROBOMERGE-SOURCE: CL 12972560 via CL 12972561 via CL 12972564
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v682-12900288)
[CL 12972566 by jimmy andrews in Main branch]
#rb none
#rnx
#ROBOMERGE-SOURCE: CL 12941529 via CL 12941533 via CL 12941542
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v682-12900288)
[CL 12941546 by jimmy andrews in Main branch]
#rb none
#rnx
#ROBOMERGE-SOURCE: CL 12908995 via CL 12908996 via CL 12909001
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v682-12900288)
[CL 12909003 by ryan schmidt in Main branch]
#rb none
#rnx
#jira none
#ROBOMERGE-SOURCE: CL 12301426 in //UE4/Release-4.25/... via CL 12301432
#ROBOMERGE-BOT: RELEASE (Release-4.25Plus -> Main) (v670-12295787)
[CL 12301459 by ryan schmidt in Main branch]
#rb none
#rnx
#jira none
#ROBOMERGE-SOURCE: CL 12113495 in //UE4/Release-4.25/... via CL 12113506
#ROBOMERGE-BOT: RELEASE (Release-4.25Plus -> Main) (v657-12064184)
[CL 12113515 by ryan schmidt in Main branch]
Because voxel-based CSG can destroy the montonicity of distance values, extracting a non-zero iso-surface after a CSG opperation can give odd results. Now we secretly rebuild the distance field by a remesh and voxelize step after CSG when isosurfaces at non-zero distance values are requested.
Also added a stage of recomputing normals after automatic simplification.
#rb none
#rnx
[CL 9421701 by David Hill in Dev-Editor branch]