Commit Graph

70 Commits

Author SHA1 Message Date
jeanmichel dignard
45cd0e3c93 Interchange
- Ported the new DDS import code from UTextureFactory to Interchange.
- Added the option to only parse the header in FDDSFile.
- Added support for texture cube arrays and volume textures.
- Dump warnings and errors in the log at the end of the import.

#jira UE-152766
#rb alexis.matte, charles.bloom
#preflight 6320c54f506f1a33e061e164

[CL 21991495 by jeanmichel dignard in ue5-main branch]
2022-09-13 16:24:03 -04:00
jeanmichel dignard
5f28e2a19e Interchange error handling
- Added a generic error message when we fail to retrieve a texture payload.
- Added error messages in the GLTF, OBJ and IES translators.
- Skip over invalid imported objects in the completion task so that we don't try to posteditchange them and we don't log a success.
- Display the correct icon for the "import done" notification based on if we have a success message or not.

#jira UE-152395
#rb alexis.matte
#preflight 631b88ca354826f8b3b5014a

[CL 21927409 by jeanmichel dignard in ue5-main branch]
2022-09-09 16:27:22 -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
aurel cordonnier
34f55d3a4a Merge from Release-Engine-Test @ 17946149 to UE5/Main
This represents UE4/Main @17911760, Release-5.0 @17915875 and Dev-PerfTest @17914035

[CL 17949667 by aurel cordonnier in ue5-main branch]
2021-10-27 15:14:40 -04:00
aurel cordonnier
a12d56ff31 Merge from Release-Engine-Staging @ 17791557 to Release-Engine-Test
This represents UE4/Main @17774255, Release-5.0 @17791557 and Dev-PerfTest @17789485

[CL 17794212 by aurel cordonnier in ue5-release-engine-test branch]
2021-10-12 21:21:22 -04:00
jeanmichel dignard
2f5f47d4f8 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

#ROBOMERGE-AUTHOR: jeanmichel.dignard
#ROBOMERGE-SOURCE: CL 17728564 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v879-17706426)

[CL 17728592 by jeanmichel dignard in ue5-release-engine-test branch]
2021-10-05 17:50:54 -04:00
aurel cordonnier
69fe095547 Merge from Release-Engine-Staging @ 17636544 to Release-Engine-Test
This represents UE4/Main @17638339 and Dev-PerfTest @17636504

[CL 17638842 by aurel cordonnier in ue5-release-engine-test branch]
2021-09-27 19:54:25 -04:00
aurel cordonnier
5eb066df32 No unity fixes from partner
#rnx
#rb trivial
#preflight 61451d4bbb11800001fd1a4a

#ROBOMERGE-AUTHOR: aurel.cordonnier
#ROBOMERGE-SOURCE: CL 17560672 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)

[CL 17560679 by aurel cordonnier in ue5-release-engine-test branch]
2021-09-17 20:19:37 -04:00
julien stjean
d37a1a36bb Allow better scripting of interchange for the automation by adding some callback when a asset or a scene object is created and when the import is completed.
Updated the PinHiddenByDefault uproperty metadata to work in blueprint struct ouside of animation blueprint.

#jira UETOOL-4035
#rb Phillip.Kavan, Alexis.Matte
#preflight 6144a8b03c7c6700010df23e

#ROBOMERGE-AUTHOR: julien.stjean
#ROBOMERGE-SOURCE: CL 17553215 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)

[CL 17553235 by julien stjean in ue5-release-engine-test branch]
2021-09-17 11:53:51 -04:00
julien stjean
160d751ef5 Changed the way we aquire the GC lock when running interchange. The old implementation could cause some dead lock in the game thread.
#rb Alexis.Matte
#preflight 6127e65fba9f0e000123afb9

#ROBOMERGE-SOURCE: CL 17358134 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v865-17346139)

[CL 17358142 by julien stjean in ue5-release-engine-test branch]
2021-08-30 16:22:30 -04:00
julien stjean
829dd8ed91 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

#ROBOMERGE-SOURCE: CL 17318068 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v861-17282326)

[CL 17318074 by julien stjean in ue5-release-engine-test branch]
2021-08-26 10:49:40 -04:00
jeanmichel dignard
e6a297450b 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

#ROBOMERGE-SOURCE: CL 17317045 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v861-17282326)

[CL 17317055 by jeanmichel dignard in ue5-release-engine-test branch]
2021-08-26 09:41:00 -04:00
jeanmichel dignard
82a2174a9c Interchange: Spawn static mesh, skeletal mesh, light and camera actors from FBX
- Renamed InterchangeSceneNode::CustomMeshDependencyUid to AssetInstanceUid. It tells which asset, if any, a scene node is instanciating.
- Added an actor class attribute to the actor factory node. The pipeline must set this class to tell the factory which class to use when spawning the actor. By default, an AActor is spawned, if the attribute isn't set.
- Camera and lights now have asset nodes and are instanciated using scene nodes. This allows to reuse the same light or camera data multiple times in a scene.

#rb Alexis.Matte

#ROBOMERGE-SOURCE: CL 17286192 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v861-17282326)

[CL 17286203 by jeanmichel dignard in ue5-release-engine-test branch]
2021-08-24 09:25:58 -04:00
andriy tylychko
6bf3101dcd deprecated FTicker and family and replaced by thread-safe FTSTicker
#jira UE-120090
#rb francis.hurteau


#ROBOMERGE-SOURCE: CL 17176325 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v855-17104924)

[CL 17176374 by andriy tylychko in ue5-release-engine-test branch]
2021-08-16 11:09:22 -04:00
jeanmichel dignard
da8e207108 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

#ROBOMERGE-SOURCE: CL 17117529 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v855-17104924)

[CL 17117539 by jeanmichel dignard in ue5-release-engine-test branch]
2021-08-10 11:48:09 -04:00
julien stjean
2934025ddc 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

#ROBOMERGE-SOURCE: CL 17023158 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v839-17012307)

[CL 17023172 by julien stjean in ue5-release-engine-test branch]
2021-08-02 19:46:33 -04:00
alexis matte
cf85bf8f6c Make sure creating a blueprint pipeline is possible and have access to everything it need
#jira none
#rb richard.talbotwatkin
#preflight 61016d4c5938f9000113319f

#ROBOMERGE-SOURCE: CL 16983077 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v838-16927207)

[CL 16983143 by alexis matte in ue5-release-engine-test branch]
2021-07-28 12:00:58 -04:00
zousar shaker
d55f79222e Wrapped ObjectPtr upgrade refresh for Engine + ShooterGame
#rb none
#preflight 60f6411c35476b00018dd12c

#ROBOMERGE-SOURCE: CL 16892864 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)

[CL 16892876 by zousar shaker in ue5-release-engine-test branch]
2021-07-20 00:24:38 -04:00
jeanmichel dignard
53c66beee2 InterchangeBaseNode: rename GetAssetClass to GetObjectClass
#rb Alexis.Matte

#ROBOMERGE-SOURCE: CL 16853666 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)

[CL 16853695 by jeanmichel dignard in ue5-release-engine-test branch]
2021-07-14 15:16:18 -04:00
alexis matte
bd7c5ca6e2 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

#ROBOMERGE-SOURCE: CL 16841336 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)

[CL 16841344 by alexis matte in ue5-release-engine-test branch]
2021-07-13 15:37:15 -04:00
richard talbotwatkin
3023b3bc6f Changed checks to ensures to prevent irritating editor crashes if InterchangeWorker isn't up to date.
#rb none

#ROBOMERGE-SOURCE: CL 16830749 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)

[CL 16830770 by richard talbotwatkin in ue5-release-engine-test branch]
2021-07-12 16:11:34 -04:00
richard talbotwatkin
d490ca5057 Fixed static analysis warning.
#rb none

#ROBOMERGE-SOURCE: CL 16825387 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)

[CL 16825392 by richard talbotwatkin in ue5-release-engine-test branch]
2021-07-12 10:44:15 -04:00
richard talbotwatkin
7006273a78 Fix static analysis warning.
#rb none

#ROBOMERGE-SOURCE: CL 16825137 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)

[CL 16825149 by richard talbotwatkin in ue5-release-engine-test branch]
2021-07-12 10:24:34 -04:00
richard talbotwatkin
176b37fb0c 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

#ROBOMERGE-SOURCE: CL 16822676 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)

[CL 16822681 by richard talbotwatkin in ue5-release-engine-test branch]
2021-07-12 05:33:04 -04:00