UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
PhysicalMaterialMask.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"
7#include "UObject/Object.h"
9#include "Engine/Texture.h"
10#include "EngineDefines.h"
13#include "PhysicalMaterialMask.generated.h"
14
16
20UCLASS(BlueprintType, Blueprintable, CollapseCategories, HideCategories = Object, MinimalAPI)
22{
24
25 //
26 // Object properties.
27 //
28#if WITH_EDITORONLY_DATA
29
30 UPROPERTY(VisibleAnywhere, Instanced, Category = ImportSettings)
32
34 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = TextureSource)
35 TObjectPtr<UTexture> MaskTexture;
36
37#endif
38
40 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = TextureSource)
41 int32 UVChannelIndex;
42
44 UPROPERTY(EditAnywhere, BlueprintReadWrite, meta = (DisplayName = "X-axis Tiling Method"), Category = TextureSource)
46
48 UPROPERTY(EditAnywhere, BlueprintReadWrite, meta = (DisplayName = "Y-axis Tiling Method"), Category = TextureSource)
50
51 static ENGINE_API uint32 INVALID_MASK_INDEX;
52
53public:
54
55 //~ Begin UObject Interface
56#if WITH_EDITOR
57 ENGINE_API virtual void PostEditChangeProperty(FPropertyChangedEvent& PropertyChangedEvent) override;
58#endif // WITH_EDITOR
59 ENGINE_API virtual void PostInitProperties() override;
60 ENGINE_API virtual void PostLoad() override;
61 ENGINE_API virtual void FinishDestroy() override;
62 //~ End UObject Interface
63
66
67#if WITH_EDITOR
68 // Helper method to set mask texture
69 ENGINE_API void SetMaskTexture(UTexture* InMaskTexture, const FString& InTextureFilename);
70
71 // Dump mask data to log display.
73#endif // WITH_EDITOR
74
76
78 ENGINE_API FPhysicsMaterialMaskHandle& GetPhysicsMaterialMask();
79
80 // Helper method to generate mask data used at runtime based on mask texture
81 ENGINE_API void GenerateMaskData(TArray<uint32>& OutMaskData, int32& OutSizeX, int32& OutSizeY) const;
82
83 // Helper method to query phys mat index at a given UV position in mask data
84 static ENGINE_API uint32 GetPhysMatIndex(const TArray<uint32>& MaskData, int32 SizeX, int32 SizeY, int32 AddressX, int32 AddressY, float U, float V);
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
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_UCLASS_BODY(...)
Definition ObjectMacros.h:768
#define UCLASS(...)
Definition ObjectMacros.h:776
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition ObjectMacros.h:180
Definition Array.h:670
Definition EnumAsByte.h:22
Definition UniquePtr.h:107
Definition Object.h:95
Definition PhysicalMaterialMask.h:22
virtual ENGINE_API ~UPhysicalMaterialMask()
TUniquePtr< FPhysicsMaterialMaskHandle > MaterialMaskHandle
Definition PhysicalMaterialMask.h:75
Definition Texture.h:1219
Definition PhysicalMaterials.h:63
Definition UnrealType.h:6865
Definition ObjectPtr.h:488