UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
MaterialExpressionLandscapeGrassOutput.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3
4#pragma once
5
6#include "CoreMinimal.h"
9#include "MaterialValueType.h"
11#include "MaterialExpressionLandscapeGrassOutput.generated.h"
12
15
16USTRUCT()
18{
20
21 UPROPERTY(EditAnywhere, Category = Grass)
23
24 UPROPERTY(EditAnywhere, Category = Grass)
26
27 UPROPERTY(meta = (RequiredInput = "true"))
29
31 : GrassType(nullptr)
32 {}
33
35 : Name(InName)
36 , GrassType(nullptr)
37 {}
38};
39
42{
44
45 // Maximum number of supported grass types on a given landscape material. Whenever adjusting this, make sure to update LandscapeGrassWeight.usf accordingly:
46 static constexpr int32 MaxGrassTypes = 32;
47
48#if WITH_EDITOR
49 LANDSCAPE_API virtual int32 Compile(class FMaterialCompiler* Compiler, int32 OutputIndex) override;
50 LANDSCAPE_API virtual void GetCaption(TArray<FString>& OutCaptions) const override;
52 LANDSCAPE_API virtual FExpressionInput* GetInput(int32 InputIndex) override;
53 LANDSCAPE_API virtual FName GetInputName(int32 InputIndex) const override;
55#endif
56
57 //~ Begin UObject Interface
58#if WITH_EDITOR
59 LANDSCAPE_API virtual void PostEditChangeProperty(FPropertyChangedEvent& PropertyChangedEvent) override;
60 //~ End UObject Interface
61
62 virtual EMaterialValueType GetInputValueType(int32 InputIndex) override { return MCT_Float; }
63#endif
64
65 virtual int32 GetNumOutputs() const override { return GrassTypes.Num(); }
66 virtual int32 GetMaxOutputs() const { return MaxGrassTypes; };
67 virtual FString GetFunctionName() const override { return TEXT("GetGrassWeight"); }
68
70 TArray<FGrassInput> GrassTypes;
71
72private:
73 static LANDSCAPE_API FName PinDefaultName;
74};
75
76
77
#define TEXT(x)
Definition Platform.h:1272
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
return true
Definition ExternalRpcRegistry.cpp:601
EMaterialValueType
Definition MaterialValueType.h:15
@ MCT_Float
Definition MaterialValueType.h:89
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_UCLASS_BODY(...)
Definition ObjectMacros.h:768
#define UCLASS(...)
Definition ObjectMacros.h:776
#define USTRUCT(...)
Definition ObjectMacros.h:746
#define GENERATED_USTRUCT_BODY(...)
Definition ObjectMacros.h:767
Definition MaterialCompiler.h:109
Definition NameTypes.h:617
Definition ArrayView.h:139
Definition Array.h:670
Definition LandscapeGrassType.h:172
Definition MaterialExpressionCustomOutput.h:15
Definition MaterialExpressionLandscapeGrassOutput.h:42
Definition MaterialExpressionIO.h:23
Definition MaterialExpressionLandscapeGrassOutput.h:18
FGrassInput(FName InName)
Definition MaterialExpressionLandscapeGrassOutput.h:34
Definition UnrealType.h:6865
Definition ObjectPtr.h:488