Commit Graph

31 Commits

Author SHA1 Message Date
benoit deschenes
a31e062166 DatasmithExporter - Fixing Datasmith GameThread initialization.
The Datasmith GameThread + DirectLink initialization was trigerring some ensure which where sometimes not handled properly and could cause a crash.
We were not properly tagging Unreal's main thread and the dcc's main thread, causing those thread to compete for the main thread role.

#jira UE-148108
#rb JeanLuc.Corenthin Johan.Duparc
#preflight 62a8e13adc04d52792d011ef
#lockdown Simon.Tourangeau

#ROBOMERGE-AUTHOR: benoit.deschenes
#ROBOMERGE-SOURCE: CL 20655640 in //UE5/Release-5.0/... via CL 20657743
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v955-20579017)

[CL 20661508 by benoit deschenes in ue5-main branch]
2022-06-14 20:22:20 -04:00
kerim borchaev
c00bd8bb40 [SketchUp] Fixed texture export on Mac
- avoided call to CopyFile for texture files, was failing because it was copying file onto itself

#jira UE-150966
#preflight 627903eb822bdc69f0021b95
#rb JeanLuc.Corenthin
#lockdown jeanmichel.dignard

#ROBOMERGE-AUTHOR: kerim.borchaev
#ROBOMERGE-SOURCE: CL 20471781 in //UE5/Release-5.0/... via CL 20472640
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v954-20466795)

[CL 20475260 by kerim borchaev in ue5-main branch]
2022-06-02 16:33:31 -04:00
Johan Duparc
985b598c27 Datasmith: Mesh Exporter: add a way to silent the deprecation ensure
#jira UE-155625
#rb none
#rnx
#preflight 6298dd541941378d7c6ac718

[CL 20470794 by Johan Duparc in ue5-main branch]
2022-06-02 12:07:51 -04:00
Johan Duparc
426910d7c9 DatasmithSDK: Default to new mesh serialization
- requires 5.0.3+ to load
#jira UE-155360
#rb JeanLuc.Corenthin
#preflight 62972866841f5ba93cb3ff79

[CL 20450191 by Johan Duparc in ue5-main branch]
2022-06-01 05:10:48 -04:00
benoit deschenes
2e116c92cd DatasmithExpoter - Adding a CloseCurrentSource() function to our DirectLink simplified API.
Some DCC may close a 3d scene without closing the application, in that case they must be able to close the DirectLink source as well.
With the simplified DirectLink API (FDatasmithDirectLink) this was only achievable by creating a new scene that would override the existing one, which is not desirable in this case.
Our C# exporters can only use the simplified API at the moment and this seems like a common enough use-case to be added to FDatasmithDirectLink.

#jira UE-140665
#rb Johan.Duparc
#preflight 6290fa2db83292836e093ea2
#preflight 62953a005370042eb043f84a

[CL 20433116 by benoit deschenes in ue5-main branch]
2022-05-30 18:04:46 -04:00
Johan Duparc
fed4755571 Datasmith: Mesh serialization cleanup
#rb JeanLuc.Corenthin
#preflight 6287ca238828ea88c8677f23

[CL 20324914 by Johan Duparc in ue5-main branch]
2022-05-23 08:40:15 -04:00
Johan Duparc
504dacddd3 Datasmith: minor cleanup
#rb none
#preflight none

[CL 20297940 by Johan Duparc in ue5-main branch]
2022-05-20 13:21:20 -04:00
benoit deschenes
afde922bf1 DatasmithExporter - Fixing Rhino and Revit broken export (no export in Rhino, bad mesh scaling in Rhino & Revit)
- Restoring previous FDatasmithSceneExporter::Reset() behavior but marking the function as deprecated.
It's previous usage of reseting the export progress without resetting the whole exporter state was discutable and confusing. If users want to fully reset the exporter they don't need the Reset() function.

- Fixing Datasmith Facade inverse scaling error during position conversion

#preflight 624b48d9dc6183e3f547d3b1
#rb Johan.Duparc Kerim.Borchaev

[CL 19625080 by benoit deschenes in ue5-main branch]
2022-04-05 10:39:18 -04:00
Johan Duparc
429ce6d695 Datasmith: Add support for compressed mesh serialization
#preflight 6241ecd2c667881bf4cc5f18
#preflight 62471a74981a2c8eb49113d5

[CL 19589537 by Johan Duparc in ue5-main branch]
2022-04-01 11:50:17 -04:00
Johan Duparc
e6c8943f4c Datasmith: Large World Coordinate support
rules of thumb:
- Actor transforms are in doubles
- mesh internal data are in floats, except UVs that are in doubles
- compiled 3dsmax, archicad, navisworks, revit, rhino, sketchup, solidworks
#jira UETOOL-5070
#preflight 623f2ee47d49f37dfd3d599b
#rb Benoit.Deschenes

[CL 19533189 by Johan Duparc in ue5-main branch]
2022-03-28 16:55:59 -04:00
Johan Duparc
39dcada438 Datasmith: MeshSerialization refactor
#jira none
#rb JeanLuc.Corenthin
#preflight 623ccce513359b4c47f57db0
#preflight 623e04636d39f6b5a059b10c

[CL 19516593 by Johan Duparc in ue5-main branch]
2022-03-25 14:12:48 -04:00
Johan Duparc
9d196ada09 Datasmith: New mesh serialization, MeshDescription based
#rb JeanLuc.Corenthin
#jira none
#preflight 623b758ab3653cf6aff79b97

[CL 19485120 by Johan Duparc in ue5-main branch]
2022-03-23 16:31:37 -04:00
Marc Audy
0c3be2b6ad Merge Release-Engine-Staging to Test @ CL# 18240298
[CL 18241953 by Marc Audy in ue5-release-engine-test branch]
2021-11-18 14:37:34 -05:00
aurel cordonnier
a6e741e007 Merge from Release-Engine-Staging @ 17915896 to Release-Engine-Test
This represents UE4/Main @17911760, Release-5.0 @17915875 and Dev-PerfTest @17914035

[CL 17918595 by aurel cordonnier in ue5-release-engine-test branch]
2021-10-25 20:05:28 -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
aurel cordonnier
50944fd712 Merge UE5/RES @ 16162155 to UE5/Main
This represents UE4/Main @ 16130047 and Dev-PerfTest @ 16126156

[CL 16163576 by aurel cordonnier in ue5-main branch]
2021-04-29 19:32:06 -04:00
Marc Audy
0cbbc781ca Merge UE5/Release-Engine-Staging @ 15740152 to UE5/Main
This represents UE4/Main @ 15709114

[CL 15740605 by Marc Audy in ue5-main branch]
2021-03-18 15:20:03 -04:00
Marc Audy
8f73cd7fa9 Merge UE5/Release-Engine-Staging @ 15630841 to UE5/Main
This represents UE4/Main @ 15601601

[CL 15631170 by Marc Audy in ue5-main branch]
2021-03-05 19:27:14 -04:00
Marc Audy
cac1fe0019 Merge UE5/Release-Engine-Staging @ CL# 15299266 to UE5/Main
This represents UE4/Main @ CL# 15277572

[CL 15299962 by Marc Audy in ue5-main branch]
2021-02-03 14:57:28 -04:00
Marc Audy
a7f9391231 Merge UE5/Release-Engine-Staging @ 14811410 to UE5/Main
This represents UE4/Main @ 14768117

For ReleaseObjectVersion.h
#lockdown Marcus.Wassmer

[CL 14811440 by Marc Audy in ue5-main branch]
2020-11-24 18:42:39 -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
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
Richard TalbotWatkin
51d4cb3f66 Fully deprecated old MeshDescription APIs.
Prepared direct attribute access for deprecation, preferring use of APIs to access static mesh attributes.
Fixed recently merged Enterprise code to comply with new APIs.
Changed all tools to use triangle-centric iteration where possible.
Added new MeshAttributeArray APIs for querying attribute flags, and added a new Mandatory flag.
Various bug fixes.
#rb Alexis.Matte

[CL 13873755 by Richard TalbotWatkin in ue5-main branch]
2020-07-16 08:23:15 -04:00
Marc Audy
11f5b21210 Merging //UE5/Release-Engine-Staging @ 13752110 to Main (//UE5/Main)
#rnx

[CL 13753156 by Marc Audy in ue5-main branch]
2020-06-23 18:40:00 -04:00
Richard TalbotWatkin
4884bf9d9a First pass of MeshDescription API and format refactor.
- Removed hardcoded element type arrays (Vertices, Edges, Triangles etc.). Mesh element types can now be arbitrarily added, with any number of channels.
- Mesh element containers have a much leaner format; instead of sparse arrays, they are now represented by a simple bitarray, determining whether an index is used or not. Consequently, mesh topology is now entirely described with the attribute system, e.g. edge start and end vertices, triangle vertices, etc.
- Support added for attributes of arbitrary dimensions, e.g. float[4] or int[2].
- Support added for attributes which index into another mesh element container.
- Added FMeshElementIndexer: this is an efficient container for maintaining backward references from one element type to another; for example, edges have an attribute specifying which vertices are at each end (an attribute of type FVertexID[2]). With an indexer, it is possible to look up which edges contain a given vertex, even though this is not explicitly stored. Indexers are designed to do minimal allocations and update lazily and in batch when necessary.
- Added support for preserving UV topology in static meshes. UVs are now a first-class element type which may be indexed directly from triangles.
- Added the facility to access the underlying array in an attribute array directly.
- Triangles now directly reference their vertex, edge and UV IDs. Vertex instances are to be deprecated.
- Changed various systems to be triangle-centric rather than polygon-centric, as this is faster. Triangles are presumed to be the elementary face type in a MeshDescription, even if polygons are still supported. The concept of polygons will be somewhat shifted to mean a group of triangles which should be treated collectively for editing purposes.
- Optimised normal/tangent generation and FBX import.
- Deprecated EditableMesh, MeshEditor and StaticMeshEditorExtension plugins - these are to be removed, but they still have certain hooks in place which need removing.
#rb

[CL 13568702 by Richard TalbotWatkin in ue5-main branch]
2020-05-28 10:56:57 -04:00