ALandscapeProxy

Windows
MacOS
Linux

Inheritance Hierarchy

References

Module

Landscape

Header

/Engine/Source/Runtime/Landscape/Classes/LandscapeProxy.h

Include

#include "LandscapeProxy.h"

Syntax

class ALandscapeProxy : public AActor

Variables

Name Description

Public variable

TArray < FAsyncT ...

 

AsyncFoliageTasks

A transient data structure for tracking the grass tasks

Public variable

uint8 : 1

 

bAffectDistanceFieldLighting

Controls whether the landscape should affect dynamic distance field lighting methods.

Public variable

uint32 : 1

 

bBakeMaterialPositionOffsetIntoCollision

Whether to bake the landscape material's vertical world position offset into the collision heightfield.

Public variable

uint32 : 1

 

bCastFarShadow

Whether this primitive should cast shadows in the far shadow cascades.

Public variable

uint32 : 1

 

bCastShadowAsTwoSided

Whether this primitive should cast dynamic shadows as if it were a two sided material.

Public variable

uint32 : 1

 

bCastStaticShadow

Public variable

uint32 : 1

 

bFillCollisionUnderLandscapeForNavmesh

Set to true to prevent navmesh generation under the terrain geometry

Public variable

uint32 : 1

 

bGenerateOverlapEvents

If true, Landscape will generate overlap events when other components are overlapping it (eg Begin Overlap).

Public variable

bool

 

bHasLandscapeGrass

Only used outside of the editor (e.g. in cooked builds) Disables landscape grass processing entirely if no landscape components have landscape grass configured

Public variable

bool

 

bHasLayersContent

Flag that tell if we have some layers content

Public variable

uint32 : 1

 

bIsMovingToLevel

Public variable

bool

 

bIsPerformingInteractiveActionOnLandscapeMaterialOverride

Public variable

bool

 

bMeshHoles

Use unique geometry instead of material alpha tests for holes on mobile platforms.

Public variable

FBodyInstance

 

BodyInstance

Collision profile settings for this landscape

Public variable

uint32 : 1

 

bRenderCustomDepth

If true, the Landscape will be rendered in the CustomDepth pass (usually used for outlines)

Public variable

uint32 : 1

 

bUsedForNavigation

Hints navigation system whether this landscape will ever be navigated on.

Public variable

bool

 

bUseDynamicMaterialInstance

When set to true it will generate MaterialInstanceDynamic for each components, so material can be changed at runtime

Public variable

bool

 

bUseLandscapeForCullingInvisibleHLODVertices

Flag whether or not this Landscape's surface can be used for culling hidden triangles

Public variable

uint32 : 1

 

bUseMaterialPositionOffsetInStaticLighting

Whether to use the landscape material's vertical world position offset when calculating static lighting.

Public variable

TArray < ULandsc ...

 

CollisionComponents

Array of LandscapeHeightfieldCollisionComponent

Public variable

int32

 

CollisionMipLevel

Landscape LOD to use for collision tests. Higher numbers use less memory and process faster, but are much less accurate.

Public variable

float

 

CollisionThickness

Thickness of the collision surface, in unreal units

Public variable

float

 

ComponentScreenSizeToUseSubSections

Component screen size (0.0 - 1.0) at which we should keep sub sections.

Public variable

int32

 

ComponentSizeQuads

Data set at creation time

Public variable

int32

 

CustomDepthStencilValue

Optionally write this 0-255 value to the stencil buffer in CustomDepth pass (Requires project setting or r.CustomDepth == 3)

Public variable

UPhysicalMateri ...

 

DefaultPhysMaterial

Default physical material, used when no per-layer values physical materials

Public variable

TArray < FLandsc ...

 

EditorLayerSettings

Public variable

int32

 

ExportLOD

LOD level to use when exporting the landscape to obj or FBX

Public variable

FDelegateHandle

 

FeatureLevelChangedDelegateHandle

Handle so we can unregister the delegate

Public variable

FCachedLandscap ...

 

FoliageCache

A transient data structure for tracking the grass

Public variable

TArray < UHierar ...

 

FoliageComponents

Public variable

uint32

 

FrameOffsetForTickInterval

Frame offset for tick interval

Public variable

TMap < UTexture2 ...

 

HeightmapsCPUReadBack

Public variable

TArray < ULandsc ...

 

LandscapeComponents

The array of LandscapeComponent that are used by the landscape

Protected variable

FGuid

 

LandscapeGuid

Guid for LandscapeEditorInfo

Public variable

UMaterialInterf ...

 

LandscapeHoleMaterial

Material used to render landscape components with holes.

Public variable

UMaterialInterf ...

 

LandscapeMaterial

Combined material used to render the landscape

Protected variable

FLandscapeMater ...

 

LandscapeMaterialChangedDelegate

Public variable

TArray < FLandsc ...

 

LandscapeMaterialsOverride

Public variable

FIntPoint

 

LandscapeSectionOffset

Offset in quads from global components grid origin (in quads)

Public variable

float

 

LDMaxDrawDistance

Max draw distance exposed to LDs.

Public variable

FLightingChanne ...

 

LightingChannels

Channels that this Landscape should be in.

Public variable

FLightmassPrimi ...

 

LightmassSettings

The Lightmass settings for this object.

Public variable

float

 

LOD0DistributionSetting

The distribution setting used to change the LOD 0 generation, 1.75 is the normal distribution, numbers influence directly the LOD0 proportion on screen.

Public variable

float

 

LOD0ScreenSize

This is the starting screen size used to calculate the distribution, by default it's 1, but you can increase the value if you want less LOD0 component, and you use very large landscape component.

Public variable

float

 

LODDistributionSetting

The distribution setting used to change the LOD generation, 2 is the normal distribution, small number mean you want your last LODs to take more screen space and big number mean you want your first LODs to take more screen space.

Public variable

TMap < FString , ...

 

MaterialInstanceConstantMap

Map of material instance constants used to for the components.

Public variable

int32

 

MaxLODLevel

Max LOD level to use when rendering, -1 means the max available

Public variable

int32

 

MaxPaintedLayersPerComponent

Public variable

uint8

 

MeshHolesMaxLod

Maximum geometry LOD at which to render unique hole meshes.

Public variable

ENavDataGatheri ...

 

NavigationGeometryGatheringMode

Public variable

float

 

NegativeZBoundsExtension

Allows overriding the landscape bounds.

Public variable

int32

 

NumComponentsNeedingGrassMapRender

For the grassmap rendering notification

Public variable

int32

 

NumComponentsNeedingTextureBaking

For the texture baking notification

Public variable

int32

 

NumSubsections

Public variable

int32

 

NumTexturesToStreamForVisibleGrassMapRender

To throttle texture streaming when we're trying to render a grassmap

Public variable

int32

 

OccluderGeometryLOD

Landscape LOD to use as an occluder geometry for software occlusion

Public variable

float

 

PositiveZBoundsExtension

Allows overriding the landscape bounds.

Public variable

UMaterialInterf ...

 

PreEditLandscapeHoleMaterial

Public variable

UMaterialInterf ...

 

PreEditLandscapeMaterial

Public variable

TArray < FLandsc ...

 

PreEditLandscapeMaterialsOverride

Public variable

FString

 

ReimportHeightmapFilePath

Public variable

FRenderCommandF ...

 

ReleaseResourceFence

Public variable

TArray < URuntim ...

 

RuntimeVirtualTextures

Array of runtime virtual textures into which we render this landscape.

Public variable

int32

 

SimpleCollisionMipLevel

If set higher than the "Collision Mip Level", this specifies the Landscape LOD to use for "simple collision" tests, otherwise the "Collision Mip Level" is used for both simple and complex collision.

Public variable

ULandscapeSplin ...

 

SplineComponent

Public variable

int32

 

StaticLightingLOD

LOD level to use when running lightmass (increase to 1 or 2 for large landscapes to stop lightmass crashing)

Public variable

float

 

StaticLightingResolution

The resolution to cache lighting at, in texels/quad in one axis Total resolution would be changed by StaticLightingResolution*StaticLightingResolution Automatically calculate proper value for removing seams

Public variable

float

 

StreamingDistanceMultiplier

Allows artists to adjust the distance where textures using UV 0 are streamed in/out.

Public variable

int32

 

SubsectionSizeQuads

Public variable

ELandscapeLayer ...

 

TargetDisplayOrder

Display Order mode for the targets

Public variable

TArray < FName >

 

TargetDisplayOrderList

Display Order of the targets

Public variable

float

 

TessellationComponentScreenSize

Component screen size (0.0 - 1.0) at which we should enable tessellation.

Public variable

float

 

TessellationComponentScreenSizeFalloff

Component screen size (0.0 - 1.0) at which we start the tessellation falloff.

Public variable

int32

 

UpdateBakedTexturesCountdown

Frame counter to count down to the next time we check to update baked textures, so we don't check every frame

Public variable

bool

 

UseTessellationComponentScreenSizeFalloff

Tell if we should enable tessellation falloff.

Public variable

int32

 

VirtualTextureLodBias

Bias to the LOD selected for rendering to runtime virtual textures.

Public variable

int32

 

VirtualTextureNumLods

Number of mesh levels to use when rendering landscape into runtime virtual texture.

Public variable

ERuntimeVirtual ...

 

VirtualTextureRenderPassType

Render to the main pass based on the virtual texture settings.

Public variable

TMap < UTexture2 ...

 

WeightmapsCPUReadBack

Public variable

TMap < UTexture2 ...

 

WeightmapUsageMap

Map of weightmap usage

Constructors

Name Description

Public function

ALandscapeProxy

(
    const FObjectInitializer & ObjectIn...
)

Destructors

Name Description

Public function Virtual

~ALandscapeProxy()

Functions

Name Description

Public function Static

void

 

AddExclusionBox

(
    FWeakObjectPtr Owner,
    const FBox & BoxToRemove
)

Protected function

bool

 

AddLayer

(
    const FGuid & InLayerGuid
)

Add Layer if it doesn't exist yet.

Public function Static

void

 

AddReferencedObjects

(
    UObject * InThis,
    FReferenceCollector & Collector
)

Public function Const

bool

 

CanHaveLayersContent()

Will tell if the landscape proxy can have some content related to the layer system

Public function Virtual

void

 

ChangeComponentScreenSizeToUseSubSections

(
    float InComponentScreenSizeToUseSub...
)

Change ComponentScreenSizeToUseSubSections value on the render proxy.

Public function

void

 

ChangedPhysMaterial()

Changed Physical Material.

Public function Virtual

void

 

ChangeLODDistanceFactor

(
    float InLODDistanceFactor
)

Change the Level of Detail distance factor

Public function Virtual

void

 

ChangeTessellationComponentScreenSize

(
    float InTessellationComponentScreen...
)

Change TessellationComponentScreenSize value on the render proxy.

Public function Virtual

void

 

ChangeTessellationComponentScreenSizeFalloff

(
    float InUseTessellationComponentScr...
)

Change TessellationComponentScreenSizeFalloff value on the render proxy.

Public function Virtual

void

 

ChangeUseTessellationComponentScreenSizeFalloff

(
    bool InComponentScreenSizeToUseSubS...
)

Change UseTessellationComponentScreenSizeFalloff value on the render proxy.

Public function

void

 

CheckGenerateLandscapePlatformData

(
    bool bIsCooking,
    const ITargetPlatform * TargetP...
)

Generate platform data if it's missing or outdated

Public function

ULandscapeIn ...

 

CreateLandscapeInfo

(
    bool bMapCheck
)

Public function Const

UTexture2D &...

 

CreateLandscapeTexture

(
    int32 InSizeX,
    int32 InSizeY,
    TextureGroup InLODGroup,
    ETextureSourceFormat InFormat,
    UObject * OptionalOverrideOuter,
    bool bCompress
)

Creates a Texture2D for use by this landscape proxy or one of it's components.

Public function Const

UTexture2D &...

 

CreateLandscapeToolTexture

(
    int32 InSizeX,
    int32 InSizeY,
    TextureGroup InLODGroup,
    ETextureSourceFormat InFormat
)

Creates a Texture2D for use by this landscape proxy or one of it's components for tools .

Public function Static

ULandscapeLa ...

 

CreateLayerInfo

(
    const TCHAR * LayerName,
    ULevel * Level
)

Public function

ULandscapeLa ...

 

CreateLayerInfo

(
    const TCHAR * LayerName
)

Public function

void

 

CreateSplineComponent

(
    const FVector & Scale3D
)

Public function

ULandscapeWe ...

 

CreateWeightmapUsage()

Creates a LandscapeWeightMapUsage object outered to this proxy.

Protected function

void

 

DeleteLayer

(
    const FGuid & InLayerGuid
)

Delete Layer.

Public function

void

 

EditorApplySpline

(
    USplineComponent * InSplineComp...,
    float StartWidth,
    float EndWidth,
    float StartSideFalloff,
    float EndSideFalloff,
    float StartRoll,
    float EndRoll,
    int32 NumSubdivisions,
    bool bRaiseHeights,
    bool bLowerHeights,
    ULandscapeLayerInfoObject * Pai...
)

Deform landscape using a given spline

Public function

void

 

EditorSetLandscapeMaterial

(
    UMaterialInterface * NewLandsca...
)

Setter for LandscapeMaterial. Has no effect outside the editor.

Public function Const

bool

 

ExportToRawMesh

(
    int32 InExportLOD,
    FMeshDescription & OutRawMesh
)

Exports landscape into raw mesh

Public function Const

bool

 

ExportToRawMesh

(
    int32 InExportLOD,
    FMeshDescription & OutRawMesh,
    const FBoxSphereBounds & InBounds,
    bool bIgnoreBounds
)

Exports landscape geometry contained within InBounds into a raw mesh

Public function

void

 

FixupSharedData

(
    ALandscape * Landscape
)

Assign only mismatching data and mark proxy package dirty.

Public function

void

 

FixupWeightmaps()

Public function

void

 

FlushGrassComponents

(
    const TSet < ULandscapeComponent ...,
    bool bFlushGrassMaps
)

Flush the grass cache

Public function Const

FIntRect

 

GetBoundingRect()

Public function Static

void

 

GetGrassTypes

(
    const UWorld * World,
    UMaterialInterface * LandscapeM...,
    TArray < ULandscapeGrassType * >...,
    float& OutMaxDiscardDistance
)

Get the list of grass types on this landscape

Public function Const

TOptional < f...

 

GetHeightAtLocation

(
    FVector Location
)

Public function Virtual

ALandscape &...

 

GetLandscapeActor()

Public function Virtual Const

const ALands ...

 

GetLandscapeActor()

Public function Const

FGuid

 

GetLandscapeGuid()

Public function Virtual Const

UMaterialInt ...

 

GetLandscapeHoleMaterial()

Get Hole Landscape Material assigned to this Landscape.

Public function Const

ULandscapeIn ...

 

GetLandscapeInfo()

Public function Virtual Const

UMaterialInt ...

 

GetLandscapeMaterial

(
    int8 InLODIndex
)

Get Landscape Material assigned to this Landscape.

Public function Static

const TArray ...

 

GetLandscapeProxies()

Public function Const

TArray < FNam ...

 

GetLayersFromMaterial()

Public function Static

TArray < FNam ...

 

GetLayersFromMaterial

(
    UMaterialInterface * Material
)

Public function Static

ULandscapeMa ...

 

GetLayerThumbnailMIC

(
    UMaterialInterface * LandscapeM...,
    FName LayerName,
    UTexture2D * ThumbnailWeightmap,
    UTexture2D * ThumbnailHeightmap,
    ALandscapeProxy * Proxy
)

Create a thumbnail material for a given layer

Public function Const

FIntPoint

 

GetSectionBaseOffset()

Get landscape position in section space

Public function

void

 

GetSharedProperties

(
    ALandscapeProxy * Landscape
)

Copy properties from parent Landscape actor.

Public function Virtual Const

bool

 

HasLayersContent()

Will tell if the landscape proxy as some content related to the layer system

Public function

void

 

Import

(
    const FGuid & InGuid,
    int32 InMinX,
    int32 InMinY,
    int32 InMaxX,
    int32 InMaxY,
    int32 InNumSubsections,
    int32 InSubsectionSizeQuads,
    const TMap < FGuid , TArray < uint16 >...,
    const TCHAR *const InHeightmapF...,
    const TMap < FGuid , TArray < FLandsca ...,
    ELandscapeImportAlphamapType InImpo...,
    const TArray < struct FLandscapeLaye ...
)

Import the given Height/Weight data into this landscape

Protected function

void

 

InitializeLayerWithEmptyContent

(
    const FGuid & InLayerGuid
)

Initialize Layer with empty content if it hasn't been initialized yet.

Public function

void

 

InitializeProxyLayersWeightmapUsage()

Public function Static

void

 

InvalidateGeneratedComponentData

(
    const TArray < ULandscapeComponent &...,
    bool bInvalidateLightingCache
)

Invalidate the precomputed grass and baked texture data for the specified components

Public function Static

void

 

InvalidateGeneratedComponentData

(
    const TSet < ULandscapeComponent ...,
    bool bInvalidateLightingCache
)

Invalidate the precomputed grass and baked texture data for the specified components

Public function

void

 

InvalidateGeneratedComponentData

(
    bool bInvalidateLightingCache
)

Invalidate the precomputed grass and baked texture data on all components

Public function Const

FTransform

 

LandscapeActorToWorld()

Get the LandcapeActor-to-world transform with respect to landscape section offset

Public function

bool

 

LandscapeExportHeightmapToRenderTarget

(
    UTextureRenderTarget2D * InRend...,
    bool InExportHeightIntoRGChannel
)

Output a landscape heightmap to a render target

Public function

bool

 

LandscapeExportWeightmapToRenderTarget

(
    UTextureRenderTarget2D * InRend...,
    FName InLayerName
)

Output a landscape weightmap to a render target Only works in the editor

Public function

bool

 

LandscapeImportHeightmapFromRenderTarget

(
    UTextureRenderTarget2D * InRend...,
    bool InImportHeightFromRGChannel
)

Overwrites a landscape heightmap with render target data

Public function

bool

 

LandscapeImportWeightmapFromRenderTarget

(
    UTextureRenderTarget2D * InRend...,
    FName InLayerName
)

Overwrites a landscape weightmap with render target data Only works in the editor

Public function

void

 

OnFeatureLevelChanged

(
    ERHIFeatureLevel::Type NewFeatureLe...
)

Editor notification when changing feature level

Public function

FLandscapeMa ...

 

OnMaterialChangedDelegate()

Public function

void

 

RecreateCollisionComponents()

Recreate all collision components based on render component

Public function

void

 

RecreateComponentsState()

Recreate all components rendering and collision states

Public function Static

void

 

RemoveAllExclusionBoxes()

Public function Static

void

 

RemoveExclusionBox

(
    FWeakObjectPtr Owner
)

Public function

void

 

RemoveInvalidWeightmaps()

Remove Invalid weightmaps.

Protected function

bool

 

RemoveObsoleteLayers

(
    const TSet < FGuid >& InExistingLay...
)

Remove Layers not found in InExistingLayers

Public function

void

 

RemoveOverlappingComponent

(
    ULandscapeComponent * Component
)

Remove an overlapping component. Called from MapCheck.

Public function

void

 

RemoveXYOffsets()

Remove all XYOffset values

Public function

void

 

RenderGrassMaps

(
    const TArray < ULandscapeComponent &...,
    const TArray < ULandscapeGrassType &...
)

Render grass maps for the specified components

Public function Static

TArray < FLin ...

 

SampleRTData

(
    UTextureRenderTarget2D * InRend...,
    FLinearColor InRect
)

Samples an array of values from a Texture Render Target 2D. Only works in the editor

Public function

void

 

SetAbsoluteSectionBase

(
    FIntPoint SectionOffset
)

Set landscape absolute location in section space

Public function Static

void

 

SetGrassUpdateInterval

(
    int32 Interval
)

Public function

void

 

SetLandscapeGuid

(
    const FGuid & Guid
)

Public function

void

 

SetLandscapeMaterialScalarParameterValue

(
    FName ParameterName,
    float Value
)

Set a MID scalar (float) parameter value for all landscape components.

Public function

void

 

SetLandscapeMaterialTextureParameterValue

(
    FName ParameterName,
    UTexture * Value
)

Set an MID texture parameter value for all landscape components.

Public function

void

 

SetLandscapeMaterialVectorParameterValue

(
    FName ParameterName,
    FLinearColor Value
)

Set an MID vector parameter value for all landscape components.

Public function Const

bool

 

ShouldTickGrass()

Per-frame call to update dynamic grass placement and render grassmaps

Public function

void

 

TickGrass

(
    const TArray < FVector >& Cameras,
    int32 & InOutNumCompsCreated
)

Public function

void

 

UpdateAllComponentMaterialInstances()

Update the material instances for all the landscape components

Public function

void

 

UpdateAllComponentMaterialInstances

(
    FMaterialUpdateContext & InOutMater...,
    TArray < class FComponentRecreateRen ...
)

Update the material instances for all the landscape components

Public function

void

 

UpdateBakedTextures()

Update any textures baked from the landscape as necessary

Public function

void

 

UpdateCachedHasLayersContent

(
    bool InCheckComponentDataIntegrity
)

Public function

void

 

UpdateGrass

(
    const TArray < FVector >& Cameras,
    bool bForceSync
)

Public function

void

 

UpdateGrass

(
    const TArray < FVector >& Cameras,
    int32 & InOutNumComponentsCreated,
    bool bForceSync
)

Update Grass

Public function

void

 

UpdateGrassData()

Update Grass maps

Overridden from AActor

Name Description

Public function Virtual

void

 

Destroyed()

Called when this actor is explicitly being destroyed during gameplay or in the editor, not called during level streaming or gameplay ending

Public function Virtual

void

 

EditorApplyMirror

(
    const FVector & MirrorScale,
    const FVector & PivotLocation
)

Called by MirrorActors to perform a mirroring operation on the actor

Public function Virtual

void

 

EditorApplyScale

(
    const FVector & DeltaScale,
    const FVector * PivotLocation,
    bool bAltDown,
    bool bShiftDown,
    bool bCtrlDown
)

Called by ApplyDeltaToActor to perform an actor class-specific operation based on widget manipulation.

Public function Virtual Const

bool

 

IsLevelBoundsRelevant()

Indicates whether this actor should participate in level bounds calculations

Public function Virtual

void

 

PostEditMove

(
    bool bFinished
)

Called after an actor has been moved in the editor

Public function Virtual

void

 

PostRegisterAllComponents()

Called after all the components in the Components array are registered, called both in editor and during gameplay

Public function Virtual

void

 

RerunConstructionScripts()

Rerun construction scripts, destroying all autogenerated components; will attempt to preserve the root component location.

Public function Virtual

bool

 

ShouldExport()

Called before editor copy, true allow export

Public function Virtual

bool

 

ShouldImport

(
    FString * ActorPropString,
    bool IsMovingLevel
)

Called before editor paste, true allow import

Public function Virtual

void

 

UnregisterAllComponents

(
    bool bForReregister
)

Unregister all currently registered components

Overridden from UObject

Name Description

Public function Virtual

void

 

BeginDestroy()

Called before destroying the object.

Public function Virtual

void

 

FinishDestroy()

Called to finish destroying the object.

Public function Virtual

bool

 

IsReadyForFinishDestroy()

Called to check if the object is ready for FinishDestroy.

Public function Virtual

void

 

PostEditChangeProperty

(
    FPropertyChangedEvent & PropertyCha...
)

Called when a property on this object has been modified externally

Public function Virtual

void

 

PostEditImport()

Called after importing property values for this object (paste, duplicate or .t3d import) Allow the object to perform any cleanup for properties which shouldn't be duplicated or are unsupported by the script serialization

Public function Virtual

void

 

PostLoad()

Do any object-specific cleanup required immediately after loading an object.

Public function Virtual

void

 

PreSave

(
    const ITargetPlatform * TargetP...
)

Presave function.

Public function Virtual

void

 

Serialize

(
    FArchive & Ar
)

Handles reading, writing, and reference collecting using FArchive .

Classes

Constants

Deprecated Variables

Name Description

Public variable

TArray < ULandsc ...

 

EditorCachedLayerInfos_DEPRECATED

Public variable

float

 

LODDistanceFactor_DEPRECATED

Public variable

TEnumAsByte < EL ...

 

LODFalloff_DEPRECATED

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback