UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
MaterialExpressionVectorParameter.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
8#include "MaterialExpressionVectorParameter.generated.h"
9
11
14{
16
17 UPROPERTY(EditAnywhere, Category=MaterialExpressionVectorParameter, meta = (ShowAsInputPin = "Primary"))
18 FLinearColor DefaultValue;
19
20 UPROPERTY(EditAnywhere, Category=CustomPrimitiveData)
21 bool bUseCustomPrimitiveData = false;
22
23 UPROPERTY(EditAnywhere, Category=CustomPrimitiveData, meta=(ClampMin="0"))
24 uint8 PrimitiveDataIndex = 0;
25
26 UPROPERTY(EditAnywhere, Category = ParameterCustomization, meta=(EditorOnlyLocalization))
27 FParameterChannelNames ChannelNames;
28
29 //~ Begin UMaterialExpression Interface
30#if WITH_EDITOR
31 virtual void Build(MIR::FEmitter& Emitter) override;
32 virtual int32 Compile(class FMaterialCompiler* Compiler, int32 OutputIndex) override;
33 virtual void GetCaption(TArray<FString>& OutCaptions) const override;
34 virtual bool GetParameterValue(FMaterialParameterMetadata& OutMeta) const override
35 {
36 OutMeta.Value = DefaultValue;
37
38 if (bUseCustomPrimitiveData)
39 {
40 OutMeta.PrimitiveDataIndex = PrimitiveDataIndex;
41 }
42
43 OutMeta.ChannelNames = ChannelNames;
44 return Super::GetParameterValue(OutMeta);
45 }
47 {
48 if (Meta.Value.Type == EMaterialParameterType::Vector)
49 {
50 if (SetParameterValue(Name, Meta.Value.AsLinearColor(), Flags))
51 {
53 {
54 Group = Meta.Group;
55 SortPriority = Meta.SortPriority;
56 }
57 return true;
58 }
59 }
60 return false;
61 }
62#endif
63 //~ End UMaterialExpression Interface
64
65#if WITH_EDITOR
67
68 virtual void PostEditChangeProperty(FPropertyChangedEvent& PropertyChangedEvent) override;
69
70 void ApplyChannelNames();
71
72 virtual void ValidateParameterName(const bool bAllowDuplicateName) override;
74#endif
75
76 virtual bool IsUsedAsChannelMask() const {return false;}
77
78#if WITH_EDITOR
80 {
81 return ChannelNames;
82 }
83#endif
84};
85
86
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
constexpr bool EnumHasAnyFlags(Enum Flags, Enum Contains)
Definition EnumClassFlags.h:35
EMaterialExpressionSetParameterValueFlags
Definition MaterialExpression.h:113
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_UCLASS_BODY(...)
Definition ObjectMacros.h:768
#define UCLASS(...)
Definition ObjectMacros.h:776
uint8_t uint8
Definition binka_ue_file_header.h:8
Definition MaterialCompiler.h:109
Definition NameTypes.h:617
Definition Array.h:670
Definition MaterialExpressionParameter.h:17
Definition MaterialExpressionVectorParameter.h:14
Definition MaterialExpression.h:150
Definition Color.h:48
Definition MaterialParameters.h:446
Definition MaterialParameters.h:279
Definition UnrealType.h:6865