- Add mapping of MaterialX pbr nodedefs to Material Functions
- Refactor MaterialX pipeline and MaterialXCustomize with a better handling of the different mappings (surface shaders, bsdf, etc.)
- Adding Material Functions placeholders for the mapping, no implemented logic in it yet, just here for the overload.
- Removing rest of unused code of MaterialX in the generic material pipeline
- Hiding MaterialSettings and Material Functions from MaterialX pipeline
- Overriding Material Functions only from Project Settings -> Engine -> Interchange MaterialX
MaterialX Translator:
- Adding support of pbr <surface> node
- Connecting outputs based on their index for multi outputs, used by node with material functions like <artistic_ior>
- Adapting the data structures for matching nodes and inputs, adding an optionalkey based on the nodegroup, particularly useful for <mix>, <add> and <multiply> nodes on BSDFs
MaterialX SurfaceShaders:
- Avoid a potential crash, by looking for an an approximate node definition during matching node and inputs resolution, since the the nodes are altered, for example nodes like blur.
MaterialX Pipeline Customization
- Making Enums in MaterialXPipelineCustomization only ReadOnly text instead of dropdowns
Substrate:
- Adding Substrate material functions counterpart of surface shaders and BSDF in the Substrate folder
- Adding support of Substrate for <surface_unlit>, <UsdPreviewSurface>
- Adding a CVar and a function in the InterchangeImportModule to check the availability of Substrate in the project settings and to enable or disable its support in Interchange.
#jira UE-179030
#rb JeanLuc.Corenthin
[CL 27665036 by Danny Kabrane in ue5-main branch]
- Renaming of the Pipeline Instances occurs only when the Import UI Dialog is shown.
#jira UE-185577
#jira UE-191368
#jira UE-191343
#rb JeanLuc.Corenthin
[CL 26712146 by vedang javdekar in ue5-main branch]
Use the name of the pipeline assets in the import window instead of the class name
- The pipeline names in the Import Asset dialog using interchange pipelines have actual asset names followed by the class name in paranthesis.
- Fixed the issue of names displayed in the dialog on reimport were not matching the asset names.
- Fixed the case where the names were the same when a pipeline shows up in multiple pipeline stacks.
#jira UE-185577
#rb jeanluc.corenthin
#rnx
[FYI] vedang.javdekar
[CL 26623223 by jeanluc corenthin in ue5-main branch]
- Added logic to detect that an asset was part of a level import and not an asset import
- Added properties on the level pipeline to allow the user to control the handling of deleted assets and actors
- Added logic to delete actors and assets on a level re-import
#jira UE-175145
#rb alexis.matte
#rnx
[CL 26572898 by jeanluc corenthin in ue5-main branch]
[Backout] - CL26342350
#fyi Danny.Kabrane
Original CL Desc
-----------------------------------------------------------------
MaterialX:
- Add the support of StandardSurface shader with Substrate
- Add two new assets: MX_StandardSurface_Substrate and MX_TransmissionSurface_Substrate, based on the same assets in Engine/Strata, just modifying a bit the name of the inputs to be compliant with Autodesk and MaterialX spec, and also setting the default values correctly from the spec
- Initializing once the PredefinedSurfaceShaders in the InterchangeMaterialXPipelineCustomizations if substrate is enabled, otherwise by default it'll take the default MX_StandardSurface asset
InterchangeShaderGraphNode:
- Add a method to set the Blend mode, because with Substrate with have no way of deciding it since there's only input of the main material (Front Material)
-InterchangeGenericMaterialPipeline and InterchangeMaterialFactory handles now Substrate
#jira UE-179032
#rb JeanLuc.Corenthin
[CL 26361374 by Robert Millar in ue5-main branch]
- Add the support of StandardSurface shader with Substrate
- Add two new assets: MX_StandardSurface_Substrate and MX_TransmissionSurface_Substrate, based on the same assets in Engine/Strata, just modifying a bit the name of the inputs to be compliant with Autodesk and MaterialX spec, and also setting the default values correctly from the spec
- Initializing once the PredefinedSurfaceShaders in the InterchangeMaterialXPipelineCustomizations if substrate is enabled, otherwise by default it'll take the default MX_StandardSurface asset
InterchangeShaderGraphNode:
- Add a method to set the Blend mode, because with Substrate with have no way of deciding it since there's only input of the main material (Front Material)
-InterchangeGenericMaterialPipeline and InterchangeMaterialFactory handles now Substrate
#jira UE-179032
#rb JeanLuc.Corenthin
[CL 26342350 by Danny Kabrane in ue5-main branch]
[interchange] Add the name of the pipeline assets in the import window
- The pipeline names in the Import Asset dialog using interchange pipelines have actual asset names followed by the class name in paranthesis.
#jira UE-185577
#rb JeanLuc.Corenthin
[CL 26190115 by vedang javdekar in ue5-main branch]
- Added asset, InterchangeSceneImportAsset, used to track import and reimport of levels
- Added translated node, factory node and factory for InterchangeSceneImportAsset
- Modified InterchangeGenericScenesPipeline to support InterchangeSceneImportAsset
- Modified pipeline assets for reimport workflows
#fyi flavien.picon,andre.stdenis,francis.moreau
#jira UE-171006
#rb alexis.matte
#preflight 64343a2e427eda5626ad9b49
[CL 24980159 by JeanLuc Corenthin in ue5-main branch]
- Adding support for UsdPreviewSurface
- Adding method AddVectorAttribute for MaterialX inputs that are vectors
- Putting the different MaterialX material functions under the MaterialX category for easier research
#jira UE-158818
#rb JeanLuc.Corenthin
#preflight 64270b2291589478cd15c48d
[CL 24889643 by Danny Kabrane in ue5-main branch]