Commit Graph

142 Commits

Author SHA1 Message Date
sebastien lussier
412cf1d7a1 MaterialBaking - Use correct linear bake for all texture property by default
Providing a new flatten material with the correct texture samplers.
Retrieve texture properties from the default textures in the material (linear vs srgb, compression, vt enabled, lod group...)

Previously generated material instances are unchanged.
All MergeActor engine tests pass successfully.

#rb patrick.enfedaque

#ROBOMERGE-SOURCE: CL 16484038 in //UE5/Private-Frosty/...
#ROBOMERGE-BOT: STARSHIP (Private-Frosty -> Main) (v823-16466674)

[CL 16484318 by sebastien lussier in ue5-main branch]
2021-05-27 10:31:36 -04:00
sebastien lussier
66d4dbf5e7 WorldPartition - Non-unity build fixes
#rb trivial

#ROBOMERGE-OWNER: sebastien.lussier
#ROBOMERGE-AUTHOR: sebastien.lussier
#ROBOMERGE-SOURCE: CL 16413559 in //UE5/Private-Frosty/...
#ROBOMERGE-BOT: STARSHIP (Private-Frosty -> Main) (v804-16311228)
#ROBOMERGE-CONFLICT from-shelf

[CL 16413689 by sebastien lussier in ue5-main branch]
2021-05-20 21:08:55 -04:00
aurel cordonnier
4c1f424cec no unity fixes
#rb jeanfrancois.dube

[CL 16389788 by aurel cordonnier in ue5-main branch]
2021-05-19 14:05:12 -04:00
Andrew Davidson
3ddc3a4da3 Merge up from //UE5/Dev-LargeWorldCoordinates
#rb none

[CL 16211417 by Andrew Davidson in ue5-main branch]
2021-05-05 15:07:25 -04:00
Sebastien Lussier
4ab1a29beb Added Nanite Proxy Percent option to MeshMergeSettings / MeshProxySettings
#rb patrick.enfedaque

[CL 16202021 by Sebastien Lussier in ue5-main branch]
2021-05-04 21:13:05 -04:00
Sebastien Lussier
e8c74f62ab #jira UE-114024
Fixed test failure - ActorMerging_SingleLODMaterialBaking

Corrected bad conversion from EMaterialProperty to EFlattenMaterialProperties using array indexing... now using a map.
Fixed slight delta in ground truth images as the floor pattern moved a bit (irrelevant to the actor merging test)
#rb patrick.enfedaque

[CL 16184268 by Sebastien Lussier in ue5-main branch]
2021-05-03 11:09:54 -04:00
Rune Stubbe
9dbd92093b New Nanite vertex quantization code that replaces the cluster-relative coordinates with quantization to an absolute po2-sized grid centered around the mesh center.
The scheme solves issues where meshes would no longer align properly after converting them to Nanite. It also solves the precision issues in clusters with triangles of non-uniform size.
By default the precision is heuristically selected by Nanite, but the user also has the ability to override with an explicit precision to solve issues or optimize for disk size.
Clusters store the coordinate components using the minimal number of bits required to span the range of values in the cluster.
Apart from fixing issues, the default quality seems no worse than before and is typically ~5-10% smaller than before.

Added Position Precision to the top left of Mesh viewer along with the other mesh stats.
Added Position Precision dropdown to Nanite import settings.
Added debug mode "r.nanite.visualize PositionBits" that shows the vertex position bit sizes for clusters.
New quantization code now updates float positions and cluster bounds to reflect the quantized coordinates.

#rb brian.karis, graham.wihlidal
#JIRA UE-102722
#preflight 607d56774df3b60001ef477c

[CL 16049335 by Rune Stubbe in ue5-main branch]
2021-04-19 06:58:00 -04:00
christopher waters
688c029803 Tessellation Removal: Removing Tessellation specific material parameters.
#jira UE-94564
#rb ben.ingram, sebastien.hillaire, arciel.rekman, jason.nadro
#preflight 6078b15161a9060001161a4c

[CL 16034000 by christopher waters in ue5-main branch]
2021-04-16 10:46:28 -04:00
sebastien lussier
25be01902a Avoid renderdata of HLOD being recomputed during cook package save because of non-deterministic guid
- Preserve guid during save if static mesh bulkdata content hasn't changed to avoid triggering unnecessary rebuilds
  - Make sure the next HLOD generation is going to use the HashAsGuid feature to avoid recompiling staticmesh that are generated if they are exactly the same as before

  - 31m10s to 14m15s to cook P_Construct_WP with a warmed-up DDC

#rb Matt.Peters, Sebastien.Lussier, Yuriy.ODonnell, Danny.Couture

#ushell-cherrypick of 15755322 by danny.couture
#lockdown simon.tourangeau

#ROBOMERGE-SOURCE: CL 15965125 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v787-15839533)

[CL 15981275 by sebastien lussier in ue5-main branch]
2021-04-12 15:18:55 -04:00
sebastien lussier
4fca75067f Allow the creation of virtual textures when baking HLODs
* Specifying a flatten material that use VT samplers will automatically create textures of the correct type
* Moved default flatten material to config
* Default is now to use VT for HLOD
#rb jeremy.moore
#jira none
#lockdown simon.tourangeau

#ROBOMERGE-SOURCE: CL 15947766 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v787-15839533)

[CL 15950281 by sebastien lussier in ue5-main branch]
2021-04-07 22:20:44 -04:00
sebastien lussier
8bc113f6ba ProxyLOD - Added support for providing instances transforms rather than having to build a gigantic FMeshDescription that include all instances
#rb jeanfrancois.dube

#ROBOMERGE-SOURCE: CL 15875370 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v786-15839533)

[CL 15875374 by sebastien lussier in ue5-main branch]
2021-03-31 10:52:22 -04:00
danny couture
95600e2d31 Avoid renderdata of HLOD being recomputed during cook package save because of non-deterministic guid
- Preserve guid during save if static mesh bulkdata content hasn't changed to avoid triggering unnecessary rebuilds
  - Make sure the next HLOD generation is going to use the HashAsGuid feature to avoid recompiling staticmesh that are generated if they are exactly the same as before

  - 31m10s to 14m15s to cook P_Construct_WP with a warmed-up DDC

#fyi Richard.TalbotWatkin
#rb Matt.Peters, Sebastien.Lussier, Yuriy.ODonnell

[CL 15755322 by danny couture in ue5-main branch]
2021-03-20 20:01:33 -04:00
Sebastien Lussier
25b2eccee5 Fixed issue with PrepareBakingMeshes() asserting when running some code in parallel threads
#fyi Andriy.Tylychko

[CL 15676321 by Sebastien Lussier in ue5-main branch]
2021-03-11 10:25:28 -04:00
Sebastien Lussier
06ccaf7c69 Optimized proxy mesh generation
* Added GroupIdenticalMeshesForBaking, which, when activated, will result in identical meshes (or mesh instances) being baked only once.

Other changes/fixes
* Always rely on the StaticMesh RenderData when retrieving mesh description for mesh merging/simplification (was the case when retrieving from a SMC, now also the case for a SM).
* For some reason, Material baking was rendering each triangle twice, but with opposite facing. Uneeded as we are rendering with backface culling disabled.

[CL 15669055 by Sebastien Lussier in ue5-main branch]
2021-03-10 15:46:29 -04:00
Sebastien Lussier
9c631eef97 Mesh merging - Added option to generate Nanite enabled meshes
#rb jeanfrancois.dube
#robomerge Release-5.0-EarlyAccess

[CL 15540751 by Sebastien Lussier in ue5-main branch]
2021-02-26 12:32:53 -04:00
Sebastien Lussier
909c8062b7 Fix proxy mesh generation failing with sections that have no triangles
#fyi Richard.Malo
#robomerge Release-5.0-EarlyAccess

[CL 15532832 by Sebastien Lussier in ue5-main branch]
2021-02-25 16:28:02 -04:00
christopher waters
c45f1dfad5 Removing Tessellation:
- Removed Tessellation settings from Materials and Material Interfaces
- Removed Adjacency buffers from Static and Skeletal Meshes.

#jira UE-94564
#rb jeremy.moore, josie.yang, kevin.ortegren, yuriy.odonnell

#ROBOMERGE-OWNER: christopher.waters
#ROBOMERGE-AUTHOR: christopher.waters
#ROBOMERGE-SOURCE: CL 15501023 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v771-15082668)
#ROBOMERGE-CONFLICT from-shelf

[CL 15502653 by christopher waters in ue5-main branch]
2021-02-23 14:03:21 -04:00
Marc Audy
bc88b73a29 Merge Release-Engine-Staging to Main @ CL# 15151250
Represents UE4/Main @ 15133763

[CL 15158774 by Marc Audy in ue5-main branch]
2021-01-21 16:22:06 -04:00
julien lheureux
7a2733d861 - Adapted the MergeActors dialog to the new UX style.
- Refactored the MergeActors different panels to reuse the same code.
- Adapted quick merge actions (required some refactoring)
- Fixed some issues with the "replace source actors" feature vs. actual selection
- Fixed crash when using the instancing mode with "replace source actors" enabled.

#rb sebastien.lussier
#jira UETOOL-2808

[CL 15019677 by julien lheureux in ue5-main branch]
2021-01-08 11:22:39 -04:00
Sebastien Lussier
4628d9d8ae Output an error if calling FMeshMergeUtilities::CreateProxyMesh() without having the necessary plugin enabled
#rb julien.lheureux

[CL 15014354 by Sebastien Lussier in ue5-main branch]
2021-01-07 15:43:07 -04:00
Andrew Davidson
10bca5261b Double math ambiguity Engine fixes
#rb jeanfrancois.dube, trivial

[CL 14974758 by Andrew Davidson in ue5-main branch]
2021-01-04 07:59:22 -04:00
Marc Audy
ada7c144fa Merge //UE5/Release-Engine-Staging @14903491 to //UE5/Main
[CL 14906022 by Marc Audy in ue5-main branch]
2020-12-11 14:21:20 -04:00
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
Sebastien Lussier
e12e225fc9 Optimized HLOD merged mesh generation
* Avoid recreating render states for all primitives in the world
#rb jeanfrancois.dube

[CL 14776513 by Sebastien Lussier in ue5-main branch]
2020-11-18 11:41:34 -04:00
Sebastien Lussier
f972122780 Optimized HLOD proxy mesh generation
* Avoid recreating render states for all primitives in the world
#rb jeanfrancois.dube

[CL 14753004 by Sebastien Lussier in ue5-main branch]
2020-11-16 09:42:29 -04:00