Files
UnrealEngineUWP/Engine/Source/Runtime/Experimental/Interchange
JeanLuc Corenthin 31d2589aca Added support for material slot names and their associated materials for static meshes and static mesh actors
Added  storage of correspondence between slot names and material names to UInterchangeMeshNode
Added  storage of correspondence between slot names and material names to UInterchangeStaticMeshFactoryNode
Added  storage of correspondence between slot names and material names to UInterchangeSceneNode
Added  storage of correspondence between slot names and material names to UInterchangeActorFactoryNode
Modified UInterchangeGenericMeshPipeline to use  UInterchangeSceneNode's slot dependency
Modified UInterchangeGenericScenesPipeline to use  UInterchangeSceneNode's slot dependency and create UInterchangeMeshActorFactoryNode
Added logic in UInterchangeStaticMeshFactory to apply correspondence between slot names and material names stored in UInterchangeStaticMeshFactoryNode to the static mesh
Added logic in UInterchangeStaticMeshActorFactory to apply correspondence between slot names and material names stored in UInterchangeStaticMeshFactoryNode to the static mesh
Added logic in UInterchangeSkeletalMeshActorFactory to apply correspondence between slot names and material names stored in UInterchangeActorFactoryNode to the static mesh component
Added code to skip FStaticMeshOperations::AppendMeshDescription if there is only one mesh in the payload
Modified UE::Interchange::TMapAttributeHelper<FString, FString> by adding a method to rebuild the cache from the attributes. This was needed to rebuild cache after Interchange nodes using this helper were deserialized.
Fixed issue in InterchangeTexture2DFactoryNode and  InterchangeTexture2DNode with serialization of Interchange nodes using UE::Interchange::TMapAttributeHelper<FString, FString>. Serialize method needed to be override in order to restore the cache.
Added UInterchangeMeshActorFactoryNode class to manage slots on static mesh and skeletal mesh actors.
Added helper function to transfer slot dependencies from translated node to factory node
Added abstract class UInterchangeMeshFactoryNode from which UInterchangeSkeletalMeshFactoryNode and UInterchangeStaticMeshFactoryNode now derived
Modified UInterchangeSkeletalMeshFactoryNode and UInterchangeStaticMeshFactoryNode based on new UInterchangeMeshFactoryNode class
Added logic in UInterchangeSkeletalMeshFactory::CreateAsset to handle slot material dependencies
Added logic in UInterchangeGenericMeshPipeline::AddLodDataToSkeletalMesh to handle slot material dependencies

Note:
 - LODs' material assignment does not work for skeletal and static meshes for a scene import. This needs to be fixed separately

#rb alexis.matte, richard.talbotwatkin, benoit.deschenes
#preflight 62868650045aba22796bf3fa

[CL 20285082 by JeanLuc Corenthin in ue5-main branch]
2022-05-19 15:09:31 -04:00
..