Commit Graph

50 Commits

Author SHA1 Message Date
Alexis Matte
73d83c6a38 To protect the skeletalmesh when using async operations like build or re-import we deprecate all public member variables of USkeletalMesh class and create the necessary getter and setter. Those member will stay public but will be move to private in a future release.
Adding a public member to USkeletalMesh class is now prohibed since it can break asynchronous operations that will be added next to this submit.

#rb danny.couture
#jira UEENT-3936
#rnx

[CL 14812920 by Alexis Matte in ue5-main branch]
2020-11-25 11:17:08 -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
rajesh chilagani
e7fea78d15 Checking for any LandscapeProxy actors when merging actors with "Use Landscape Culling" option selected
#jira UE-61891
#rb patrick.enfedaque

[CL 14329634 by rajesh chilagani in ue5-main branch]
2020-09-16 14:43:12 -04:00
Sebastien Lussier
9a3e1ebfba Added IMeshMergeUtilities::RetrieveMeshDescription
* General cleanup
* Removed ExtractImposterToRawMesh() which was overspecialized and not specifically handling Imposters
* Renamed remains of FRawMesh to MeshDescription

#rb patrick.enfedaque

[CL 14243261 by Sebastien Lussier in ue5-main branch]
2020-09-02 07:14:07 -04:00
Marc Audy
a7c9001a94 Merging //UE5/Release-Engine-Staging to Main (//UE5/Main) @ 14075166
#rb
#rnx

[CL 14075271 by Marc Audy in ue5-main branch]
2020-08-11 01:36:57 -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
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
julien stjean
f324e13073 Fixed two issues in the proxy merge tools.
1- The FExportMaterialProxy didn't give the proper static parameters for the materials instance. It always used those from the parent/master material.
2- The mesh description extracted from the static mesh component was sometimes invalid. This occurred when the mesh had an empty section as it first section. This resulted in a mesh with all its polygons being part of the first section when rendered for the proxy mesh.

Also renamed a variable in the create proxy mesh function since its previous name didn't make sense with what it is.

#jira UE-90322
#rb Sebastien.Lussier

#ROBOMERGE-SOURCE: CL 12234869 in //UE4/Release-4.25/... via CL 12234887
#ROBOMERGE-BOT: RELEASE (Release-4.25Plus -> Main) (v664-12234175)

[CL 12237471 by julien stjean in Main branch]
2020-03-17 20:02:37 -04:00
max whitehead
19b76ff6e1 Remove PhysX module when using Chaos, Guard PhysX code in PHYSICS_INTERFACE_PHYSX so Chaos compiles without it.
Change WITH_PHYSX to always be defined, even with chaos only.
Make Client/Server targets only disable PhysX when Chaos is enabled.
#rb michael.lentine


#ROBOMERGE-OWNER: max.whitehead
#ROBOMERGE-AUTHOR: max.whitehead
#ROBOMERGE-SOURCE: CL 11877480 via CL 11877967 via CL 11878038
#ROBOMERGE-BOT: (v656-11643781)

[CL 11888569 by max whitehead in Main branch]
2020-03-03 17:06:00 -05:00
JeanMichel Dignard
84facd6d15 Copy from dev-enterprise cl 11097196
#rb none
#rnx

[CL 11099277 by JeanMichel Dignard in Dev-Tools-Staging branch]
2020-01-23 16:28:59 -05:00
ryan durand
471d972e62 Updating copyright for Engine Developer.
#rnx
#rb none


#ROBOMERGE-SOURCE: CL 10869240 via CL 10869516 via CL 10869902
#ROBOMERGE-BOT: (v613-10869866)

[CL 10870584 by ryan durand in Main branch]
2019-12-26 15:32:37 -05:00
sebastien lussier
3167054276 HLOD - Meshes marked as useMaxLODAsImposter have an offset in medium HLODs
Fixed mesh pivot point offset not being applied in this specific case
#rb patrick.enfedaque


#ROBOMERGE-SOURCE: CL 10056720 via CL 10057694 via CL 10057717 via CL 10057792
#ROBOMERGE-BOT: (v566-10053404)

[CL 10057904 by sebastien lussier in Main branch]
2019-11-06 13:04:18 -05:00
Alexis Matte
c97c681a9f Fix skeletalmesh bake material crash, and incorrect ID remapping.
#jira UE-83204
#jira UE-83216
#rb benoit.deschenes

[CL 10056841 by Alexis Matte in Main branch]
2019-11-06 12:11:28 -05:00
Sebastien Lussier
cd750ce23f #jira UE-82185, UE-82545
HLOD useLODAImposter seems to not copy over all UV channels
Mesh merging code was assuming the UV2 & UV3 channels were free to use to store position & scale of imposter instances.
This behavior seems to have been hacked in the engine for an internal project & is not needed anymore since it's now possible to use instanced static meshes with LODActors
Still kept old behavior around (CVar) in case someone would really need it
#rb patrick.enfedaque

[CL 9868123 by Sebastien Lussier in Main branch]
2019-10-28 07:45:29 -04:00
Laz Matech
72f6e33bd6 Back out changelist 9845167
Attempted to resolve merge conflict for CL 9844036 Robomerge, it caused compilation errors

#rb Jake.Romigh
#fyi sebastien.lussier

[CL 9845666 by Laz Matech in Main branch]
2019-10-25 19:58:34 -04:00
laz matech
1e0c51a8f4 #rb Jake.Romigh
#jira UE-82185
HLOD useLODAImposter seems to not copy over all UV channels
Mesh merging code was assuming the UV2 & UV3 channels were free to use to store position & scale of imposter instances.
This behavior seems to have been hacked in the engine for an internal project & is not needed anymore since it's now possible to use instanced static meshes with LODActors
Still kept old behavior around (CVar) in case someone would really need it
#patrick.enfedaque
[FYI] bryce.lumpkin


#ROBOMERGE-OWNER: laz.matech
#ROBOMERGE-AUTHOR: sebastien.lussier
#ROBOMERGE-SOURCE: CL 9843087 via CL 9843965 via CL 9844036
#ROBOMERGE-BOT: (v548-9842178)

[CL 9845167 by laz matech in Main branch]
2019-10-25 19:23:58 -04:00
Chris Gagnon
8ab0638182 Copying //UE4/Dev-Editor to Dev-Main (//UE4/Dev-Main) for 4.24
#rb none

[CL 9325047 by Chris Gagnon in Main branch]
2019-10-01 20:41:42 -04:00
Chris Gagnon
2e87118a18 Copying //UE4/Dev-Editor to Dev-Main (//UE4/Dev-Main) Interim 4.24.
#rb none

[CL 8614014 by Chris Gagnon in Main branch]
2019-09-10 11:35:20 -04:00
sebastien lussier
29d148d4c2 GenerateProxyMesh causes incorrect transform in ISM using Scale
#jira UE-79140
jeanfrancois.dube


#ROBOMERGE-SOURCE: CL 8210627 via CL 8211744
#ROBOMERGE-BOT: (v401-8057353)

[CL 8211754 by sebastien lussier in Main branch]
2019-08-22 10:48:59 -04:00
Benn Gallagher
3a4873ef60 Copying //UE4/Dev-Physics to Dev-Main (//UE4/Dev-Main) @ 7703071
#rb
#rnx

[CL 7705805 by Benn Gallagher in Main branch]
2019-08-02 09:01:58 -04:00
richard talbotwatkin
c0ef3053d2 Deprecated direct access to UStaticMesh::SourceModels, SectionInfoMap and OriginalSectionInfoMap.
Added new accessors for getting individual SourceModels, or the entire array.
#rb none
#jira none

#ROBOMERGE-SOURCE: CL 7668562 in //UE4/Release-4.23/...
#ROBOMERGE-BOT: RELEASE (Release-4.23 -> Main) (v372-7473910)

[CL 7668565 by richard talbotwatkin in Main branch]
2019-07-31 03:40:45 -04:00
Chris Gagnon
930e33cb48 Copying //UE4/Dev-Editor to Dev-Main (//UE4/Dev-Main) for 4.23 From CL 6837861
#rb none

[CL 6838042 by Chris Gagnon in Main branch]
2019-06-04 15:42:48 -04:00
sebastien lussier
44edaff438 HLOD Imposters
* Now extracted from sub levels and brought in the main map to be rendered as instanced static meshes.
* Impostors meshes created during proxy creation.

#rb jeanfrancois.dube, jurre.debaare


#ROBOMERGE-SOURCE: CL 6675359 via CL 6675861
#ROBOMERGE-BOT: (vundefined-6665479)

[CL 6675880 by sebastien lussier in Main branch]
2019-05-30 10:37:45 -04:00
alexis matte
93de9edd67 Tentative, fix crash when generating HLOD with impostor
#jira UE-73420
#rb none
#lockdown cristina.riveron

#ROBOMERGE-SOURCE: CL 6256521 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)

[CL 6317323 by alexis matte in Main branch]
2019-05-06 11:32:24 -04:00
sebastien lussier
c545e330ef Merging negative-scaled actors breaks materials
#fix No need to reverse the section indices when a static mesh has a mirrored transform as TransformRawMeshVertexData() is now calling ReverseAllPolygonFacing() in this specific case
#jira UE-56953
#rb none
#lockdown cristina.riveron

#ROBOMERGE-SOURCE: CL 6252335 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)

[CL 6317322 by sebastien lussier in Main branch]
2019-05-06 11:32:22 -04:00