- 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]
ModelingComponents: add CollisionTransformUtil with various utility functions for working w/ Components and collision geometry. FPhysicsDataCollection now can initialize FSimpleShapeSet3d from existing FKAggregateGeom.
ModelingTools: Update BakeTransformTool, EditPivotTool to properly update existing Simple Collision geometry. Update CombineMeshesTool to properly transfer/combine/append Simple Collision geometry and settings.
#rb none
#rnx
#jira none
#ROBOMERGE-OWNER: ryan.schmidt
#ROBOMERGE-AUTHOR: ryan.schmidt
#ROBOMERGE-SOURCE: CL 15526918 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v771-15082668)
#ROBOMERGE-CONFLICT from-shelf
[CL 15527024 by ryan schmidt in ue5-main branch]
- new correspondence-finding strategy in FMeshImageBakingCache. Added a global Thickness parameter, and now preferentially uses the ray-hit found by casting inwards from Point+Thickness*Normal. This handles the cases where a greeble/etc is just layered on top of base mesh. These kind of mesh elements are only intended to show up in the normal map, so they aren't stitched in.
- expose Thickness and World-Space options in BakeMeshAttributeMapsTool
- initialize image in Normal and ResampleImage Bakers, otherwise initial value is garbage
- add TSampledScalarField2::BilinearSampleGradientClamped and fix typo in BilinearSampleClamped() that resulted in incorrect interpolation
- add Texture2DUtil, contains functions for reading a TImageBuilder from a UTexture2D. Can read from source data if available.
- ColorConstants now returns white for group 0
- add double version of FMeshDescriptionToDynamicMesh::CopyTangents()
- add support for computing on subset of vertiecs in FMeshConvexHull
- fix up template export in TMeshTangents
- make mesh const in TImplicitMorphology, TImplicitSolidify
- accessor/etc additions in TDenseGrid2, TImageBuilder, TSampledScalarField2, TIndexedWeightMap
- add source UStaticMesh reference in FPhysicsDataCollection, function to initialize from a UStaticMesh
- update Tools affected by above changes
- add TSampleSetStatisticBuilder::ComputeMultiPass() helper function to compute stats for iterable collections in one line
- remove dead code in UVLayoutOp.cpp
#rb tyson.brochu
#rnx
#jira none
[CL 14769759 by Ryan Schmidt in ue5-main branch]