UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
StaticMeshSceneProxyDesc.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
6#include "Components/StaticMeshComponent.h" // STATICMESH_ENABLE_DEBUG_RENDERING
7
8class UBodySetup;
11
13{
15 ENGINE_API FStaticMeshSceneProxyDesc(const UStaticMeshComponent*);
17
18 ENGINE_API void InitializeFromStaticMeshComponent(const UStaticMeshComponent*);
19
23
25
31
34
37
40
47
48 //@todo: share color selection logic according to mobility with USMC?
49 FColor WireframeColor = FColor(0, 255, 255, 255);
50
52#if STATICMESH_ENABLE_DEBUG_RENDERING
55#endif
58
63
68
71
73
75
76#if WITH_EDITORONLY_DATA
77 float StreamingDistanceMultiplier = 1.0f;
83
85#endif
86
87 bool IsReverseCulling() const
88 {
89 return bReverseCulling;
90 }
91
92 bool IsDisallowNanite() const
93 {
94 return bDisallowNanite;
95 }
96
98 {
100 }
101
103 {
105 }
106
108 {
109 return ForcedLodModel;
110 }
111
113 {
115 }
116
118 {
119 return StaticMesh;
120 }
121
123 {
124 return LODParentPrimitive;
125 }
126
128 {
129 return NaniteResources;
130 }
131
133 {
134 return OverlayMaterial;
135 }
136
141
146
148 {
149 return Component;
150 }
151
153 {
154 return WireframeColor;
155 }
156
157 // Begin FPrimitiveSceneProxyDesc interface
159 // End FPrimitiveSceneProxyDesc interface
160
163
165
166 ENGINE_API const UStaticMeshComponent* GetUStaticMeshComponent() const;
168
171
172 UE_DEPRECATED(5.7, "Please use GetMaterialRelevance with EShaderPlatform argument and not ERHIFeatureLevel::Type")
174
176
178
179 ENGINE_API bool HasValidNaniteData() const;
180 ENGINE_API bool ShouldCreateNaniteProxy(Nanite::FMaterialAudit* OutNaniteMaterials = nullptr) const;
183
186
187};
188
189#if UE_ENABLE_INCLUDE_ORDER_DEPRECATED_IN_5_7
190#include "StaticMeshSceneProxy.h"
191#include "Engine/StaticMesh.h"
192#include "Materials/Material.h"
193#include "Engine/Engine.h"
196#endif
@ INDEX_NONE
Definition CoreMiscDefines.h:150
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
ELightmapType
Definition EngineTypes.h:210
EShaderPlatform
Definition RHIShaderPlatform.h:11
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition TextureResource.h:103
Definition ArrayView.h:139
Definition Array.h:670
Definition BodySetup.h:128
Definition MaterialInterface.h:296
Definition Object.h:95
Definition StaticMesh.h:593
Definition Texture.h:1219
Definition SceneComponent.h:24
Definition SkinnedMeshComponent.h:50
Definition EngineTypes.h:1339
Definition Color.h:486
Definition MaterialRelevance.h:13
Definition PrimitiveSceneProxyDesc.h:12
UObject * Component
Definition PrimitiveSceneProxyDesc.h:19
Definition StaticMeshComponentLODInfo.h:14
Definition StaticMeshSceneProxyDesc.h:13
TArray< TObjectPtr< UMaterialInterface > > MaterialSlotsOverlayMaterial
Definition StaticMeshSceneProxyDesc.h:21
int32 MeshPaintTextureCoordinateIndex
Definition StaticMeshSceneProxyDesc.h:45
UStaticMesh * GetStaticMesh() const
Definition StaticMeshSceneProxyDesc.h:117
ENGINE_API bool ShouldCreateNaniteProxy(Nanite::FMaterialAudit *OutNaniteMaterials=nullptr) const
Definition StaticMeshSceneProxyDesc.cpp:195
FColor WireframeColor
Definition StaticMeshSceneProxyDesc.h:49
ENGINE_API FStaticMeshSceneProxyDesc()
Definition StaticMeshSceneProxyDesc.cpp:10
ENGINE_API void SetMaterialRelevance(const FMaterialRelevance &InRelevance)
Definition StaticMeshSceneProxyDesc.cpp:144
uint32 bOverrideDistanceFieldSelfShadowBias
Definition StaticMeshSceneProxyDesc.h:60
float DistanceFieldSelfShadowBias
Definition StaticMeshSceneProxyDesc.h:38
uint32 bSortTriangles
Definition StaticMeshSceneProxyDesc.h:62
bool ShouldCreateMaterialCacheProxy() const
Definition StaticMeshSceneProxyDesc.cpp:129
UStaticMesh * StaticMesh
Definition StaticMeshSceneProxyDesc.h:26
ELightmapType LightmapType
Definition StaticMeshSceneProxyDesc.h:74
bool IsForceDisableNanite() const
Definition StaticMeshSceneProxyDesc.h:97
uint32 bForceNaniteForMasked
Definition StaticMeshSceneProxyDesc.h:67
UBodySetup * BodySetup
Definition StaticMeshSceneProxyDesc.h:27
UObject * LODParentPrimitive
Definition StaticMeshSceneProxyDesc.h:28
FColor GetWireframeColor() const
Definition StaticMeshSceneProxyDesc.h:152
ENGINE_API UBodySetup * GetBodySetup() const
Definition StaticMeshSceneProxyDesc.cpp:175
UMaterialInterface * GetOverlayMaterial() const
Definition StaticMeshSceneProxyDesc.h:132
uint32 bDisallowNanite
Definition StaticMeshSceneProxyDesc.h:65
uint32 bUseProvidedMaterialRelevance
Definition StaticMeshSceneProxyDesc.h:69
bool IsDisallowNanite() const
Definition StaticMeshSceneProxyDesc.h:92
bool IsReverseCulling() const
Definition StaticMeshSceneProxyDesc.h:87
uint32 bUseProvidedCollisionResponseContainer
Definition StaticMeshSceneProxyDesc.h:70
bool IsForceNaniteForMasked() const
Definition StaticMeshSceneProxyDesc.h:102
FTextureResource * GetMeshPaintTextureResource() const
Definition StaticMeshSceneProxyDesc.cpp:166
ENGINE_API const UStaticMeshComponent * GetUStaticMeshComponent() const
Definition StaticMeshSceneProxyDesc.cpp:134
int32 StaticLightMapResolution
Definition StaticMeshSceneProxyDesc.h:44
ENGINE_API ~FStaticMeshSceneProxyDesc()
ENGINE_API void InitializeFromStaticMeshComponent(const UStaticMeshComponent *)
Definition StaticMeshSceneProxyDesc.cpp:45
int32 GetStaticLightMapResolution() const
Definition StaticMeshSceneProxyDesc.h:142
TObjectPtr< UMaterialInterface > OverlayMaterial
Definition StaticMeshSceneProxyDesc.h:32
float DistanceFieldIndirectShadowMinVisibility
Definition StaticMeshSceneProxyDesc.h:39
UTexture * MeshPaintTexture
Definition StaticMeshSceneProxyDesc.h:29
UObject * GetLODParentPrimitive() const
Definition StaticMeshSceneProxyDesc.h:122
ENGINE_API void SetCollisionResponseToChannels(const FCollisionResponseContainer &InContainer)
Definition StaticMeshSceneProxyDesc.cpp:210
int32 MinLOD
Definition StaticMeshSceneProxyDesc.h:42
UObject * GetObjectForPropertyColoration() const
Definition StaticMeshSceneProxyDesc.h:147
int32 ForcedLodModel
Definition StaticMeshSceneProxyDesc.h:41
TArrayView< FStaticMeshComponentLODInfo > LODData
Definition StaticMeshSceneProxyDesc.h:24
uint32 bForceDisableNanite
Definition StaticMeshSceneProxyDesc.h:66
uint32 bOverrideMinLOD
Definition StaticMeshSceneProxyDesc.h:57
const Nanite::FResources * GetNaniteResources() const
Definition StaticMeshSceneProxyDesc.h:127
ENGINE_API bool HasValidNaniteData() const
Definition StaticMeshSceneProxyDesc.cpp:190
int32 WorldPositionOffsetDisableDistance
Definition StaticMeshSceneProxyDesc.h:43
int32 MaterialCacheTextureCoordinateIndex
Definition StaticMeshSceneProxyDesc.h:46
ENGINE_API const FCollisionResponseContainer & GetCollisionResponseToChannels() const
Definition StaticMeshSceneProxyDesc.cpp:218
uint32 bEvaluateWorldPositionOffset
Definition StaticMeshSceneProxyDesc.h:56
TArray< UMaterialCacheVirtualTexture * > MaterialCacheTextures
Definition StaticMeshSceneProxyDesc.h:22
uint32 bDisplayNaniteFallbackMesh
Definition StaticMeshSceneProxyDesc.h:64
int32 GetForcedLodModel() const
Definition StaticMeshSceneProxyDesc.h:107
uint32 bReverseCulling
Definition StaticMeshSceneProxyDesc.h:51
bool IsDisplayNaniteFallbackMesh() const
Definition StaticMeshSceneProxyDesc.h:112
ENGINE_API void GetMaterialSlotsOverlayMaterial(TArray< TObjectPtr< UMaterialInterface > > &OutMaterialSlotsOverlayMaterial) const
Definition StaticMeshSceneProxyDesc.cpp:139
FMaterialRelevance MaterialRelevance
Definition StaticMeshSceneProxyDesc.h:33
ENGINE_API FMaterialRelevance GetMaterialRelevance(EShaderPlatform ShaderPlatform) const
Definition StaticMeshSceneProxyDesc.cpp:150
virtual ENGINE_API void GetUsedMaterials(TArray< UMaterialInterface * > &OutMaterials, bool bGetDebugMaterials=false) const override
Definition StaticMeshSceneProxyDesc.cpp:114
ENGINE_API UMaterialInterface * GetMaterial(int32 MaterialIndex, bool bDoingNaniteMaterialAudit=false, bool bIgnoreNaniteOverrideMaterials=false) const
Definition StaticMeshSceneProxyDesc.cpp:119
TArrayView< TObjectPtr< UMaterialInterface > > OverrideMaterials
Definition StaticMeshSceneProxyDesc.h:20
float NanitePixelProgrammableDistance
Definition StaticMeshSceneProxyDesc.h:36
float OverlayMaterialMaxDrawDistance
Definition StaticMeshSceneProxyDesc.h:35
float GetOverlayMaterialMaxDrawDistance() const
Definition StaticMeshSceneProxyDesc.h:137
const Nanite::FResources * NaniteResources
Definition StaticMeshSceneProxyDesc.h:30
TOptional< FCollisionResponseContainer > CollisionResponseContainer
Definition StaticMeshSceneProxyDesc.h:72
ENGINE_API UMaterialInterface * GetNaniteAuditMaterial(int32 MaterialIndex) const
Definition StaticMeshSceneProxyDesc.cpp:205
ENGINE_API int32 GetNumMaterials() const
Definition StaticMeshSceneProxyDesc.cpp:124
uint32 bCastDistanceFieldIndirectShadow
Definition StaticMeshSceneProxyDesc.h:59
uint32 bEvaluateWorldPositionOffsetInRayTracing
Definition StaticMeshSceneProxyDesc.h:61
ENGINE_API bool UseNaniteOverrideMaterials(bool bDoingMaterialAudit) const
Definition StaticMeshSceneProxyDesc.cpp:200
Definition NaniteResources.h:410
Definition ObjectPtr.h:488
Definition Optional.h:131