19#if UE_ENABLE_INCLUDE_ORDER_DEPRECATED_IN_5_6
23#include "LandscapeComponent.generated.h"
32class ULandscapeComponent;
72 SelectedType(ST_NONE),
77 LayerContributionTexture(
NULL),
156 , WeightmapTextureIndex(0)
157 , WeightmapTextureChannel(0)
164 , WeightmapTextureIndex(255)
165 , WeightmapTextureChannel(255)
176 FName GetLayerName()
const;
182 WeightmapTextureChannel = 255;
183 WeightmapTextureIndex = 255;
186 bool IsAllocated()
const {
return (WeightmapTextureChannel != 255 && WeightmapTextureIndex != 255); }
209#if WITH_EDITORONLY_DATA
225#if WITH_EDITORONLY_DATA
271USTRUCT(NotBlueprintable, meta = (Deprecated =
"5.1"))
276 UPROPERTY(EditAnywhere, Category = LandscapeComponent, meta=(UIMin=0, UIMax=8, ClampMin=0, ClampMax=8))
279 UPROPERTY(EditAnywhere, Category = LandscapeComponent)
288 UPROPERTY(EditAnywhere, Category =
Material, meta = (UIMin = 0, UIMax = 8, ClampMin = 0, ClampMax = 8))
296 return (LODIndex ==
InOther.LODIndex)
339#if WITH_EDITORONLY_DATA
412UCLASS(
hidecategories=(
Display, Attachment,
Physics,
Debug,
Collision, Movement,
Rendering, PrimitiveComponent,
Object,
Transform, Mobility,
VirtualTexture),
showcategories=(
"Rendering|Material"), MinimalAPI, Within=LandscapeProxy)
413class ULandscapeComponent :
public UPrimitiveComponent
418 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category=LandscapeComponent)
422 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category=LandscapeComponent)
427 int32 ComponentSizeQuads;
431 int32 SubsectionSizeQuads;
435 int32 NumSubsections;
437 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category=LandscapeComponent)
440 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category=LandscapeComponent, AdvancedDisplay)
443#if WITH_EDITORONLY_DATA
445 UE_DEPRECATED(
all,
"OverrideMaterials has been deprecated, use PerLODOverrideMaterials instead.")
465 UE_DEPRECATED(5.7,
"RetopologizeTool/XYOffset deprecated with the removal of non-edit layer landscapes")
475 float WeightmapSubsectionOffset;
496#if WITH_EDITORONLY_DATA
514#if WITH_EDITORONLY_DATA
562 UPROPERTY(EditAnywhere, Category = LandscapeComponent)
565#if WITH_EDITORONLY_DATA
582 bool bInvalid =
true;
594 FGuid MapBuildDataId;
597 UPROPERTY(EditAnywhere, Category=LandscapeComponent)
598 int32 CollisionMipLevel;
601 UPROPERTY(EditAnywhere, Category=LandscapeComponent)
602 int32 SimpleCollisionMipLevel;
606 UPROPERTY(EditAnywhere, Category=LandscapeComponent)
611 UPROPERTY(EditAnywhere, Category=LandscapeComponent)
615 UPROPERTY(EditAnywhere, Category=LandscapeComponent, meta=(ClampMax = 4096))
616 float StaticLightingResolution;
619 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category=LandscapeComponent)
623 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category=LandscapeComponent)
635#if WITH_EDITORONLY_DATA
642 UPROPERTY(EditAnywhere, Category=LandscapeComponent)
646 UPROPERTY(EditAnywhere, Category=LandscapeComponent)
700#if WITH_EDITORONLY_DATA
740 virtual void PostInitProperties()
override;
743 virtual void BeginDestroy()
override;
745#if WITH_EDITORONLY_DATA
772 virtual bool GetLightMapResolution(
int32& Width,
int32& Height )
const override;
773 virtual int32 GetStaticLightMapResolution()
const override;
782 virtual bool IsPrecomputedLightingValid()
const override;
862 virtual int32 GetNumMaterials()
const override;
878 virtual void OnRegister()
override;
879 virtual void OnUnregister()
override;
883 virtual void PropagateLightingScenarioChange()
override;
884 virtual bool IsHLODRelevant()
const override;
890 UFUNCTION(BlueprintCallable, Category =
"Landscape|Grass", meta=(DisplayName =
"GetGrassTypes", Tooltip =
"Returns the grass types used by the landscape material on this component"))
989 UFUNCTION(BlueprintCallable, Category =
"Landscape|Runtime|Material")
1004 ULevel* GetLevel() const;
1019 return FIntPoint(SectionBaseX, SectionBaseY);
1025 return GetSectionBase() / ComponentSizeQuads;
1043 const FGuid& GetLightingGuid()
const
1045#if WITH_EDITORONLY_DATA
1054 void SetLightingGuid()
1056#if WITH_EDITORONLY_DATA
1063 return MapBuildDataId;
1122 template<
typename DataType>
1133 template<
typename DataType>
1249 void UpdateNavigationRelevance();
1262 UFUNCTION(BlueprintCallable, Category =
"LandscapeComponent")
1265 UFUNCTION(BlueprintCallable, Category = "LandscapeComponent")
1272 return bNaniteActive;
#define NULL
Definition oodle2base.h:134
EUpdateTransformFlags
Definition ActorComponent.h:95
@ BeginCacheForCookedPlatformData
@ INDEX_NONE
Definition CoreMiscDefines.h:150
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
DIRECTLINK_API Display
Definition DirectLinkLog.h:8
ETeleportType
Definition EngineTypes.h:2401
uint32 GetTypeHash(const FWeightmapLayerAllocationInfo &InAllocInfo)
Definition LandscapeComponent.h:189
ELandscapeToolTargetTypeFlags
Definition LandscapeEditTypes.h:22
ELandscapeTextureType
Definition LandscapeTextureHash.h:13
ELandscapeTextureUsage
Definition LandscapeTextureHash.h:21
void Init()
Definition LockFreeList.h:4
FInt32Point FIntPoint
Definition MathFwd.h:124
#define MAX_int32
Definition NumericLimits.h:25
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define UFUNCTION(...)
Definition ObjectMacros.h:745
#define UMETA(...)
Definition ObjectMacros.h:747
#define GENERATED_UCLASS_BODY(...)
Definition ObjectMacros.h:768
#define UCLASS(...)
Definition ObjectMacros.h:776
#define UENUM(...)
Definition ObjectMacros.h:749
#define USTRUCT(...)
Definition ObjectMacros.h:746
#define GENERATED_USTRUCT_BODY(...)
Definition ObjectMacros.h:767
const U & ObjectPtrDecay(const T &Value)
Definition ObjectPtr.h:1744
ERuntimeVirtualTextureMainPassType
Definition RuntimeVirtualTextureEnum.h:58
ELightMapInteractionType
Definition SceneTypes.h:111
Definition Archive.h:1208
Definition LandscapeRender.h:702
Definition LightingBuildOptions.h:14
Definition MaterialShared.h:3326
Definition MapBuildDataRegistry.h:56
Definition NameTypes.h:617
Definition UnrealType.h:3087
Definition PrimitiveSceneProxy.h:296
Definition UnrealType.h:174
Definition UObjectGlobals.h:2492
Definition TextureStreamingTypes.h:223
Definition Landscape.Build.cs:7
Definition ArrayView.h:139
UE_REWRITE SizeType Num() const
Definition Array.h:1144
Definition AssetRegistryState.h:50
Definition UnrealString.h.inl:34
Definition SharedPointer.h:153
Definition StaticArray.h:26
Definition SubclassOf.h:30
Definition LandscapeGrassType.h:172
Definition LandscapeHeightfieldCollisionComponent.h:41
Definition LandscapeEdgeFixup.h:205
Definition LandscapeInfo.h:109
Definition LandscapeComponent.h:408
Definition LandscapeLayerInfoObject.h:60
Definition LandscapeWeightmapUsage.h:14
Definition MaterialInstanceConstant.h:21
Definition MaterialInstanceDynamic.h:15
Definition MaterialInstance.h:627
Definition MaterialInterface.h:296
Definition StreamableRenderAsset.h:37
Definition Texture2D.h:26
Type
Definition RHIFeatureLevel.h:20
bool operator==(const FCachedAssetKey &A, const FCachedAssetKey &B)
Definition AssetDataMap.h:501
ENGINE_API FBox CalcBounds(const FVector &P0, const FVector &P1, const FVector &P2, const FVector &P3)
Definition BezierUtilities.cpp:26
uint32 ComputeGrassMapGenerationHash(const ULandscapeComponent *Component, UMaterialInterface *Material)
Definition LandscapeGrassMapsBuilder.cpp:154
LANDSCAPE_API bool CanRenderGrassMap(ULandscapeComponent *Component)
Definition LandscapeGrassMapsBuilder.cpp:214
Definition VirtualTextureRecreate.cpp:16
@ false
Definition radaudio_common.h:23
Definition ConvexVolume.h:44
Definition ShowFlags.h:56
static CORE_API FGuid NewGuid()
Definition Guid.cpp:236
Definition LandscapeComponent.h:318
TObjectPtr< UTexture2D > Texture
Definition LandscapeComponent.h:322
Definition LandscapeComponent.h:208
void InitializeFrom(const TArray< uint16 > &HeightData, const TMap< ULandscapeGrassType *, TArray< uint8 > > &WeightData)
Definition LandscapeGrass.cpp:1467
PRAGMA_DISABLE_DEPRECATION_WARNINGS FLandscapeComponentGrassData()=default
bool Contains(ULandscapeGrassType *GrassType) const
Definition LandscapeGrass.cpp:1451
FLandscapeComponentGrassData(const FLandscapeComponentGrassData &)=default
void ConditionalDiscardDataOnLoad()
Definition LandscapeGrass.cpp:1656
PRAGMA_ENABLE_DEPRECATION_WARNINGS bool HasValidData() const
Definition LandscapeGrass.cpp:1410
int32 NumElements
Definition LandscapeComponent.h:233
FLandscapeComponentGrassData & operator=(const FLandscapeComponentGrassData &)=default
static constexpr int32 UnknownNumElements
Definition LandscapeComponent.h:230
TArrayView< uint8 > GetWeightData(const ULandscapeGrassType *GrassType)
Definition LandscapeGrass.cpp:1435
SIZE_T GetAllocatedSize() const
Definition LandscapeGrass.cpp:1400
FLandscapeComponentGrassData & operator=(FLandscapeComponentGrassData &&)=default
TArrayView< uint16 > GetHeightData()
Definition LandscapeGrass.cpp:1456
FLandscapeComponentGrassData(FLandscapeComponentGrassData &&)=default
~FLandscapeComponentGrassData()=default
bool HasWeightData() const
Definition LandscapeGrass.cpp:1405
TArray< uint8 > HeightWeightData
Definition LandscapeComponent.h:236
friend FArchive & operator<<(FArchive &Ar, FLandscapeComponentGrassData &Data)
Definition LandscapeGrass.cpp:1557
TMap< TObjectPtr< ULandscapeGrassType >, int32 > WeightOffsets
Definition LandscapeComponent.h:235
bool HasData() const
Definition LandscapeGrass.cpp:1418
Definition LandscapeGroup.h:22
Definition LandscapeComponent.h:327
Definition LandscapeComponent.h:285
Definition LandscapeComponent.h:119
uint32 SubX
Definition LandscapeComponent.h:129
uint32 X
Definition LandscapeComponent.h:127
uint32 SubY
Definition LandscapeComponent.h:130
uint32 Y
Definition LandscapeComponent.h:128
static int32 GetVertexIndex(FLandscapeVertexRef Vert, int32 SubsectionCount, int32 SubsectionVerts)
Definition LandscapeComponent.h:133
FLandscapeVertexRef(int16 InX, int16 InY, int8 InSubX, int8 InSubY)
Definition LandscapeComponent.h:120
Definition UnrealType.h:6865
Definition ResourceSize.h:31
Definition StaticLighting.h:506
Definition LandscapeComponent.h:303
TArray< TObjectPtr< UTexture2D > > Textures
Definition LandscapeComponent.h:307
Definition LandscapeComponent.h:142
FWeightmapLayerAllocationInfo(ULandscapeLayerInfoObject *InLayerInfo)
Definition LandscapeComponent.h:162
TObjectPtr< ULandscapeLayerInfoObject > LayerInfo
Definition LandscapeComponent.h:146
bool IsAllocated() const
Definition LandscapeComponent.h:186
uint8 WeightmapTextureChannel
Definition LandscapeComponent.h:152
uint8 WeightmapTextureIndex
Definition LandscapeComponent.h:149
void Free()
Definition LandscapeComponent.h:180
Definition LandscapeComponent.h:196
virtual bool CopyToAndCalcIsAllZero(T *Dest, int32 Count) const =0
virtual void CopyTo(T *Dest, int32 Count) const =0
virtual int32 Num() const =0
Definition LazyObjectPtr.h:230
Definition ObjectPtr.h:488
Definition BoxSphereBounds.h:25
IntType X
Definition IntPoint.h:34