UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
ULandscapeHeightfieldCollisionComponent Class Reference

#include <LandscapeHeightfieldCollisionComponent.h>

+ Inheritance diagram for ULandscapeHeightfieldCollisionComponent:

Classes

struct  FCollisionSampleInfo
 
struct  FHeightfieldGeometryRef
 
struct  FWriteRuntimeDataParams
 

Public Types

enum  ECollisionQuadFlags : uint8 { QF_PhysicalMaterialMask = 63 , QF_EdgeTurned = 64 , QF_NoCollision = 128 }
 

Public Member Functions

LANDSCAPE_API ULandscapeComponent * GetRenderComponent () const
 
virtual void ApplyWorldOffset (const FVector &InOffset, bool bWorldShift) override
 
virtual void DestroyComponent (bool bPromoteChildren=false) override
 
virtual FBoxSphereBounds CalcBounds (const FTransform &BoundTransform) const override
 
virtual ECollisionEnabled::Type GetCollisionEnabled () const override
 
virtual ECollisionResponse GetCollisionResponseToChannel (ECollisionChannel Channel) const override
 
virtual ECollisionChannel GetCollisionObjectType () const override
 
virtual const FCollisionResponseContainerGetCollisionResponseToChannels () const override
 
virtual void OnRegister () override
 
virtual void OnUnregister () override
 
virtual bool AllowsAsyncPhysicsStateCreation () const override
 
virtual bool DoCustomNavigableGeometryExport (FNavigableGeometryExport &GeomExport) const override
 
virtual bool IsShown (const FEngineShowFlags &ShowFlags) const override
 
virtual bool SupportsGatheringGeometrySlices () const override
 
virtual void GatherGeometrySlice (FNavigableGeometryExport &GeomExport, const FBox &SliceBox) const override
 
virtual ENavDataGatheringMode GetGeometryGatheringMode () const override
 
virtual void PrepareGeometryExportSync () override
 
virtual void Serialize (FArchive &Ar) override
 
virtual void BeginDestroy () override
 
virtual void GetResourceSizeEx (FResourceSizeEx &CumulativeResourceSize) override
 
virtual void PostLoad () override
 
virtual void PreSave (FObjectPreSaveContext ObjectSaveContext) override
 
FCollisionSampleInfo GetCollisionSampleInfo () const
 
LANDSCAPE_API bool WriteRuntimeData (const FWriteRuntimeDataParams &Params, TArray< uint8 > &OutHeightfieldData, TArray< UPhysicalMaterial * > &InOutMaterials) const
 
bool GenerateCollisionData (const FWriteRuntimeDataParams &Params, Chaos::FHeightFieldPtr &OutHeightField, bool bGenerateSimpleCollision, Chaos::FHeightFieldPtr &OutSimpleHeightField, TArray< UPhysicalMaterial * > &InOutMaterials) const
 
ULandscapeInfoGetLandscapeInfo () const
 
virtual void CreateCollisionObject ()
 
LANDSCAPE_API void CreateCollisionObject (bool bUseDefaultMaterialOnly, TArrayView< const uint16 > Heights, TArrayView< const uint16 > SimpleHeights, TArrayView< const uint8 > PhysicalMaterialIds, TArrayView< const uint8 > SimplePhysicalMaterialIds, TArrayView< const TObjectPtr< UPhysicalMaterial > > PhysicalMaterialObjects)
 
LANDSCAPE_API ALandscapeProxy * GetLandscapeProxy () const
 
LANDSCAPE_API FIntPoint GetSectionBase () const
 
LANDSCAPE_API void SetSectionBase (FIntPoint InSectionBase)
 
virtual LANDSCAPE_API bool RecreateCollision ()
 
void SetRenderComponent (ULandscapeComponent *InRenderComponent)
 
LANDSCAPE_API TOptional< floatGetHeight (float X, float Y, EHeightfieldSource HeightFieldSource)
 
LANDSCAPE_API UPhysicalMaterialGetPhysicalMaterial (float X, float Y, EHeightfieldSource HeightFieldSource)
 
LANDSCAPE_API bool FillHeightTile (TArrayView< float > Heights, int32 Offset, int32 Stride) const
 
LANDSCAPE_API bool FillMaterialIndexTile (TArrayView< uint8 > Materials, int32 Offset, int32 Stride) const
 

Public Attributes

TArray< uint8CookedCollisionData
 
TArray< TObjectPtr< UPhysicalMaterial > > CookedPhysicalMaterials
 
TRefCountPtr< FHeightfieldGeometryRefHeightfieldRef
 
Chaos::FHeightFieldPtr LocalHeightfieldGeometryRef
 
Chaos::FHeightFieldPtr LocalHeightfieldSimpleGeometryRef
 
int32 HeightfieldRowsCount
 
int32 HeightfieldColumnsCount
 
FNavHeightfieldSamples CachedHeightFieldSamples
 

Protected Member Functions

virtual void OnCreatePhysicsState () override
 
virtual void OnDestroyPhysicsState () override
 

Friends

class FLandscapeHeightfieldCollisionComponentSceneProxy
 

Member Enumeration Documentation

◆ ECollisionQuadFlags

Enumerator
QF_PhysicalMaterialMask 
QF_EdgeTurned 
QF_NoCollision 

Member Function Documentation

◆ AllowsAsyncPhysicsStateCreation()

bool ULandscapeHeightfieldCollisionComponent::AllowsAsyncPhysicsStateCreation ( ) const
overridevirtual

◆ ApplyWorldOffset()

void ULandscapeHeightfieldCollisionComponent::ApplyWorldOffset ( const FVector InOffset,
bool  bWorldShift 
)
overridevirtual

◆ BeginDestroy()

void ULandscapeHeightfieldCollisionComponent::BeginDestroy ( )
overridevirtual

◆ CalcBounds()

FBoxSphereBounds ULandscapeHeightfieldCollisionComponent::CalcBounds ( const FTransform BoundTransform) const
overridevirtual

◆ CreateCollisionObject() [1/2]

void ULandscapeHeightfieldCollisionComponent::CreateCollisionObject ( )
virtual

Creates collision object from a cooked collision data

◆ CreateCollisionObject() [2/2]

void ULandscapeHeightfieldCollisionComponent::CreateCollisionObject ( bool  bUseDefaultMaterialOnly,
TArrayView< const uint16 Heights,
TArrayView< const uint16 SimpleHeights,
TArrayView< const uint8 PhysicalMaterialIds,
TArrayView< const uint8 SimplePhysicalMaterialIds,
TArrayView< const TObjectPtr< UPhysicalMaterial > >  PhysicalMaterialObjects 
)

Creates collision object from raw runtime data. Data is assumed at this point to contain valid physical material indices with visibility layer set to 0xFF

◆ DestroyComponent()

void ULandscapeHeightfieldCollisionComponent::DestroyComponent ( bool  bPromoteChildren = false)
overridevirtual

◆ DoCustomNavigableGeometryExport()

bool ULandscapeHeightfieldCollisionComponent::DoCustomNavigableGeometryExport ( FNavigableGeometryExport GeomExport) const
overridevirtual

◆ FillHeightTile()

bool ULandscapeHeightfieldCollisionComponent::FillHeightTile ( TArrayView< float Heights,
int32  Offset,
int32  Stride 
) const

Populates a supplied array with the heights from the heightfield. Samples are placed in a tile defined by the starting point (Offset) and the stride/row

◆ FillMaterialIndexTile()

bool ULandscapeHeightfieldCollisionComponent::FillMaterialIndexTile ( TArrayView< uint8 Materials,
int32  Offset,
int32  Stride 
) const

◆ GatherGeometrySlice()

void ULandscapeHeightfieldCollisionComponent::GatherGeometrySlice ( FNavigableGeometryExport GeomExport,
const FBox SliceBox 
) const
overridevirtual

◆ GenerateCollisionData()

bool ULandscapeHeightfieldCollisionComponent::GenerateCollisionData ( const FWriteRuntimeDataParams Params,
Chaos::FHeightFieldPtr OutHeightField,
bool  bGenerateSimpleCollision,
Chaos::FHeightFieldPtr OutSimpleHeightField,
TArray< UPhysicalMaterial * > &  InOutMaterials 
) const

◆ GetCollisionEnabled()

ECollisionEnabled::Type ULandscapeHeightfieldCollisionComponent::GetCollisionEnabled ( ) const
overridevirtual

◆ GetCollisionObjectType()

ECollisionChannel ULandscapeHeightfieldCollisionComponent::GetCollisionObjectType ( ) const
overridevirtual

◆ GetCollisionResponseToChannel()

ECollisionResponse ULandscapeHeightfieldCollisionComponent::GetCollisionResponseToChannel ( ECollisionChannel  Channel) const
overridevirtual

◆ GetCollisionResponseToChannels()

const FCollisionResponseContainer & ULandscapeHeightfieldCollisionComponent::GetCollisionResponseToChannels ( ) const
overridevirtual

◆ GetCollisionSampleInfo()

ULandscapeHeightfieldCollisionComponent::FCollisionSampleInfo ULandscapeHeightfieldCollisionComponent::GetCollisionSampleInfo ( ) const

◆ GetGeometryGatheringMode()

ENavDataGatheringMode ULandscapeHeightfieldCollisionComponent::GetGeometryGatheringMode ( ) const
overridevirtual

◆ GetHeight()

TOptional< float > ULandscapeHeightfieldCollisionComponent::GetHeight ( float  X,
float  Y,
EHeightfieldSource  HeightFieldSource 
)

◆ GetLandscapeInfo()

ULandscapeInfo * ULandscapeHeightfieldCollisionComponent::GetLandscapeInfo ( ) const

Gets the landscape info object for this landscape

◆ GetLandscapeProxy()

ALandscapeProxy * ULandscapeHeightfieldCollisionComponent::GetLandscapeProxy ( ) const

Return the landscape actor associated with this component.

◆ GetPhysicalMaterial()

UPhysicalMaterial * ULandscapeHeightfieldCollisionComponent::GetPhysicalMaterial ( float  X,
float  Y,
EHeightfieldSource  HeightFieldSource 
)

◆ GetRenderComponent()

ULandscapeComponent * ULandscapeHeightfieldCollisionComponent::GetRenderComponent ( ) const

Returns associated landscape component

◆ GetResourceSizeEx()

void ULandscapeHeightfieldCollisionComponent::GetResourceSizeEx ( FResourceSizeEx CumulativeResourceSize)
overridevirtual

◆ GetSectionBase()

FIntPoint ULandscapeHeightfieldCollisionComponent::GetSectionBase ( ) const
Returns
Component section base as FIntPoint

◆ IsShown()

bool ULandscapeHeightfieldCollisionComponent::IsShown ( const FEngineShowFlags ShowFlags) const
overridevirtual

◆ OnCreatePhysicsState()

void ULandscapeHeightfieldCollisionComponent::OnCreatePhysicsState ( )
overrideprotectedvirtual

◆ OnDestroyPhysicsState()

void ULandscapeHeightfieldCollisionComponent::OnDestroyPhysicsState ( )
overrideprotectedvirtual

◆ OnRegister()

void ULandscapeHeightfieldCollisionComponent::OnRegister ( )
overridevirtual

◆ OnUnregister()

void ULandscapeHeightfieldCollisionComponent::OnUnregister ( )
overridevirtual

◆ PostLoad()

void ULandscapeHeightfieldCollisionComponent::PostLoad ( )
overridevirtual

◆ PrepareGeometryExportSync()

void ULandscapeHeightfieldCollisionComponent::PrepareGeometryExportSync ( )
overridevirtual

◆ PreSave()

void ULandscapeHeightfieldCollisionComponent::PreSave ( FObjectPreSaveContext  ObjectSaveContext)
overridevirtual

◆ RecreateCollision()

bool ULandscapeHeightfieldCollisionComponent::RecreateCollision ( )
virtual

Recreate heightfield and restart physics

◆ Serialize()

void ULandscapeHeightfieldCollisionComponent::Serialize ( FArchive Ar)
overridevirtual

◆ SetRenderComponent()

void ULandscapeHeightfieldCollisionComponent::SetRenderComponent ( ULandscapeComponent *  InRenderComponent)
inline

◆ SetSectionBase()

void ULandscapeHeightfieldCollisionComponent::SetSectionBase ( FIntPoint  InSectionBase)
Parameters
InSectionBasenew section base for a component

◆ SupportsGatheringGeometrySlices()

virtual bool ULandscapeHeightfieldCollisionComponent::SupportsGatheringGeometrySlices ( ) const
inlineoverridevirtual

◆ WriteRuntimeData()

bool ULandscapeHeightfieldCollisionComponent::WriteRuntimeData ( const FWriteRuntimeDataParams Params,
TArray< uint8 > &  OutHeightfieldData,
TArray< UPhysicalMaterial * > &  InOutMaterials 
) const

Friends And Related Symbol Documentation

◆ FLandscapeHeightfieldCollisionComponentSceneProxy

friend class FLandscapeHeightfieldCollisionComponentSceneProxy
friend

Member Data Documentation

◆ CachedHeightFieldSamples

FNavHeightfieldSamples ULandscapeHeightfieldCollisionComponent::CachedHeightFieldSamples

◆ CookedCollisionData

TArray<uint8> ULandscapeHeightfieldCollisionComponent::CookedCollisionData

Cooked HeightField data. Serialized only with cooked content Stored as array instead of BulkData to take advantage of precaching during async loading

◆ CookedPhysicalMaterials

TArray<TObjectPtr<UPhysicalMaterial> > ULandscapeHeightfieldCollisionComponent::CookedPhysicalMaterials

This is a list of physical materials that is actually used by a cooked HeightField

◆ HeightfieldColumnsCount

int32 ULandscapeHeightfieldCollisionComponent::HeightfieldColumnsCount

◆ HeightfieldRef

TRefCountPtr<FHeightfieldGeometryRef> ULandscapeHeightfieldCollisionComponent::HeightfieldRef

Physics engine version of heightfield data.

◆ HeightfieldRowsCount

int32 ULandscapeHeightfieldCollisionComponent::HeightfieldRowsCount

Cached PxHeightFieldSamples values for navmesh generation. Note that it's being used only if navigation octree is set up for lazy geometry exporting

◆ LocalHeightfieldGeometryRef

Chaos::FHeightFieldPtr ULandscapeHeightfieldCollisionComponent::LocalHeightfieldGeometryRef

◆ LocalHeightfieldSimpleGeometryRef

Chaos::FHeightFieldPtr ULandscapeHeightfieldCollisionComponent::LocalHeightfieldSimpleGeometryRef

The documentation for this class was generated from the following files: