Commit Graph

35 Commits

Author SHA1 Message Date
Alexis Matte
af18cd8cfa Pipeline workflows prototype. This is a first implementation of the interchange pipeline selection workflow when users import files with interchange.
- Interchange per project settings allow user to create pipeline stacks and to override the pipeline selector UI
- First draft of the generic pipeline selector UI dialog
- Pipeline settings are saved in the config ini files
- The importAssetData now contains the pipelines settings so we can reuse the same settings when we will do the re import

#jira UETOOL-3440
#rb julien.stjean

[CL 16416864 by Alexis Matte in ue5-main branch]
2021-05-21 08:44:26 -04:00
Alexis Matte
eecf9189e4 Add generic pipeline options: "BakeMeshes", "ImportStaticMeshes", "CombineStaticMeshes", "ImportSkeletalMeshes", "CombineSkeletalMeshes".
Create a pipeline meshes utilities that allow the user to query all meshes (static, skeletal, both) and also query combined meshes (static and skeletal)
#jira UETOOL-3461, UETOOL-3462
#rb richard.talbotwatkin

[CL 16247773 by Alexis Matte in ue5-main branch]
2021-05-10 09:34:00 -04:00
Alexis Matte
febf96d0e1 Refactor Interchange graph nodes to follow the new design. We now have translated nodes and factory nodes. The translated node are the source description and the factory nodes are the pipeline description telling the factory how to import the translated source nodes.
#rb richard.talbotwatkin
#jira UE-TOOL-3246

[CL 16144565 by Alexis Matte in ue5-main branch]
2021-04-28 11:34:07 -04:00
Alexis Matte
52ffae83be Add an optionnal specialized type array to the interchange scene node, so we can tell a scene node act like a special type.
This is useful for type that do not have any payload and justa couple properties like LOD group, joint, the scene node will be able to return his specialized type.
#jira UETOOL-3248
#rb richard.talbotwatkin

[CL 16055348 by Alexis Matte in ue5-main branch]
2021-04-19 17:16:28 -04:00
Alexis Matte
cfa83cb746 Create a graph inspector pipeline to be able to debug interchange graph
#jira UETOOL-3246
#rb richard.talbotwatkin

[CL 16004527 by Alexis Matte in ue5-main branch]
2021-04-14 09:34:33 -04:00
Zousar Shaker
3b4c8fc1c5 Automated wrapped object pointer upgrade for Engine + ShooterGame + ShooterGame referenced plugins
#rb none

[CL 15224650 by Zousar Shaker in ue5-main branch]
2021-01-27 17:40:25 -04:00
Zousar Shaker
d9ee6d9aab Prototype Wrapped Object Pointers (ObjectHandle/ObjectPtr)
Call-site changes for non-scalar wrapped object pointer upgrades in Engine + Shootergame

#rb devin.doucette

[CL 15201149 by Zousar Shaker in ue5-main branch]
2021-01-26 02:45:20 -04:00
Julien StJean
37ff995315 Adding UDIM support to the interchange framework.
I used a confidential dataset to benchmark the performence. 112 png files weighting 3.2 GB.

The old import system took 75.96 seconds to import the data while blocking the gamethread.

The Interchange system took 15.06 seconds to import the data whitout blocking the game thread, but my initial testing found that it resquested around 200 MB of memory then the old system. It's possible that this is due to the memory pool of each thread (it need investigation before jumping to that conclusion).

Those test where made using a machine with a Xeon E5-2643 (6 cores/ 12 Threads)


#rb Alexis.Matte
#jira UEENT-3845

[CL 15164350 by Julien StJean in ue5-main branch]
2021-01-22 12:20:21 -04:00
Marc Audy
bc88b73a29 Merge Release-Engine-Staging to Main @ CL# 15151250
Represents UE4/Main @ 15133763

[CL 15158774 by Marc Audy in ue5-main branch]
2021-01-21 16:22:06 -04:00
Alexis Matte
17b81587e8 Make sure the source file always use absolute path.
#jira UE-106421
#rb julien.stjean

[CL 15154077 by Alexis Matte in ue5-main branch]
2021-01-21 10:27:23 -04:00
Alexis Matte
6119acdacb Add a generic mesh pipeline for Interchange, it allow to add meshes import options
#rb richard.talbotwatkin
#jira UEENT-3853

[CL 15012363 by Alexis Matte in ue5-main branch]
2021-01-07 13:32:07 -04:00
Zousar Shaker
fc2ad21a5e Prototype Wrapped Object Pointers (ObjectHandle/ObjectPtr)
Call-site changes for non-scalar wrapped object pointer upgrades in Engine + Shootergame

#rb devin.doucette

[CL 14996467 by Zousar Shaker in ue5-main branch]
2021-01-05 19:16:25 -04:00
Julien StJean
8925e506a1 Using a compilation error instead of a runtime error for the unsuported attribute types.
#rb Alexis.Matte

[CL 14991099 by Julien StJean in ue5-main branch]
2021-01-05 10:53:34 -04:00
Alexis Matte
0a2f02bea3 Use FString instead of FName for the attribute storage key
#rb richard.talbotwatkin
#jira none

[CL 14946713 by Alexis Matte in ue5-main branch]
2020-12-17 10:22:56 -04:00
Alexis Matte
159a98adf2 Interchange skeletalmesh import now support morph target import.
#rb richard.talbotwatkin
#jira UEENT-3853

[CL 14897475 by Alexis Matte in ue5-main branch]
2020-12-10 09:40:26 -04:00
Alexis Matte
ed3e1719ca Interchange Fbx skeletal mesh support phase 1
#rb richard.talbotwatkin
#jira UEENT-3853

[CL 14870441 by Alexis Matte in ue5-main branch]
2020-12-07 12:03:25 -04:00
Alexis Matte
0457b6a489 Fix datasmith crash importing texture name none
#rb benoit.deschenes
#jira none

[CL 14780918 by Alexis Matte in ue5-main branch]
2020-11-18 15:16:06 -04:00
Alexis Matte
99f45612db Back out changelist 14756104
#rb none
#jira none

[CL 14756933 by Alexis Matte in ue5-main branch]
2020-11-16 15:02:53 -04:00
Alexis Matte
42d5d4f180 Fix an assert when importing texture named "None"
#jira none
#rb benoit.deschenes

[CL 14756104 by Alexis Matte in ue5-main branch]
2020-11-16 13:26:26 -04:00
Alexis Matte
b4f1d57a79 Allow to specify the interchange pipeline stack in the project settings
#rb richard.talbotwatkin
#jira UEENT-3844

[CL 14645221 by Alexis Matte in ue5-main branch]
2020-11-03 15:39:49 -04:00
Marc Audy
4c1bb11c29 Merge UE5/Release-Engine-Staging to UE5/Main @ 14548662
This represents UE4/Main @ 14525125 + cherrypicked fixes
#skipundocheck

[CL 14551026 by Marc Audy in ue5-main branch]
2020-10-22 19:19:16 -04:00
Alexis Matte
41e918a28c Create a PostImportPipeline stage
Also add a way to trace the tasks in the logs
#rb richard.talbotwatkin
#jira UEENT-3838

[CL 14547126 by Alexis Matte in ue5-main branch]
2020-10-22 13:44:15 -04:00
Alexis Matte
6aaf574a66 Implement 3 reimport strategies:
-Do not change any asset property
-Set all the asset properties set by the pipelines
-Set all the asset properties set by the pipelines, except the properties change by the user in the editor

Make sure interchange scope of life is explicit

Support cancelling task in progress

#jira none
#rb jeanmichel.dignard, richard.talbotwatkin

[CL 14508389 by Alexis Matte in ue5-main branch]
2020-10-16 11:09:50 -04:00
Alexis Matte
f44af03ab0 Split InterchangeCore module and add an InterchangeEngine module to make dependencies more easy to manage. The out of process worker cannot compile with Engine and do not need the interchangemanager.
#jira none
#rb jeanmichel.dignard

[CL 14395980 by Alexis Matte in ue5-main branch]
2020-09-25 10:45:38 -04:00
Marcus Wassmer
3b81cf8201 Merging using //UE5/Main_to_//UE5/Release-Engine-Staging @14384769
autoresolved files
#rb none

[CL 14384911 by Marcus Wassmer in ue5-main branch]
2020-09-24 00:43:27 -04:00