Commit Graph

443 Commits

Author SHA1 Message Date
ola olsson
1e7d818b97 Remove needless include of NaniteDefinitions.h to cut UE build items due to changes from ~5000 to ~100
#rnx
#rb graham.wihlidal

[CL 30629721 by ola olsson in ue5-main branch]
2024-01-16 03:46:33 -05:00
aditya ravichandran
a94abf2d1c UToolMenus: Add API to support Menu Profiles, a menu profile is a lightweight version of a menu customization - but you can have multiple menu profiles and activate/deactivate them at runtime per menu instance using a new menu context.
Read Only Asset Editors: Automatically hide any custom menu and toolbar items in read only mode, with an opt in permission list for specific asset editors to selectively allow entries that are valid in read only mode

#jira UE-195628
#rb Rex.Hill

[CL 29809442 by aditya ravichandran in ue5-main branch]
2023-11-17 11:26:45 -05:00
jimmy andrews
534a32db46 Add level set visualization to static mesh editor's simple collision visualization + editing system
#jira UE-197439
#rb tyson.brochu

[CL 29795455 by jimmy andrews in ue5-main branch]
2023-11-16 18:40:46 -05:00
mihnea balta
3d560f9cc1 Fix crash when clicking outside the mesh in the static mesh editor viewport if meshes had more than one section.
The edge selection code wasn't taking into account the start index for each section. It assumed that sections are arranged consecutively in the index buffer, which is not true in general.

#jira UE-199512
#rnx
#rb Luke.Thatcher

[CL 29518883 by mihnea balta in ue5-main branch]
2023-11-07 09:02:01 -05:00
jamie hayes
16ce5d4a78 Add an option for Nanite meshes to consider edge length during simplification as a means of preventing oversimplification of meshes that are intended to be deformed (e.g. via WPO, Spline Mesh Component).
#rb brian.karis

[CL 28594884 by jamie hayes in ue5-main branch]
2023-10-09 15:40:27 -04:00
Brian Karis
a622f52036 Added LerpUVs property to Nanite static mesh settings.
Enabled by default. When disabled UVs are not lerped in the simplifier. This is useful when data stored in UVs isn't valid to interpolate, for example indexes.

Fixed long standing bug where locked boundary verts still would get attributes recalculated when taking part in an edge collapse. This results in them not matching when later merged with their neighbor, causing attribute discontinuities where they previously weren't. That will degrade further simplification, bloat vertex work, bloat vertex storage, and generally look worse.

Can reduce rendered vertex count by 14% and disk size by 3%.

#rb rune.stubbe, graham.wihlidal
#lockdown marc.audy

[CL 27715715 by Brian Karis in ue5-main branch]
2023-09-08 12:38:58 -04:00
aditya ravichandran
a90d73d766 Asset Editors: Add support for opening cooked assets in a new "Read Only" mode for asset editors, starting with the Static Mesh Editor and Texture Editor.
#jira UE-187048
#rb jason.stasik

[CL 27595048 by aditya ravichandran in ue5-main branch]
2023-09-05 10:01:26 -04:00
jason hoerner
fcc5666066 UDN bug fix: UStaticMeshEditorSubsystem::SetLodScreenSizes should allow values greater than 1.0. Originally it was clamped to 1.0, as the user interface sliders were clamped at that, but it's possible and useful to numerically set them outside that range, and the automation command shouldn't disallow it.
#jira none
#rb Jason.Nadro

[CL 26050594 by jason hoerner in ue5-main branch]
2023-06-16 10:12:57 -04:00
graham wihlidal
f44e4131c5 Changed Nanite::FResources member on static mesh render to an abstracted TPimplPtr<> to fully decouple NaniteResources.h from StaticMeshResources.h, avoiding costly full engine rebuilds whenever we iterate on Nanite, and provide us a mechanism going forward to move more of our API private.
#rb brian.karis, rune.stubbe
#fyi christopher.waters, juan.canada, yuriy.odonnell, henrik.karlsson
#preflight 6470360127390642751d5d60

[CL 25638055 by graham wihlidal in ue5-main branch]
2023-05-26 00:55:23 -04:00
kirill zorin
de8db5ff76 Converting ARO-facing raw pointers to TObjectPtr ahead of raw pointer ARO API deprecation.
#rb zousar.shaker
#rb markus.breyer
#rb robert.manuszewski

#preflight 646391406b1406b54ab15460

[CL 25489627 by kirill zorin in ue5-main branch]
2023-05-16 10:52:49 -04:00
bryan sefcik
d205101cc8 Removed unnecessary private include modules.
#preflight 645da640cf788a25581110bb

[CL 25451545 by bryan sefcik in ue5-main branch]
2023-05-12 12:13:52 -04:00
bryan sefcik
91c57d395e Removed redundant module includes.
#preflight 645d4bf3aa3c584c0b5b3a67

[CL 25435653 by bryan sefcik in ue5-main branch]
2023-05-11 16:48:21 -04:00
aditya ravichandran
31830290ab Asset Editors: Deprecate OnClose and RequestClose in favor of similar functions that take in a close reason
Fix a crash in some asset editors when you force deleted an asset with pending changes and hit "cancel" on the save dialog

#jira UE-107248
#preflight 64517c880e33f2d51d6e3adb

[CL 25321878 by aditya ravichandran in ue5-main branch]
2023-05-03 14:45:26 -04:00
Rune Stubbe
737c77422f Nanite support for explicit tangents
#jira UE-166732
#rb brian.karis
#fyi graham.wihlidal, jamie.hayes
#preflight 644f9d045403400548450480

[CL 25282711 by Rune Stubbe in ue5-main branch]
2023-05-01 07:48:12 -04:00
florin pascu
0f6d9d9b28 Use PerPlatformProperties properly when in preview
#jira UE-175594
#rb Jack.Porter
#preflight 6408854ec13b7130d2aa2d5b

[CL 24559190 by florin pascu in ue5-main branch]
2023-03-08 09:39:07 -05:00
tiago costa
99ce024d70 Keep all Nanite settings controls in Static Mesh Editor enabled when Nanite is force enabled on the mesh.
#rb graham.wihlidal
#preflight 6402363a5515f4f57be55253

[CL 24508793 by tiago costa in ue5-main branch]
2023-03-03 17:36:09 -05:00
kevin ortegren
4b4f0aa5eb Adding cvar to determine the default collapse mode of Nanite Settings in the details panel of the Static Mesh Editor Tool.
#rnx
#rb jason.stasik, sara.zokaei
#preflight 64009775ef1b24bf94ffe8a2
#test editor

[CL 24493640 by kevin ortegren in ue5-main branch]
2023-03-02 20:26:10 -05:00
Florin Pascu
106ea7508c Preparation changes for removing FeatureLevel from World
FeatureLevel is Deprecated
Add Setter/Getter for FeatureLevel
NextStep: Make GetFeatureLevel returns DDSPI::GetFeatureLevel, remove FeatureLevel memberfrom UWorld
#jira UE-168551
#rb christopher.waters
#preflight 63ff5e49f43e53f6811c86a4

[CL 24461796 by Florin Pascu in ue5-main branch]
2023-03-01 09:41:33 -05:00
tiago costa
71f30ec582 Update which Nanite controls are exposed for Static Meshes in UEFN.
- Context: Nanite support is automatically enabled on all meshes so want to expose quality controls and hide controls to enable/disable Nanite support.
- Expose Nanite quality settings in Static Mesh Editor.
- Hide Nanite menu in Content Browser / Static Mesh Actions.
- Hide option to enable Nanite in FBX import options.

#preflight 63fd3bd3f43e53f6812f8067
#rb aleksander.netzel

[CL 24437086 by tiago costa in ue5-main branch]
2023-02-27 21:08:22 -05:00
brian karis
d1901ae146 Added Nanite static mesh setting: Fallback target.
This is an enum to say which target to reduce to for the fallback. It makes the default "Auto" which gives us more ability to change the default heuristic without needing to change uproperty defaults.

Along with this added r.Nanite.Builder.FallbackTriangleThreshold. Any mesh with source triangle count less than this threshold uses the source triangles directly for the fallback.

#rb graham.wihlidal
#lockdown marc.audy

#preflight 63f0041b1d71bcd26225228c

[CL 24330590 by brian karis in ue5-main branch]
2023-02-20 18:59:18 -05:00
Rune Stubbe
ac1c83ce92 Added new "Root Geometry" visualization. (r.Nanite.Visualize RootGeometry).
Changed Nanite visualization mode values from bits to consecutive numbers.
Removed temporary debug cvars r.Nanite.Streaming.Debug.TrimLockRegion and r.Nanite.Streaming.Debug.PersistPageUploadBuffer

Streamer now updates of cluster leaf flags using a custom shader that preserves the other flags, so we can now support multipe cluster flags.
Moved streaming shaders to separate files.

Format updates:
-Leaf flag subdivided into 3 different flags.
--Root leaf: Clusters that are leaves when only the root data is loaded. Needed for RootData visualization.
--Streaming leaf: Clusters that are leaves with the current streaming cut. Previous leaf semantics.
--Full leaf: Clusters that are leaves when everything is fully streamed in. Useful for VSM cache invalidation heuristics.

-Added root group flag for identifying groups that are fully inside the streaming cut (needed for RootData visualization).
-Added hierarchy depth to pages. Useful for bounding number of passes for multipass culling.

#rb graham.wihlidal
#fyi brian.karis, jamie.hayes
#preflight 63f36aed81646f1f249f2c76

[CL 24312697 by Rune Stubbe in ue5-main branch]
2023-02-20 08:07:14 -05:00
graham wihlidal
70fd7c02c5 Refactored places fetching the result of NaniteSettings.bEnabled to instead get the value from UStatic::IsNaniteEnabled() so it correctly includes the force flag (except places using it to determine whether settings should be set).
#fyi brian.karis
#preflight trivial

[CL 24291376 by graham wihlidal in ue5-main branch]
2023-02-17 16:35:05 -05:00
dave belanger
41f6b2e3bd Expose StaticMesh LOD ScreenSize property (a detail customization row)
#rb none
#preflight skip

[CL 24215602 by dave belanger in ue5-main branch]
2023-02-14 13:02:53 -05:00
Rune Stubbe
ffb5c81aad Added normal/TangentZ precision controls for Nanite meshes
#rb graham.wihlidal
#fyi brian.karis, jamie.hayes
#jira https://jira.it.epicgames.com/browse/UE-167934
#preflight 63d12f69be435f17b4d5eb51

[CL 23846959 by Rune Stubbe in ue5-main branch]
2023-01-25 09:05:47 -05:00
Patrick Boutot
4f85955998 Remove unneeded test to GIntraFrameDebuggingGameThread.
#jira UE-103290
#rb lauren.barnes
#preflight 63c2d13302024f93d8806236

[CL 23728218 by Patrick Boutot in ue5-main branch]
2023-01-16 07:20:04 -05:00