Navigation
API > API/Runtime > API/Runtime/Engine
LODActor is an instance of an autogenerated StaticMesh Actors by Hierarchical LOD System This is essentially just StaticMeshActor that you can't move or edit, but it contains multiple actors reference
| Name | ALODActor |
| Type | class |
| Header File | /Engine/Source/Runtime/Engine/Classes/Engine/LODActor.h |
| Include Path | #include "Engine/LODActor.h" |
Syntax
UCLASS (NotPlaceable,
HideCategories=(Object, Collision, Display, Input, Blueprint, Transform, Physics),
MinimalAPI)
class ALODActor : public AActor
Inheritance Hierarchy
- UObjectBase → UObjectBaseUtility → UObject → AActor → ALODActor
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
ALODActor
(
const FObjectInitializer& ObjectInitializer |
Engine/LODActor.h |
Constants
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| CVarSink | FAutoConsoleVariableSink | Sink for when CVars are changed to check to see if the maximum HLOD level value has changed. | Engine/LODActor.h |
| HLODDistances | TArray< float > | Engine/LODActor.h |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| bOverrideMaterialMergeSettings | bool | Flag whether or not to use the override MaterialSettings when creating the proxy mesh | Engine/LODActor.h |
|
| bOverrideScreenSize | bool | Flag whether or not to use the override ScreenSize when creating the proxy mesh | Engine/LODActor.h |
|
| bOverrideTransitionScreenSize | bool | Flag whether or not to use the override TransitionScreenSize for this proxy mesh | Engine/LODActor.h |
|
| CachedNumHLODLevels | uint8 | Engine/LODActor.h | ||
| LODLevel | int32 | The hierarchy level of this actor; the first tier of HLOD is level 1, the second tier is level 2 and so on. | Engine/LODActor.h |
|
| MaterialSettings | FMaterialProxySettings | Override Material Settings, used when creating the proxy mesh | Engine/LODActor.h |
|
| NumTrianglesInMergedMesh | uint32 | Cached number of triangles contained in the SubActors | Engine/LODActor.h | |
| NumTrianglesInSubActors | uint32 | Cached number of triangles contained in the SubActors | Engine/LODActor.h | |
| ScreenSize | int32 | Override screen size value used in mesh reduction, when creating the proxy mesh | Engine/LODActor.h |
|
| SubActors | TArray< TObjectPtr< AActor > > | Engine/LODActor.h |
|
|
| TransitionScreenSize | float | Override transition screen size value, determines the screen size at which the proxy is visible The screen size is based around the projected diameter of the bounding sphere of the model. | Engine/LODActor.h |
|
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| bBuiltFromHLODDesc | uint8 | Engine/LODActor.h | ||
| bCachedIsBuilt | uint8 | Cached flag we use to avoid checking the built status of this actor every frame | Engine/LODActor.h | |
| bHasActorTriedToRegisterComponents | uint8 | Have we already tried to register components? (a cache to avoid having to query the owning world when the global HLOD max level setting is changed) | Engine/LODActor.h | |
| bHasPatchedUpParent | uint8 | Flag whether or not the SubActors have been moved to a Parent LODActor. | Engine/LODActor.h | |
| bNeedsDrawDistanceReset | uint8 | Flags for forcing a dithering transition | Engine/LODActor.h | |
| bRequiresLODScreenSizeConversion | uint8 | If true on post load we need to calculate resolution independent Display Factors from the loaded LOD screen sizes. | Engine/LODActor.h | |
| InstancedStaticMeshComponents | TMap< FHLODInstancingKey, TObjectPtr< UInstancedStaticMeshComponent > > | Imposters to be rendered as instanced static meshes | Engine/LODActor.h |
|
| Key | FName | The key used to validate this actor against the proxy | Engine/LODActor.h |
|
| LastIsBuiltTime | double | Timer we use to avoid checking the built status of this actor every frame | Engine/LODActor.h | |
| LODActorTag | FString | Engine/LODActor.h | ||
| LODDrawDistance | float | What distance do you want this to show up instead of SubActors | Engine/LODActor.h |
|
| Proxy | TObjectPtr< UHLODProxy > | The mesh proxy used to display this LOD | Engine/LODActor.h |
|
| ProxyDesc | TObjectPtr< UHLODProxyDesc > | The hlod proxy desc used to build this LODActor | Engine/LODActor.h |
|
| ResetDrawDistanceTime | float | Engine/LODActor.h | ||
| StaticMeshComponent | TObjectPtr< UStaticMeshComponent > | Disable display of this component | Engine/LODActor.h |
|
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void AddInstances
(
const UStaticMesh* InStaticMesh, |
Engine/LODActor.h | ||
void AddInstances
(
const UStaticMesh* InStaticMesh, |
Add instances to this LODActor. | Engine/LODActor.h | |
void AddSubActor
(
AActor* InActor |
Adds InActor to the SubActors array and set its LODParent to this | Engine/LODActor.h | |
| Append the provided actors to the SubActors array and properly setup their LODParent | Engine/LODActor.h | ||
void CleanSubActorArray() |
Cleans the SubActor array (removes all NULL entries) | Engine/LODActor.h | |
void ClearInstances() |
Clear all instances stored in this LODActor. | Engine/LODActor.h | |
void DetermineShadowingFlags() |
This will determine the shadowing flags for the static mesh component according to all sub actors. | Engine/LODActor.h | |
void ForceUnbuilt() |
Force this actor to appear unbuilt (zeros-out key) | Engine/LODActor.h | |
float GetDrawDistance() |
Gets the LOD draw distance | Engine/LODActor.h | |
TArray< UInstancedStaticMeshComponent * > GetInstancedStaticMeshComponents() |
Returns instanced static mesh components that represents the imposters found in this LODActor. | Engine/LODActor.h | |
const FName & GetKey() |
Get the key that we use to check if we need to (re)build | Engine/LODActor.h | |
const FString & GetLODActorTag() |
Get the named tag which describes the source of the LOD actor (HLOD Volume, single cluster / level, etc) Helps uniquely identifying auto generated LOD actors & naming of the proxy static mesh assets. | Engine/LODActor.h | |
float GetLODDrawDistance() |
Engine/LODActor.h | ||
float GetLODDrawDistanceWithOverride() |
Engine/LODActor.h | ||
const uint32 GetNumTrianglesInMergedMesh() |
Returns the number of triangles this LODActor's SubActors contain | Engine/LODActor.h | |
const uint32 GetNumTrianglesInSubActors() |
Returns the number of triangles this LODActor's SubActors contain | Engine/LODActor.h | |
UHLODProxy * GetProxy() |
Get the proxy mesh we use to render | Engine/LODActor.h | |
const UHLODProxyDesc * GetProxyDesc() |
Get the proxy description used to generated this LODActor | Engine/LODActor.h | |
UStaticMeshComponent * GetStaticMeshComponent() |
Returns StaticMeshComponent subobject | Engine/LODActor.h | |
const bool HasAnySubActors() |
Determines whether or not this LODActor has any SubActors | Engine/LODActor.h | |
const bool HasValidLODChildren() |
Returns whether or not this LODActor has valid SubActors and whether or not their contained Primitive Components are linked (LODParentPrimitive) to StaticMeshComponent | Engine/LODActor.h | |
const bool HasValidSubActors() |
Determines whether or not this LODActor has valid SubActors and can be built | Engine/LODActor.h | |
const bool IsBuilt
(
bool bInForce |
Check to see if this mesh is built | Engine/LODActor.h | |
void PauseDitherTransition() |
Forces the mesh into view by setting the MinDrawDistance to zero (this pops the mesh into view, no fading) | Engine/LODActor.h | |
void RecalculateDrawingDistance
(
const float TransitionScreenSize |
Recalculates the drawing distance according to a fixed FOV of 90 and the transition screen size | Engine/LODActor.h | |
const bool RemoveSubActor
(
AActor* InActor |
Removes InActor from the SubActors array and sets its LODParent to nullptr | Engine/LODActor.h | |
void SetDrawDistance
(
float InDistance |
Sets the LOD draw distance and updates the Static Mesh Component's min drawing distance | Engine/LODActor.h | |
void SetForcedView
(
const bool InState |
Sets forcing the StaticMeshComponent drawing distance to 0 or LODDrawDistance according to InState | Engine/LODActor.h | |
void SetHiddenFromEditorView
(
const bool InState, |
Sets the state of whether or not this LODActor is hidden from the Editor view, used for forcing a HLOD to show | Engine/LODActor.h | |
void SetLODActorTag
(
const FString& InLODActorTag |
Set the named tag which describes the source of the LOD actor (HLOD Volume, single cluster / level, etc) Helps uniquely identifying auto generated LOD actors & naming of the proxy static mesh assets. | Engine/LODActor.h | |
void SetLODParent
(
UPrimitiveComponent* InLODParent, |
Set LOD Parent component for all of our components, normally associated with an ALODActor. | Engine/LODActor.h | |
void SetStaticMesh
(
UStaticMesh* InStaticMesh |
Sets StaticMesh and IsPreviewActor to true if InStaticMesh equals nullptr | Engine/LODActor.h | |
void StartDitherTransition() |
Makes the actor tickable and according to r.HLOD.DitherPauseTime sets the MinDrawDistance back to non-zero | Engine/LODActor.h | |
void ToggleForceView() |
Toggles forcing the StaticMeshComponent drawing distance to 0 or LODDrawDistance | Engine/LODActor.h | |
bool UpdateProxyDesc() |
Update the proxy description that represent this LODActor | Engine/LODActor.h | |
void UpdateSubActorLODParents() |
Updates the LODParents for the SubActors (and the drawing distance) | Engine/LODActor.h | |
bool WasBuiltFromHLODDesc() |
Returns true if this LODActor was constructed from an HLODProxyDesc | Engine/LODActor.h |
Overridden from AActor
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void CheckForErrors() |
Function that gets called from within Map_Check to allow this actor to check itself for any potential errors and register them with map check dialog. | Engine/LODActor.h | |
virtual void EditorApplyMirror
(
const FVector& MirrorScale, |
Called by MirrorActors to perform a mirroring operation on the actor | Engine/LODActor.h | |
virtual void EditorApplyRotation
(
const FRotator& DeltaRotation, |
Called by ApplyDeltaToActor to perform an actor class-specific operation based on widget manipulation. | Engine/LODActor.h | |
virtual void EditorApplyScale
(
const FVector& DeltaScale, |
Called by ApplyDeltaToActor to perform an actor class-specific operation based on widget manipulation. | Engine/LODActor.h | |
virtual void EditorApplyTranslation
(
const FVector& DeltaTranslation, |
Called by ApplyDeltaToActor to perform an actor class-specific operation based on widget manipulation. | Engine/LODActor.h | |
virtual FBox GetComponentsBoundingBox
(
bool bNonColliding, |
Returns the world space bounding box of all components in this Actor. | Engine/LODActor.h | |
virtual bool IsLevelBoundsRelevant() |
Indicates whether this actor should participate in level bounds calculations | Engine/LODActor.h | |
virtual void PostRegisterAllComponents () |
Called after all the components in the Components array are registered, called both in editor and during gameplay. | Engine/LODActor.h | |
virtual void Tick
(
float DeltaSeconds |
Function called every frame on this Actor. | Engine/LODActor.h |
Overridden from UObject
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual FString GetDetailedInfoInternal() |
Engine/LODActor.h | ||
virtual bool Modify
(
bool bAlwaysMarkDirty |
Engine/LODActor.h | ||
virtual void PostEditChangeProperty
(
FPropertyChangedEvent& PropertyChangedEvent |
Engine/LODActor.h | ||
virtual void PostLoad() |
Engine/LODActor.h | ||
virtual void PreEditChange
(
FProperty* PropertyThatWillChange |
Engine/LODActor.h | ||
virtual void PreSave
(
FObjectPreSaveContext ObjectSaveContext |
Engine/LODActor.h | ||
virtual void Serialize
(
FArchive& Ar |
Engine/LODActor.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static const TArray< float > & GetHLODDistanceOverride() |
Returns an array of distances that are used to override individual LOD actors min draw distances. | Engine/LODActor.h | |
static void OnCVarsChanged() |
Called when CVars are changed to check to see if the maximum HLOD level value has changed. | Engine/LODActor.h | |
static void ParseOverrideDistancesCVar() |
Engine/LODActor.h | ||
static bool ShouldUseInstancing
(
const UStaticMeshComponent* InComponent |
Engine/LODActor.h |