Commit Graph

55 Commits

Author SHA1 Message Date
henrik karlsson
8f895fef35 Added includes needed after removing includes in headers
#preflight 6360b63e41625be270a6e464
#rb none

[CL 22888775 by henrik karlsson in ue5-main branch]
2022-11-01 15:14:15 -04:00
alexis matte
fe35eb697a Interchange:
- Skeletal mesh is now import using the skeletalmesh compile system to make sure all properties are locked and will stall another thread trying to access them.
---- This fix multiple crash if a viewer display the skeletal mesh and use some properties.
- Remove animation pipeline ensure(no skeleton) if we import with force static mesh and there is some translated animation node
- Fix crash when importing static mesh and the get mesh payload return an empty mesh description
- Reimport of skeletalmesh is not calling anymore postedit change if we reimport with interchange, interchange will call it in a post edit step.
---- This fix multiple crash if a viewer display the bones of the re-import skeletal mesh.
General:
- Reimport handler now have a reimport async version so the caller can control if a reimport is done asynchronously or synchronously

#jira UE-166986
#rb danny.couture , jeanluc.corenthin
#rnx
#lockdown jeanmichel.dignard
#preflight 634f61fdec03b54e9cdfe0bf

[CL 22634973 by alexis matte in ue5-main branch]
2022-10-19 15:15:54 -04:00
alexis matte
aae298f7de Interchange: Reimport with new file need to use the interchange picker if the file was imported with interchange.
#jira UE-166911
#rb jeanluc.corethin
#rnx
#preflight 6346ed7dfa31324bb146302c
#lockdown jeanmichel.dignard

[CL 22508984 by alexis matte in ue5-main branch]
2022-10-13 14:29:07 -04:00
alexis matte
57a700a1bd The attribute storage serialize FName with FString and must change the data only if we are loading. The reference archive do not have any flag for loading or saving, so pattern like if(IsSaving)... else ... is dangerous if the data is change in the else part.
#jira UE-165226
#rb jeanluc.corenthin
#rnx
#preflight 63373e90c37844870a26ce5f

[CL 22284194 by alexis matte in ue5-main branch]
2022-09-30 19:23:46 -04:00
andrew davidson
970f8f6a18 Non-Engine module public header truncation fixes to reduce noise when compiling with truncation warnings
#jira UE-160823
#rb dave.jones2, zak.middleton
#preflight 6336a3ecc37844870af8b119

[CL 22271698 by andrew davidson in ue5-main branch]
2022-09-30 11:36:06 -04:00
marc audy
311f7464bf Updated ../Engine/Source/Runtime/... to inline gen.cpp files
Before:
3648 unity files
Total CPU Time: 47886.140625 s
Total time in Parallel executor: 498.81 seconds

After:
3548 unity files
Total CPU Time: 46643.828125 s
Total time in Parallel executor: 486.06 seconds

#jira
#preflight

[CL 22173263 by marc audy in ue5-main branch]
2022-09-24 13:57:58 -04:00
alexis matte
862785cc6e Interchange: Move files out of experimental
#jira none
#rb jeanmichel.dignard
#rnx
#preflight 631b7b3cec45fbf3d7807ee1

[CL 21927016 by alexis matte in ue5-main branch]
2022-09-09 16:13:32 -04:00
alexis matte
0047e0dcf4 Move all interchange code files under experimental folder.
#jira UE-133267
#rb Julien.StJean
[FYI] richard.talbotwatkin
#rnx

#ROBOMERGE-AUTHOR: alexis.matte
#ROBOMERGE-SOURCE: CL 18018188 in //UE5/Release-5.0/... via CL 18018406 via CL 18018624
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Test -> Main) (v885-17909292)

[CL 18018864 by alexis matte in ue5-main branch]
2021-11-02 10:31:06 -04:00
JeanMichel Dignard
e9b5d2f566 Interchange scene import
- Support different types of lights.
- Set the scene components mobility in the pipeline.
- Made a generic macro to apply an attribute to a FProperty where the attribute and property names can be different. Supports nested script structs.
- Renamed ApplyAllCustomAttributeToAsset to ApplyAllCustomAttributeToObject.
- Added support for Camera physical attributes (focal length, sensor width & height) from FBX.

#rb Alexis.Matte, Julien.StJean, Richard.TalbotWatkin
#preflight 615cb7b1bb992a0001e1ecc4

[CL 17728564 by JeanMichel Dignard in ue5-main branch]
2021-10-05 17:50:09 -04:00
Julien StJean
eefb0298b8 Added the test to validate if a texture is a normal map to the interchange generic pipeline.
Added some function to query the texture compiler to see if a texture is being compiled.

#jira UETOOL-3856
#rb Alexis.Matte
#preflight 61264df145848f0001473a6b

[CL 17318068 by Julien StJean in ue5-main branch]
2021-08-26 10:49:21 -04:00
JeanMichel Dignard
5a7f4ac2c8 Interchange scene import: Set mesh on static and skeletal mesh components
- Renamed Target Asset Uids to Target Node Uids and used it bidirectionaly.
- Target Node Uids is mutable so that a const node graph (translated nodes) can still track which factory nodes its being used by.
- Only register the actor components in the Interchange completion task so that we know that the assets are ready.
- Added transform compensation for FBX cameras and lights.

#rb Alexis.Matte

[CL 17317045 by JeanMichel Dignard in ue5-main branch]
2021-08-26 09:39:29 -04:00
JeanMichel Dignard
1cd80480a7 Interchange Level import
- Added a new project setting to use Interchange for "import into level"
- It currently only spawns empty actors, in hierarchy, with the correct transforms.

#rb Alexis.Matte, Richard.TalbotWatkin, Julien.Stjean

[CL 17117529 by JeanMichel Dignard in ue5-main branch]
2021-08-10 11:47:45 -04:00
Julien StJean
2f234d3c40 Making the reimport of a texture by interchange thread safe.
Changed the texture payloads so that they use the new unique buffer.
Refactored the blocked texture payload and the UDIM translator to support the new payload.
Added some functions to the FTextureSource so that it can receive a FSharedBuffer instead of copying the data into the payload.
Removed the const requirement from the UInterchangeFactoryBase main functions. It was needed so that I can store the texture payload in the function CreateAsset and then consume it in the function PreImportPreCompletedCallback. Also reporting messages in the factory does affect the state of the factory.
The Interface IImageWrapper has a new function to get the raw data into an ArrayView. For now the interface provides a default implementation but I would like to make it abstract when all the existing wrapper will have an implementation for it.

#jira UETOOL-3834
#rb Alexis.Matte
#preflight 610877d603d30300010f7840

[CL 17023158 by Julien StJean in ue5-main branch]
2021-08-02 19:45:34 -04:00
Alexis Matte
9a69b646b6 Make sure creating a blueprint pipeline is possible and have access to everything it need
#jira none
#rb richard.talbotwatkin
#preflight 61016d4c5938f9000113319f

[CL 16983077 by Alexis Matte in ue5-main branch]
2021-07-28 11:58:41 -04:00
Zousar Shaker
9abf3ef937 Wrapped ObjectPtr upgrade refresh for Engine + ShooterGame
#rb none
#preflight 60f6411c35476b00018dd12c

[CL 16892864 by Zousar Shaker in ue5-main branch]
2021-07-20 00:21:34 -04:00
JeanMichel Dignard
4a09508a5b InterchangeBaseNode: rename GetAssetClass to GetObjectClass
#rb Alexis.Matte

[CL 16853666 by JeanMichel Dignard in ue5-main branch]
2021-07-14 15:15:19 -04:00
Alexis Matte
9fc25d96ca In Interchange, add skeleton and physics asset import options to the generic pipeline. Those option allow the user to specify if we create or use an existing asset for skeleton and physics.
#jira UETOOL-3603
#rb richard.talbotwatkin

[CL 16841336 by Alexis Matte in ue5-main branch]
2021-07-13 15:37:01 -04:00
Richard TalbotWatkin
65a8fca3bc Changed checks to ensures to prevent irritating editor crashes if InterchangeWorker isn't up to date.
#rb none

[CL 16830749 by Richard TalbotWatkin in ue5-main branch]
2021-07-12 16:10:27 -04:00
Richard TalbotWatkin
20431c53cd Fixed static analysis warning.
#rb none

[CL 16825387 by Richard TalbotWatkin in ue5-main branch]
2021-07-12 10:44:04 -04:00
Richard TalbotWatkin
177525dba9 First pass implementaiton of a message passing system for Interchange. This permits messages, warnings and errors to be output from translators, pipelines and factories, as well as from external processes via the Interchange dispatcher.
Implemented UI tab widget for dislaying import results.
Implemented basic static mesh import, excluding collision import.
Various API tweaks, to accomodate the message passing, plus various bugfixes.
#rb Alexis.Matte

[CL 16822676 by Richard TalbotWatkin in ue5-main branch]
2021-07-12 05:32:06 -04:00
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