Commit Graph

60 Commits

Author SHA1 Message Date
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
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