UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
MaterialExpressionTransformPosition.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"
10#include "MaterialExpressionTransformPosition.generated.h"
11
12UENUM()
14{
16 TRANSFORMPOSSOURCE_Local UMETA(DisplayName="Local Space"),
17
19 TRANSFORMPOSSOURCE_World UMETA(DisplayName="Absolute World Space"),
20
28 TRANSFORMPOSSOURCE_PeriodicWorld UMETA(DisplayName="Periodic World Space"),
29
31 TRANSFORMPOSSOURCE_TranslatedWorld UMETA(DisplayName="Camera Relative World Space"),
32
34 TRANSFORMPOSSOURCE_FirstPersonTranslatedWorld UMETA(DisplayName = "First Person Space (Camera Relative World Space)"),
35
37 TRANSFORMPOSSOURCE_View UMETA(DisplayName="View Space"),
38
40 TRANSFORMPOSSOURCE_Camera UMETA(DisplayName="Camera Space"),
41
43 TRANSFORMPOSSOURCE_Particle UMETA(Hidden, DisplayName = "Mesh Particle Space"),
44
46 TRANSFORMPOSSOURCE_Instance UMETA(DisplayName = "Instance & Particle Space"),
47
49};
50
53{
55
56public:
57
59 UPROPERTY()
61
63 UPROPERTY(EditAnywhere, Category=MaterialExpressionTransformPosition, meta=(DisplayName = "Source", ShowAsInputPin = "Advanced", InvalidEnumValues="TRANSFORMPOSSOURCE_FirstPersonTranslatedWorld"))
65
67 UPROPERTY(EditAnywhere, Category=MaterialExpressionTransformPosition, meta=(DisplayName = "Destination", ShowAsInputPin = "Advanced"))
69
71 UPROPERTY(meta=(DisplayName = "Periodic World Tile Size", ToolTip = "Distance the camera can move before the world origin is moved", RequiredInput = "false"))
72 FExpressionInput PeriodicWorldTileSize;
73
75 UPROPERTY(meta = (DisplayName = "First Person Interpolation Alpha", ToolTip = "Interpolates between world space and first person space. Valid range is [0, 1], from world space to first person space. Defaults to 'ConstFirstPersonInterpolationAlpha' if not specified.", RequiredInput = "false"))
76 FExpressionInput FirstPersonInterpolationAlpha;
77
79 UPROPERTY(EditAnywhere, Category=MaterialExpressionTransformPosition, meta=(DisplayName = "Periodic World Tile Size", ClampMin=0.0001, UIMax=524288.0, OverridingInputProperty = "PeriodicWorldTileSize", EditCondition=bUsesPeriodicWorldPosition, EditConditionHides, HideEditConditionToggle))
80 float ConstPeriodicWorldTileSize = 32.0;
81
83 UPROPERTY(EditAnywhere, Category=MaterialExpressionTransformPosition, meta=(DisplayName = "First Person Interpolation Alpha", UIMin = 0.0f, UIMax = 1.0f, ClampMin = 0.0f, ClampMax = 1.0f, OverridingInputProperty = "FirstPersonInterpolationAlpha", EditCondition = bUsesFirstPersonInterpolationAlpha, EditConditionHides, HideEditConditionToggle))
84 float ConstFirstPersonInterpolationAlpha = 1.0f;
85
87 UPROPERTY()
88 bool bUsesPeriodicWorldPosition = false;
89
90 UPROPERTY()
91 bool bUsesFirstPersonInterpolationAlpha = false;
92
93public:
94
95 //~ Begin UMaterialExpression Interface
96#if WITH_EDITOR
97 virtual void Build(MIR::FEmitter& Em) override;
98 virtual int32 Compile(class FMaterialCompiler* Compiler, int32 OutputIndex) override;
99 virtual void GetConnectorToolTip(int32 InputIndex, int32 OutputIndex, TArray<FString>& OutToolTip) override;
100 virtual void GetCaption(TArray<FString>& OutCaptions) const override;
102 virtual FExpressionInput* GetInput(int32 InputIndex) override;
103 virtual FName GetInputName(int32 InputIndex) const override;
104 virtual void PostEditChangeProperty(struct FPropertyChangedEvent& PropertyChangedEvent) override;
105#endif
106 //~ End UMaterialExpression Interface
107
108private:
109 int32 GetAbsoluteInputIndex(int32 InputIndex);
110};
111
@ Valid
Definition AndroidInputInterface.h:103
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
EMaterialPositionTransformSource
Definition MaterialExpressionTransformPosition.h:14
@ UMETA
Definition MaterialExpressionTransformPosition.h:16
@ TRANSFORMPOSSOURCE_MAX
Definition MaterialExpressionTransformPosition.h:48
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define UCLASS(...)
Definition ObjectMacros.h:776
#define UENUM(...)
Definition ObjectMacros.h:749
uint32 Size
Definition VulkanMemory.cpp:4034
if(Failed) console_printf("Failed.\n")
Definition MaterialCompiler.h:109
Definition NameTypes.h:617
Definition ArrayView.h:139
Definition Array.h:670
Definition EnumAsByte.h:22
Definition MaterialExpressionTransformPosition.h:53
Definition MaterialExpression.h:150
@ false
Definition radaudio_common.h:23
Definition MaterialExpressionIO.h:23
Definition UnrealType.h:6865