12#include "LODActor.generated.h"
56 return HashCombine(GetTypeHash(Key.StaticMesh), GetTypeHash(Key.Material));
78 UPROPERTY(Category=LODActor, VisibleAnywhere)
79 TObjectPtr<UStaticMeshComponent> StaticMeshComponent;
86 UPROPERTY(Category=LODActor, VisibleAnywhere)
90 UPROPERTY(Category=LODActor, VisibleAnywhere)
94 UPROPERTY(Category = LODActor, VisibleAnywhere)
95 float LODDrawDistance;
99 UPROPERTY(Category=LODActor, VisibleAnywhere)
102 UPROPERTY(Category=LODActor, VisibleAnywhere)
110 ENGINE_API virtual void CheckForErrors()
override;
117 ENGINE_API virtual void PostRegisterAllComponents()
override;
143 ENGINE_API float GetLODDrawDistanceWithOverride()
const;
153#if WITH_EDITORONLY_DATA
172#if !(UE_BUILD_SHIPPING || UE_BUILD_TEST) || WITH_EDITOR
181 ENGINE_API const bool HasValidLODChildren()
const;
245 UHLODProxy* GetProxy()
const {
return Proxy; }
275#if WITH_EDITORONLY_DATA
302 float TransitionScreenSize;
325 static ENGINE_API void ParseOverrideDistancesCVar();
329 ENGINE_API void UpdateOverrideTransitionDistance();
332 ENGINE_API void UpdateRegistrationToMatchMaximumLODLevel();
360 uint8 bHasActorTriedToRegisterComponents : 1;
363 uint8 bHasPatchedUpParent : 1;
369 uint8 bRequiresLODScreenSizeConversion : 1;
372 uint8 bNeedsDrawDistanceReset : 1;
374#if !(UE_BUILD_SHIPPING || UE_BUILD_TEST) || WITH_EDITOR
376 mutable uint8 bCachedIsBuilt : 1;
379 mutable double LastIsBuiltTime;
382 float ResetDrawDistanceTime;
387#if WITH_EDITORONLY_DATA
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
DIRECTLINK_API Display
Definition DirectLinkLog.h:8
ENGINE_API TAutoConsoleVariable< FString > CVarHLODDistanceOverride
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define UFUNCTION(...)
Definition ObjectMacros.h:745
#define GENERATED_UCLASS_BODY(...)
Definition ObjectMacros.h:768
#define UCLASS(...)
Definition ObjectMacros.h:776
#define USTRUCT(...)
Definition ObjectMacros.h:746
constexpr uint32 HashCombine(uint32 A, uint32 C)
Definition TypeHash.h:36
const FName & GetKey() const
Definition LODActor.h:170
ENGINE_API void ClearInstances()
TArray< UInstancedStaticMeshComponent * > GetInstancedStaticMeshComponents() const
Definition LODActor.h:317
float GetLODDrawDistance() const
Definition LODActor.h:142
ENGINE_API void AddInstances(const UStaticMesh *InStaticMesh, const UMaterialInterface *InMaterial, const TArray< FTransform > &InTransforms)
float GetDrawDistance() const
Definition LODActor.h:141
ENGINE_API void SetStaticMesh(UStaticMesh *InStaticMesh)
UStaticMeshComponent * GetStaticMeshComponent() const
Definition LODActor.h:314
virtual bool IsLevelBoundsRelevant() const override
Definition LODActor.h:119
ENGINE_API void AddInstances(const UStaticMesh *InStaticMesh, const UMaterialInterface *InMaterial, const TArray< FTransform > &InTransforms, const TArray< FCustomPrimitiveData > &InCustomPrimitiveData)
Definition Archive.h:1208
Definition IConsoleManager.h:1397
Definition NameTypes.h:617
Definition ObjectSaveContext.h:244
Definition UnrealType.h:174
Definition IConsoleManager.h:1792
Definition UnrealString.h.inl:34
Definition HLODProxyDesc.h:44
Definition HLODProxy.h:20
Definition InstancedStaticMeshComponent.h:158
Definition MaterialInterface.h:296
virtual FString GetDetailedInfoInternal() const
Definition Object.h:215
UE_FORCEINLINE_HINT bool Modify(bool bAlwaysMarkDirty=true)
Definition Object.h:317
Definition StaticMesh.h:593
Definition EngineTypes.h:3429
bool IsValid() const
Definition LODActor.h:49
friend uint32 GetTypeHash(const FHLODInstancingKey &Key)
Definition LODActor.h:54
FHLODInstancingKey(const UStaticMesh *InStaticMesh, const UMaterialInterface *InMaterial)
Definition LODActor.h:39
bool operator==(const FHLODInstancingKey &Other) const
Definition LODActor.h:44
Definition MaterialMerging.h:34
Definition UnrealType.h:6865
Definition ObjectPtr.h:488