Commit Graph

172 Commits

Author SHA1 Message Date
Lauren Barnes
6248f8d412 Replacing legacy EditorStyle calls with AppStyle
#preflight 6272a74d2f6d177be3c6fdda
#rb Matt.Kuhlenschmidt

#ROBOMERGE-OWNER: Lauren.Barnes
#ROBOMERGE-AUTHOR: lauren.barnes
#ROBOMERGE-SOURCE: CL 20057269 via CL 20070159 via CL 20072035 via CL 20072203
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)
#ROBOMERGE-CONFLICT from-shelf

[CL 20105363 by Lauren Barnes in ue5-main branch]
2022-05-09 13:12:28 -04:00
daniel wright
05e0e5f329 'Affect Distance Field Lighting' per Static Mesh Section
* Useful to hide window frames in the distance field to work around over-occlusion

#ROBOMERGE-AUTHOR: daniel.wright
#ROBOMERGE-SOURCE: CL 19416394 via CL 19416400
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v928-19376421)

[CL 19417073 by daniel wright in ue5-main branch]
2022-03-16 23:42:08 -04:00
stu mckenna
f51cf6a24a - Notify about changes to min lod so system can respond
#rb michael.galetzka

#ROBOMERGE-AUTHOR: stu.mckenna
#ROBOMERGE-SOURCE: CL 19311513 via CL 19313582 via CL 19315919 via CL 19315942
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v926-19321884)

[CL 19347739 by stu mckenna in ue5-main branch]
2022-03-10 21:37:40 -05:00
krzysztof narkowicz
31a4f9aecb Lumen - surface cache generation improvements
* Added r.MeshCardRepresentation.Debug for surface cache debugging. It skips DDC reads and writes, allows to regenerate per static mesh on demand and appends extra debug visualization data to every generated mapping
* Surfels are now weighted by opacity - ratio of rays which hit in a given cell, and by visibility - how many rays can hit a given Surfel from outside the mesh. This helps to select most important surfaces to cover when hitting limits
* Removed distance constraint. It�s no longer needed when card discontinuities are already handled inside the surface cache sampling code. This allows to generate larger and more optimal cards
* Limit max number of surfels to prevent generation time from exploding, as dense two sided meshes like large trees can generate many more surfels than simple walls

[FYI] Daniel.Wright

#ROBOMERGE-AUTHOR: krzysztof.narkowicz
#ROBOMERGE-SOURCE: CL 19304117 via CL 19304128
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v926-19321884)

[CL 19346860 by krzysztof narkowicz in ue5-main branch]
2022-03-10 20:49:33 -05:00
leon huang
0193ffe8d3 Fix for CIS warnings for localization duplicate keys. Fixes simply involve changing one of the colliding localization keys.
#rnx
	#rb: Vincent.Gauthier
	#jira: UE-143620
	#preflight: 6222489d2f7d78332e121416
	#lockdown Mitchell.Wilson

#ROBOMERGE-AUTHOR: leon.huang
#ROBOMERGE-SOURCE: CL 19272838 in //UE5/Release-5.0/... via CL 19273134
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v924-19243027)

[CL 19275063 by leon huang in ue5-main branch]
2022-03-04 16:10:23 -05:00
serge bernier
a558eda684 Add support for QualityLevelMinLod in SkeletalMesh.
-add clear minlod conversion data
 -add QualityLevelMinLOD tags for static meshes
 -fix qualityLevel property customization OnAddEntry and OnRemoveEntry slate event

#rb [at]jack.porter,[at]jian.ru
#test consoles, pc, mobile (results FNTEST-66031)

#ROBOMERGE-OWNER: serge.bernier
#ROBOMERGE-AUTHOR: serge.bernier
#ROBOMERGE-SOURCE: CL 19129732 via CL 19131639 via CL 19133087 via CL 19134011 via CL 19137049
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)

[CL 19155608 by serge bernier in ue5-main branch]
2022-02-25 15:46:30 -05:00
brian karis
de6db094d8 Added KeepTrianglePercent and TrimRelativeError properties to Nanite static mesh settings.
These both trim detail from the Nanite data that is stored to disk and can be used to optimize disk size after import. Should be a super useful tool late in production.

#rb rune.stubbe
#lockdown michal.valient
#preflight 61fb25e6033a864b77e11ed6

#ROBOMERGE-AUTHOR: brian.karis
#ROBOMERGE-SOURCE: CL 18838594 in //UE5/Release-5.0/... via CL 18838602 via CL 18838937
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v910-18824042)

[CL 18838962 by brian karis in ue5-main branch]
2022-02-02 21:14:51 -05:00
brian karis
a208fbc50b Changed name on Nanite Proxy mesh to Nanite Fallback mesh.
Changed fallback settings to be largely error based with new property FallbackRelativeError.

Nanite builder will now provide the LOD fallbacks for all autogenerated LOD levels which is far faster than generating them from scratch.

#rb graham.wihlidal
#preflight 61f9e1fe9e4d23cd93b8d556

#ROBOMERGE-AUTHOR: brian.karis
#ROBOMERGE-SOURCE: CL 18820056 in //UE5/Release-5.0/... via CL 18820070 via CL 18822916
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v910-18824042)

[CL 18825066 by brian karis in ue5-main branch]
2022-02-02 08:19:56 -05:00
graham wihlidal
bac2a2b090 Moved all Nanite defines shared between C++ and shaders into a common header file, removing all the "keep this define in sync with this file" cases all over the code, and make the code a lot more maintainable. Common definitions now have a NANITE_ prefix to disambiguate global symbols
#rb rune.stubbe
#preflight 61f94f9ea6632a34f372dc39
[FYI] brian.karis, ola.olsson, jamie.hayes, andrew.lauritzen

#ROBOMERGE-AUTHOR: graham.wihlidal
#ROBOMERGE-SOURCE: CL 18808945 in //UE5/Release-5.0/... via CL 18809413 via CL 18822535
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v908-18788545)

[CL 18823295 by graham wihlidal in ue5-main branch]
2022-02-02 05:33:52 -05:00
UnrealBot
c47e81b2cb Branch snapshot for CL 18531810
[CL 18531810 in ue5-main branch]
2022-01-06 16:44:09 +00:00
UnrealBot
2987349d36 Branch snapshot for CL 18514113
[CL 18514113 in ue5-main branch]
2022-01-05 20:41:17 +00:00
krzysztof narkowicz
bbc28ea8b9 Lumen surface cache generation changes in order to fix surface coverage issues
* First mesh is voxelized by tracing rays in every voxel
* Then voxel faces are clustered in parallel to build continuos cards. Clustering follows voxel distance, card ratio, density and other metrics
* Finally a specificied number of cards is selected per mesh (user parameter). This allows to tradeoff between coverage and runtime overhead

Other:
* Added surface cache coverage view mode for debugging coverage issues - r.Lumen.Visualize.Mode 6
* Fixed r.LumenScene.SurfaceCache.CardMinResolution to be able to go below 2

#preflight 61d478acdb0309127dfaf8ec
#rb Daniel.Wright

#ROBOMERGE-AUTHOR: krzysztof.narkowicz
#ROBOMERGE-SOURCE: CL 18519098 in //UE5/Release-5.0/... via CL 18519102
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18519115 by krzysztof narkowicz in ue5-release-engine-test branch]
2022-01-05 10:30:05 -05:00
jian ru
88cdba5964 Add a NoRefStreamingLODBias setting for static and skeletal meshes. As the name suggests, it is a LOD bias that is only applied when a mesh doesn't have any component reference. The setting can be found in the static and skeletal mesh editors under the LOD Settings section. The default value is -1 which means using the value of r.Streaming.DefaultNoRefLODBias. If it is greater than or equal to 0, then the specified value will be used. The setting is implemented as a per quality level variable so users can specify different values for different quality levels. Users select what quality levels to use by setting r.Streaming.NoRefLODBiasQualityLevel under the ViewDistanceQuality sections in platform scalability ini files. For example, adding r.Streaming.NoRefLODBiasQualityLevel=0 and r.Streaming.NoRefLODBiasQualityLevel=1 to [ViewDistanceQuality[at]0] and [ViewDistanceQuality[at]1], respectively, in WindowsClientEngine.ini will make low and medium no-ref LOD biases selectable at runtime and they will be changed accordingly when changing view distance qualities. Since no value is specified for view distance quality 2 and up, the default no-ref LOD bias will be used. Note that this is the default value of the NoRefStreamingLODBias setting on a specific mesh. It is not r.Streaming.DefaultNoRefLODBias. The default value will be automatically set to the value of the lowest selected quality level. In the above example, if NoRefStreamingLODBias is 2 for low and 1 for medium, the default will be 2. If this is not desired, it is advised to explicitly specify the desired quality levels for all view distance qualities.
[FYI] bryce.lumpkin

#ROBOMERGE-OWNER: jian.ru
#ROBOMERGE-AUTHOR: jian.ru
#ROBOMERGE-SOURCE: CL 18501525 via CL 18501528 via CL 18501554 via CL 18501558 via CL 18505821 via CL 18505838
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18505843 by jian ru in ue5-release-engine-test branch]
2022-01-04 00:07:26 -05:00
jason stasik
6a2a6e029d Add customizable names to FPerPlatformPropertyCustomNodeBuilder
#rb sebastien.nordgren
#preflight 61af8895ee6e47a827e8ca45

#ROBOMERGE-AUTHOR: jason.stasik
#ROBOMERGE-SOURCE: CL 18397192 via CL 18402589 via CL 18402955 via CL 18402999 via CL 18434850 via CL 18437275
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v897-18405271)

[CL 18437332 by jason stasik in ue5-release-engine-test branch]
2021-12-10 20:34:26 -05:00
jon nabozny
b27dcfb385 Support for multiple root pages per Nanite resource
Added UI for changing minimum residency
Decoupled imposter data allocation from root page allocation
Removed convoluted logic around a page's dependencies including itself for legacy reasons
Made streaming of imposter data optional (r.Nanite.Streaming.Imposters)
#rb andrew.lauritzen, ola.olsson
#preflight 6163f8f8eaa06c0001e409ee
#lockdown michal.valient

#ROBOMERGE-OWNER: jon.nabozny
#ROBOMERGE-AUTHOR: rune.stubbe
#ROBOMERGE-SOURCE: CL 17770690 via CL 17986013 via CL 18368123 via CL 18368152
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18368223 by jon nabozny in ue5-release-engine-test branch]
2021-12-03 10:01:28 -05:00
aurel cordonnier
fc542f6cfd Merge from Release-Engine-Staging @ 18081189 to Release-Engine-Test
This represents UE4/Main @18073326, Release-5.0 @18081140 and Dev-PerfTest @18045971

[CL 18081471 by aurel cordonnier in ue5-release-engine-test branch]
2021-11-07 23:43:01 -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
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
matt kuhlenschmidt
a549f0e34a More static mesh editor cosmetic cleanup
#ROBOMERGE-AUTHOR: matt.kuhlenschmidt
#ROBOMERGE-SOURCE: CL 17629956 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v871-17566257)
#ROBOMERGE[STARSHIP]: UE5-Release-Engine-Staging Release-5.0

[CL 17629968 by matt kuhlenschmidt in ue5-release-engine-test branch]
2021-09-27 09:48:37 -04:00
matt kuhlenschmidt
d8cdbad5a5 Fix styling issues carried over from UE4 in the SME
#ROBOMERGE-AUTHOR: matt.kuhlenschmidt
#ROBOMERGE-SOURCE: CL 17584446 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v871-17566257)

[CL 17584458 by matt kuhlenschmidt in ue5-release-engine-test branch]
2021-09-21 13:02:36 -04:00
aurel cordonnier
dc4bf61540 Merge from Release-Engine-Staging @ 17030559 to Release-Engine-Test
This represents UE4/Main @ 17030256 and Dev-PerfTest @ 17030553

[CL 17031509 by aurel cordonnier in ue5-release-engine-test branch]
2021-08-03 11:56:47 -04:00
aurel cordonnier
02c0f425e8 Copy up from Release-Engine-Staging @ 16738359
This represents UE4/Main @ 16738161 and Dev-PerfTest @ 16737719

[CL 16738582 by aurel cordonnier in ue5-release-engine-test branch]
2021-06-22 00:27:54 -04:00
cedric caillaud
6b8435f4f2 Allow creating of a single Convex collision in static mesh editor
[FYI] benn.gallagher, kriss.gossart
#rb none

#ROBOMERGE-SOURCE: CL 16706776 via CL 16706795
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529)

[CL 16706807 by cedric caillaud in ue5-release-engine-test branch]
2021-06-17 13:33:59 -04:00
Marc Audy
e80ea6b959 Merge from Release-Engine-Staging @ 16444985
This represents UE4/Main @ 16445039 and Dev-PerfTest @ 16444526

[CL 16445122 by Marc Audy in ue5-release-engine-test branch]
2021-05-25 02:43:26 -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