UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
MaterialExpressionTextureObjectFromCollection.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
7#include "MaterialValueType.h"
8#include "MaterialExpressionTextureObjectFromCollection.generated.h"
9
11UENUM(BlueprintType)
13{
14 Texture2D UMETA(DisplayName = "Texture 2D"),
15 TextureCube UMETA(DisplayName = "Texture Cube"),
16 Texture2DArray UMETA(DisplayName = "Texture 2D Array"),
17 TextureCubeArray UMETA(DisplayName = "Texture Cube Array"),
18 TextureVolume UMETA(DisplayName = "Volume Texture"),
19
20 Max
21};
22
24{
25 switch (InType)
26 {
27 case ETextureCollectionMemberType::Texture2D: return MCT_Texture2D;
28 case ETextureCollectionMemberType::TextureCube: return MCT_TextureCube;
29 case ETextureCollectionMemberType::Texture2DArray: return MCT_Texture2DArray;
30 case ETextureCollectionMemberType::TextureCubeArray: return MCT_TextureCubeArray;
31 case ETextureCollectionMemberType::TextureVolume: return MCT_VolumeTexture;
32 }
33 return MCT_Texture2D;
34}
35
36UCLASS(MinimalAPI)
38{
40
41public:
42
43 UPROPERTY(meta = (RequiredInput = "false"))
45
46 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category=TextureCollection)
47 TObjectPtr<UTextureCollection> TextureCollectionObject;
48
49 UPROPERTY(meta = (RequiredInput = "false"))
50 FExpressionInput CollectionIndex;
51
52 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category=TextureCollection, meta = (OverridingInputProperty = "CollectionIndex"))
53 int32 ConstCollectionIndex = 0;
54
55 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category=TextureCollection)
57
58 //~ Begin UMaterialExpression Interface
59#if WITH_EDITOR
60 virtual int32 Compile(class FMaterialCompiler* Compiler, int32 OutputIndex) override;
61 virtual EMaterialValueType GetInputValueType(int32 InputIndex) override;
62 virtual EMaterialValueType GetOutputValueType(int32 OutputIndex) override;
63 virtual void GetCaption(TArray<FString>& OutCaptions) const override;
64
65 virtual UTextureCollection* GetReferencedTextureCollection() const { return TextureCollectionObject; }
66#endif
67 //~ End UMaterialExpression Interface
68};
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
EMaterialValueType MaterialValueTypeFromTextureCollectionMemberType(ETextureCollectionMemberType InType)
Definition MaterialExpressionTextureObjectFromCollection.h:23
ETextureCollectionMemberType
Definition MaterialExpressionTextureObjectFromCollection.h:13
EMaterialValueType
Definition MaterialValueType.h:15
@ MCT_TextureCube
Definition MaterialValueType.h:31
@ MCT_Texture2DArray
Definition MaterialValueType.h:32
@ MCT_Texture2D
Definition MaterialValueType.h:30
@ MCT_VolumeTexture
Definition MaterialValueType.h:34
@ MCT_TextureCubeArray
Definition MaterialValueType.h:33
#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
uint8_t uint8
Definition binka_ue_file_header.h:8
Definition MaterialCompiler.h:109
Definition Array.h:670
Definition MaterialExpressionTextureObjectFromCollection.h:38
Definition MaterialExpression.h:150
Definition TextureCollection.h:47
@ false
Definition radaudio_common.h:23
Definition MaterialExpressionIO.h:23
Definition ObjectPtr.h:488