FHierarchicalLODUtilities

[FHierarchicalLODUtilities](API\Developer\HierarchicalLODUtilities\FHierarchicalLODUtilities) implementation

Windows
MacOS
Linux

Inheritance Hierarchy

IHierarchicalLODUtilities

FHierarchicalLODUtilities

References

Module

HierarchicalLODUtilities

Header

/Engine/Source/Developer/HierarchicalLODUtilities/Public/HierarchicalLODUtilities.h

Include

#include "HierarchicalLODUtilities.h"

Syntax

class FHierarchicalLODUtilities : public IHierarchicalLODUtilities

Remarks

FHierarchicalLODUtilities implementation

Destructors

Name Description

Public function

~FHierarchicalLODUtilities()

Overridden from IHierarchicalLODUtilities

Name Description

Public function Virtual

const bool

 

AddActorToCluster

(
    AActor* InActor,
    ALODActor* InParentActor
)

Adds an actor to the given cluster

Public function Virtual

const bool

 

AreActorsClustered

(
    const TArray< AActor* >& InAc...
)

Checks if all actors are part of a cluster

Public function Virtual

const bool

 

AreActorsInSameHLODLevel

(
    const TArray< AActor* >& InAc...
)

Checks if all actors are in the same HLOD level

Public function Virtual

const bool

 

AreActorsInSamePersistingLevel

(
    const TArray< AActor* >& InAc...
)

Checks if all actors have the same outer world

Public function Virtual

const bool

 

AreClustersInSameHLODLevel

(
    const TArray< ALODActor* >& I...
)

Checks if all clusters are in the same HLOD level

Public function Virtual

bool

 

BuildStaticMeshForLODActor

(
    ALODActor* LODActor,
    UHLODProxy* Proxy,
    const FHierarchicalSimplification&...,
    UMaterialInterface* InBaseMate...
)

Public function Virtual

float

 

CalculateDrawDistanceFromScreenSize

(
    const float SphereRadius,
    const float ScreenSize,
    const FMatrix& ProjectionMatrix
)

Public function Virtual

float

 

CalculateScreenSizeFromDrawDistance

(
    const float SphereRadius,
    const FMatrix& ProjectionMatrix,
    const float Distance
)

Computes the Screensize of the given Sphere taking into account the ProjectionMatrix and distance

Public function Virtual

void

 

CleanStandaloneAssetsInPackage

(
    UPackage* InPackage
)

Cleans any standalone flags for meshes, textures and materials.

Public function Virtual

int32

 

ComputeStaticMeshLODLevel

(
    const TArray< FStaticMeshSourceMode...,
    const FStaticMeshRenderData* R...,
    const float ScreenSize
)

Computes which LOD level of a Mesh corresponds to the given Distance (calculates closest ScreenSize with distance)

Public function Virtual

ALODActor &#...

 

CreateNewClusterActor

(
    UWorld* InWorld,
    const int32 InLODLevel,
    AWorldSettings* WorldSettings
)

Creates a new cluster actor in the given InWorld with InLODLevel as HLODLevel

Public function Virtual

ALODActor &#...

 

CreateNewClusterFromActors

(
    UWorld* InWorld,
    AWorldSettings* WorldSettings,
    const TArray< AActor* >& InAc...,
    const int32 InLODLevel
)

Creates a new cluster in InWorld with InActors as sub actors

Public function Virtual

UPackage ...

 

CreateOrRetrieveLevelHLODPackage

(
    const ULevel* InLevel,
    const uint32 HLODLevelIndex
)

Creates or retrieves the HLOD package that is created for the given level

Public function Virtual

UHLODProxy &...

 

CreateOrRetrieveLevelHLODProxy

(
    const ULevel* InLevel,
    const uint32 HLODLevelIndex
)

Creates or retrieves the HLOD proxy that is created for the given level

Public function Virtual

AHierarchica...

 

CreateVolumeForLODActor

(
    ALODActor* InLODActor,
    UWorld* InWorld
)

Creates a HierarchicalLODVolume using the bounds of a given LODActor

Public function Virtual

void

 

DeleteLODActorsInHLODLevel

(
    UWorld* InWorld,
    const int32 HLODLevelIndex
)

Deletes all the ALODActors with the given HLODLevelIndex inside off InWorld

Public function Virtual

void

 

DestroyCluster

(
    ALODActor* InActor
)

Deletes the given cluster's data and instance in the world

Public function Virtual

void

 

DestroyLODActor

(
    ALODActor* InActor
)

Destroys an LODActor instance

Public function Virtual

void

 

ExcludeActorFromClusterGeneration

(
    AActor* InActor
)

Excludes an actor from the cluster generation process

Public function Virtual

void

 

ExtractStaticMeshActorsFromLODActor

(
    ALODActor* LODActor,
    TArray< AActor* >& InOutActor...
)

Extracts all the virtual Mesh Actors from the given LODActor's SubActors array

Public function Virtual

void

 

ExtractSubActorsFromLODActor

(
    AActor* Actor,
    TArray< AActor* >& InOutActor...
)

Recursively retrieves Actors from a LODActor and its child LODActors

Public function Virtual

FString

 

GetLevelHLODProxyName

(
    const FString& InLevelPackageName,
    const uint32 HLODLevelIndex
)

Get the name of a HLOD proxy given the name of a level's package

Public function Virtual

int32

 

GetLODLevelForScreenSize

(
    const UStaticMeshComponent* St...,
    const float ScreenSize
)

Computes the LODLevel for a StaticMeshComponent taking into account the ScreenSize

Public function Virtual

ALODActor &#...

 

GetParentLODActor

(
    const AActor* InActor
)

Returns the ALODActor parent for the given InActor, nullptr if none available

Public function Virtual

void

 

HandleActorModified

(
    AActor* InActor
)

Handles changes in actors for the current world, checks if InActor is part of a HLOD cluster and if so set its dirty-flag

Public function Virtual

const bool

 

IsActorClustered

(
    const AActor* InActor
)

Checks if an actor is clustered

Public function Virtual

bool

 

IsWorldUsedForStreaming

(
    const UWorld* InWorld
)

Checks whether or not the given InWorld is used as a streaming level by any other World in the level

Public function Virtual

const bool

 

MergeClusters

(
    ALODActor* TargetCluster,
    ALODActor* SourceCluster
)

Merges two clusters together

Public function Virtual

const bool

 

RemoveActorFromCluster

(
    AActor* InActor
)

Removes the given actor from it's parent cluster

Public function Virtual

UPackage ...

 

RetrieveLevelHLODPackage

(
    const ULevel* InLevel,
    const uint32 HLODLevelIndex
)

Retrieves the HLOD package that is created for the given level

Public function Virtual

UHLODProxy &...

 

RetrieveLevelHLODProxy

(
    const ULevel* InLevel,
    const uint32 HLODLevelIndex
)

Retrieves the HLOD proxy that is created for the given level

Public function Virtual

EClusterGene...

 

ShouldGenerateCluster

(
    AActor* Actor,
    const int32 HLODLevelIndex
)

Returns whether or not the given actor is eligible for creating a HLOD cluster creation

Deprecated Functions

Name Description

Public function Virtual

bool

 

BuildStaticMeshForLODActor

(
    ALODActor* LODActor,
    UPackage* AssetsOuter,
    const FHierarchicalSimplification&...,
    UMaterialInterface* InBaseMate...
)

Use different signature using UHLODProxy

Public function Virtual

bool

 

BuildStaticMeshForLODActor

(
    ALODActor* LODActor,
    UPackage* AssetsOuter,
    const FHierarchicalSimplification&...
)

Use different signature containing BaseMaterial parameter

Public function Virtual

UPackage ...

 

CreateOrRetrieveLevelHLODPackage

(
    const ULevel* InLevel
)

This function signature is deprecated

Public function Virtual

void

 

DestroyClusterData

(
    ALODActor* InActor
)

This function is no longer used

Public function Virtual

void

 

ExtractStaticMeshComponentsFromLODActor

(
    AActor* Actor,
    TArray< UStaticMeshComponent* ...
)

Please use UHLODProxy::ExtractStaticMeshComponentsFromLODActor

Help shape the future of Unreal Engine documentation! Tell us how we're doing so we can serve you better.
Take our survey
Dismiss