Commit Graph

45 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
2b079c14ad Fix skeletal mesh re-import crash
#jira none
#rb richard.talbotwatkin

[CL 16010554 by Alexis Matte in ue5-main branch]
2021-04-14 15:24:44 -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
a886513951 Address issues surfaced by initial lazy resolve testing:
1) Skinned mesh component shouldn't dereference skeletal mesh reference during destruction if there's a chance that is an unresolved reference.
2) Ensure that InterchangeManager doesn't use the *ByHash API without ensuring that it is using the same type hash function as in the TSet its operating on

#rb devin.doucette

[CL 15491460 by Zousar Shaker in ue5-main branch]
2021-02-22 13:37:44 -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
51167810e5 Better sanitazing of the asset names in interchange.
It can now handle properly the dot character.

#Jira UE-107011
#rb Johan.Duparc

[CL 15168140 by Julien StJean in ue5-main branch]
2021-01-22 18:47:13 -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
JeanMichel Dignard
9d7c15b9b7 Interchange: Changed AssetImportResult to be able to hold multiple assets.
- FAssetImportResult is now stateful, going from InProgress to Done when all assets have been imported.
- It's possible to request the list of assets while the import is InProgress. The list will be partial.
- A callback is available to be called once the import is complete and all the results have been made available.
- For non async code paths in Datasmith. a FAssetImportResult is created, its asset is immediately added and its status is set to done.
- Added a new InterchangeEngineFwd to put forward declarations for the Interchange Engine module so that we don't have to write the namespaces all the time.

#jira UEENT-3840
#rb Alexis.Matte, Johan.Duparc, Richard.TalbotWatkin

[CL 14792724 by JeanMichel Dignard in ue5-main branch]
2020-11-19 18:34:26 -04:00
Jurre deBaare
f074fb8c73 Numerous non-unity fixes
#rb none
#fyi Matt.Kuhlenschmidt, jeanmichel.dignard, Mike.Zyracki, Helge.Mathee, Brett.Miller, Simon.Tovey, Alexis.Matte, Steve.Smith, Sergio.Gardeazabal, Patrick.Boutot, Martin.Ridgers, Brooke.Hubert, Patrick.Enfedaque, Roey.Borsteinas, JeanFrancois.Dube, Jose.Villaroel, John.Hable, Danny.Couture, Zach.Bethel

[CL 14786858 by Jurre deBaare in ue5-main branch]
2020-11-19 11:19:38 -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
6c397c3e77 Make sure the Interchange manager is destroy in the game thread and not in the main thread.
#jira UE-101794
#rb will.damon

[CL 14699997 by Alexis Matte in ue5-main branch]
2020-11-10 11:22:26 -04:00