UDocumentation
UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
HLODProxy.h
Go to the documentation of this file.
1
// Copyright Epic Games, Inc. All Rights Reserved.
2
3
#pragma once
4
5
#include "
CoreMinimal.h
"
6
#include "
HLOD/HLODProxyDesc.h
"
7
#include "
HLOD/HLODProxyMesh.h
"
8
#include "HLODProxy.generated.h"
9
10
class
ALODActor
;
11
class
UMaterialInterface
;
12
class
UPrimitiveComponent;
13
class
UStaticMesh
;
14
class
UStaticMeshComponent;
15
class
UTexture
;
16
18
UCLASS
(MinimalAPI)
19
class
UHLODProxy
:
public
UObject
20
{
21
GENERATED_BODY
()
22
23
public
:
24
#if WITH_EDITOR
26
ENGINE_API
void
SetMap
(
const
UWorld
*
InMap
);
27
29
ENGINE_API
TSoftObjectPtr<UWorld>
GetMap()
const
;
30
32
ENGINE_API
UHLODProxyDesc
*
AddLODActor
(
ALODActor
*
InLODActor
);
33
35
ENGINE_API
void
AddMesh(
ALODActor
*
InLODActor
,
UStaticMesh
*
InStaticMesh
,
const
FName
&
InKey
);
36
38
ENGINE_API
void
Clean();
39
41
ENGINE_API
void
SpawnLODActors
(
ULevel
*
InLevel
);
42
44
ENGINE_API
void
UpdateHLODDescs
(
const
ULevel
*
InLevel
);
45
47
static
ENGINE_API
const
AActor
* FindFirstActor(
const
ALODActor
* LODActor);
48
50
static
ENGINE_API
void
ExtractComponents
(
const
ALODActor
* LODActor,
TArray<UPrimitiveComponent*>
&
InOutComponents
);
51
53
static
ENGINE_API
FName
GenerateKeyForActor
(
const
ALODActor
* LODActor,
bool
bMustUndoLevelTransform
=
true
);
54
55
static
ENGINE_API
uint32
GetCRC
(
const
FTransform
&
InTransform
,
uint32
InCRC
= 0);
56
static
ENGINE_API
uint32
GetCRC
(
UMaterialInterface
*
InMaterialInterface
,
uint32
InCRC
= 0);
57
static
ENGINE_API
uint32
GetCRC
(
UTexture
*
InTexture
,
uint32
InCRC
= 0);
58
static
ENGINE_API
uint32
GetCRC
(
UStaticMesh
*
InStaticMesh
,
uint32
InCRC
= 0,
bool
bInConsiderPhysicData
=
false
);
59
static
ENGINE_API
uint32
GetCRC
(UStaticMeshComponent*
InComponent
,
uint32
InCRC
= 0,
const
FTransform
&
TransformComponents
=
FTransform::Identity
);
60
61
ENGINE_API
virtual
void
PostLoad
()
override
;
62
ENGINE_API
virtual
void
PreSave
(
FObjectPreSaveContext
ObjectSaveContext)
override
;
63
65
ENGINE_API
bool
IsEmpty
()
const
;
66
68
ENGINE_API
void
DeletePackage
();
69
71
ENGINE_API
bool
SetHLODBakingTransform
(
const
FTransform
&
InTransform
);
72
#endif
73
80
static
ENGINE_API
void
ExtractStaticMeshComponentsFromLODActor
(
const
ALODActor
* LODActor,
TArray<UStaticMeshComponent*>
&
InOutComponents
);
81
82
#if !(UE_BUILD_SHIPPING || UE_BUILD_TEST) || WITH_EDITOR
84
ENGINE_API
bool
ContainsDataForActor(
const
ALODActor
*
InLODActor
)
const
;
85
#endif
86
87
private
:
88
#if WITH_EDITOR
89
// Remove all assets associated with the given proxy mesh
90
void
RemoveAssets
(
const
FHLODProxyMesh
&
ProxyMesh
);
91
92
// Clear object flags to ensure it can be properly GC'd and removed from its package.
93
void
DestroyObject(
UObject
* Obj);
94
#endif
95
96
#if WITH_EDITORONLY_DATA
98
UPROPERTY
(VisibleAnywhere, Category =
"Proxy Mesh"
)
99
TSoftObjectPtr
<
UWorld
>
OwningMap
;
100
#endif
101
103
UPROPERTY
(VisibleAnywhere, Category =
"Proxy Mesh"
)
104
TArray
<
FHLODProxyMesh
> ProxyMeshes;
105
106
UPROPERTY
(VisibleAnywhere, Category = "Proxy
Mesh
")
107
TMap
<
TObjectPtr
<
UHLODProxyDesc
>,
FHLODProxyMesh
> HLODActors;
108
};
EAsyncPackageLoadingState2::PostLoad
@ PostLoad
CoreMinimal.h
StaticCastSharedRef
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition
SharedPointer.h:127
HLODProxyDesc.h
HLODProxyMesh.h
UPROPERTY
#define UPROPERTY(...)
UObject definition macros.
Definition
ObjectMacros.h:744
GENERATED_BODY
#define GENERATED_BODY(...)
Definition
ObjectMacros.h:765
UCLASS
#define UCLASS(...)
Definition
ObjectMacros.h:776
EObjectSaveContextPhase::PreSave
@ PreSave
EUniqueIdEncodingFlags::IsEmpty
@ IsEmpty
EVisualLoggerShapeElement::Mesh
@ Mesh
uint32
uint32_t uint32
Definition
binka_ue_file_header.h:6
AActor
Definition
Actor.h:257
ALODActor
Definition
LODActor.h:70
FName
Definition
NameTypes.h:617
FObjectPreSaveContext
Definition
ObjectSaveContext.h:244
TArray
Definition
Array.h:670
TMap
Definition
UnrealString.h.inl:34
UHLODProxyDesc
Definition
HLODProxyDesc.h:44
UHLODProxy
Definition
HLODProxy.h:20
UHLODProxy::ExtractStaticMeshComponentsFromLODActor
static ENGINE_API void ExtractStaticMeshComponentsFromLODActor(const ALODActor *LODActor, TArray< UStaticMeshComponent * > &InOutComponents)
ULevel
Definition
Level.h:423
UMaterialInterface
Definition
MaterialInterface.h:296
UObject
Definition
Object.h:95
UStaticMesh
Definition
StaticMesh.h:593
UTexture
Definition
Texture.h:1219
UWorld
Definition
World.h:918
FHLODProxyMesh
Definition
HLODProxyMesh.h:14
TObjectPtr
Definition
ObjectPtr.h:488
TSoftObjectPtr
Definition
SoftObjectPtr.h:174
UE::Math::TTransform< double >
UE::Math::TTransform< double >::Identity
static CORE_API const TTransform< double > Identity
Definition
TransformNonVectorized.h:58
Engine
Source
Runtime
Engine
Classes
Engine
HLODProxy.h
Generated by
1.9.8