Commit Graph

49 Commits

Author SHA1 Message Date
Danny Kabrane
4ce7b3d3ed MaterialX Pipeline:
- 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]
2023-09-07 00:47:47 -04:00
alexis matte
fff4fb747f Interchange: Allow translation to happen before openning the import dialog.
Filter the pipelines options with the translated data.

#jira UE-190402
#rb jeanluc.corenthin
#rnx

[CL 27596878 by alexis matte in ue5-main branch]
2023-09-05 10:58:05 -04:00
alexis matte
93b7b4c546 Interchange: Prevent saving debug pipeline in asset import data. The graph inspector pipeline will not be save anymore in any asset import data.
#rb jeanluc.corenthin
#rnx

[CL 26783986 by alexis matte in ue5-main branch]
2023-08-02 15:21:05 -04:00
vedang javdekar
a42e63b3d8 FIX: Renaming Pipeline Instances in the Interchange Crashes the Engine while Importing assets.
- 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]
2023-07-31 13:28:29 -04:00
jeanluc corenthin
a86313d856 [On behalf of Vedang Javdekar]
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]
2023-07-26 17:41:54 -04:00
jeanluc corenthin
ebd7e7aec7 Improved workflow on a level import/reimport
- 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]
2023-07-25 10:25:37 -04:00
Robert Millar
e0d58300ba Backing out - accessing class default object during static initialization causes crashes in monolithic builds
[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]
2023-06-30 21:31:43 -04:00
Danny Kabrane
cdf75e705c 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 26342350 by Danny Kabrane in ue5-main branch]
2023-06-30 08:51:12 -04:00
vedang javdekar
2c825d4846 Unshelved from pending changelist '25965791':
[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]
2023-06-22 15:04:26 -04:00
Alexis Matte
1d2b5c20f8 Interchange: fix reset to default so the selection is set properly on the new duplicated pipeline.
#jira UE-176278
#rb none
#rnx
#preflight 6474b920d36191bd2616b35c

[CL 25664191 by Alexis Matte in ue5-main branch]
2023-05-29 10:51:54 -04:00
sebastian arleryd
6bc014628f Fix typo in GLTF Pipeline
#jira UE-186977
#preflight 647476415152deaa106b5bce

[CL 25662610 by sebastian arleryd in ue5-main branch]
2023-05-29 06:02:10 -04:00
Alexis Matte
e750ec5066 Interchange: Pipeline now have an optional "asset name" property use when importing 1 asset into the content browser.
#jira UE-178095
#rb jeanluc.corenthin
#rnx
#preflight 6467a3787958f15a8b8abd4d

[CL 25546937 by Alexis Matte in ue5-main branch]
2023-05-19 12:48:58 -04:00
kirill zorin
de8db5ff76 Converting ARO-facing raw pointers to TObjectPtr ahead of raw pointer ARO API deprecation.
#rb zousar.shaker
#rb markus.breyer
#rb robert.manuszewski

#preflight 646391406b1406b54ab15460

[CL 25489627 by kirill zorin in ue5-main branch]
2023-05-16 10:52:49 -04:00
Danny Kabrane
3ee94f3b2b Hiding MaterialX settings and making them not editable in the pipeline window
#rb JeanLuc.Corenthin
#jira UE-185449
#preflight 646216a9f760fe87e9e5d4d6

[CL 25471749 by Danny Kabrane in ue5-main branch]
2023-05-15 08:02:52 -04:00
JeanLuc Corenthin
b28b269aea Fixed issue with 'Reimport Scene With File' menu
#jira UE-184642
#rb alexis.matte
#preflight 645e89cdea1c7ba4d62fc53d

[CL 25457316 by JeanLuc Corenthin in ue5-main branch]
2023-05-12 15:01:32 -04:00
Balazs Toereki
b79e01950f [Interchange] GLTF import options - Remove Gltf Pipeline settings UI.
#jira UE-185431
#preflight 645ab41c9f4768296375f864
#rb JeanLuc.Corenthin

[CL 25404576 by Balazs Toereki in ue5-main branch]
2023-05-10 10:28:00 -04:00
Balazs Toereki
a236601a93 [Interchange] GLTF pipeline UI fix
#jira none
#preflight 64597560386cf3c273232332

[CL 25394297 by Balazs Toereki in ue5-main branch]
2023-05-09 15:49:49 -04:00
Balazs Toereki
85b5550aca [Interchange] glTF clean the UI and asset name to respect the glTF naming convention
#jira UE-184521
#preflight 64503c721c2846595c62872f

[CL 25300385 by Balazs Toereki in ue5-main branch]
2023-05-02 09:14:43 -04:00
Balazs Toereki
23fd349247 [Interchange] GLTF Pipeline customization allowed class fix
#jira none
#preflight 6449506d864f15ebf5608d67

[CL 25201959 by Balazs Toereki in ue5-main branch]
2023-04-26 13:14:40 -04:00
Balazs Toereki
18ac17e766 [Interchange] GLTF pipeline's Build Health Text conflict warning fix.
#jira none
#preflight 6444504a0206a6e20fffcbcc

[CL 25158660 by Balazs Toereki in ue5-main branch]
2023-04-22 18:31:22 -04:00
Balazs Toereki
8118681a0a [Interchange] Finalize glTF pipeline
#jira UE-183353
#preflight 6442d7954944ef7892b36559

[CL 25152756 by Balazs Toereki in ue5-main branch]
2023-04-21 16:25:37 -04:00
Alexis Matte
5b8738a42b Interchange: Add LODGroup static mesh pipeline option
#jira UE-180852
#rb jeanluc.corenthin
#rnx
#preflight 643e9ab6211b661dc4473c5f

[CL 25085268 by Alexis Matte in ue5-main branch]
2023-04-18 09:41:01 -04:00
JeanLuc Corenthin
fab42c8547 Added ability to override a pipeline stack on a translator basis
Added MaterialX and glTF pipelines - To be completed

#jira UE-180525
#rb alexis.matte
#preflight 64381cd6df20983c41609fd2
#fyi balazs.toereki, danny.kabrane

[CL 25074867 by JeanLuc Corenthin in ue5-main branch]
2023-04-17 16:35:55 -04:00
JeanLuc Corenthin
ac790c46f7 Implemented ability to reimport a file into a level - #2
- 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]
2023-04-10 13:48:21 -04:00
Danny Kabrane
377a3d086c MaterialX:
- 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]
2023-04-03 03:22:39 -04:00