UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
StaticMeshDescription.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
6#include "Math/Vector2D.h"
7#include "Math/Vector4.h"
8#include "MeshDescription.h"
10#include "MeshTypes.h"
12#include "Templates/UniquePtr.h"
13#include "UObject/NameTypes.h"
16
17#include "StaticMeshDescription.generated.h"
18
19class UMaterial;
20class UObject;
21struct FFrame;
22
26UCLASS(BlueprintType, MinimalAPI)
28{
29public:
31
32
33 STATICMESHDESCRIPTION_API virtual void RegisterAttributes() override;
34
36 {
37 return static_cast<FStaticMeshAttributes&>(*RequiredAttributes);
38 }
39
40 virtual const FStaticMeshAttributes& GetRequiredAttributes() const override
41 {
42 return static_cast<const FStaticMeshAttributes&>(*RequiredAttributes);
43 }
44
45 UFUNCTION(BlueprintPure, Category="MeshDescription")
46 STATICMESHDESCRIPTION_API FVector2D GetVertexInstanceUV(FVertexInstanceID VertexInstanceID, int32 UVIndex = 0) const;
47
48 UFUNCTION(BlueprintCallable, Category="MeshDescription")
49 STATICMESHDESCRIPTION_API void SetVertexInstanceUV(FVertexInstanceID VertexInstanceID, FVector2D UV, int32 UVIndex = 0);
50
51 UFUNCTION(BlueprintCallable, Category="MeshDescription")
52 STATICMESHDESCRIPTION_API void CreateCube(FVector Center, FVector HalfExtents, FPolygonGroupID PolygonGroup,
59
60 UFUNCTION(BlueprintCallable, Category="MeshDescription")
61 STATICMESHDESCRIPTION_API void SetPolygonGroupMaterialSlotName(FPolygonGroupID PolygonGroupID, const FName& SlotName);
62
63public:
64
65 TVertexInstanceAttributesRef<FVector2f> GetVertexInstanceUVs() { return GetRequiredAttributes().GetVertexInstanceUVs(); }
66 TVertexInstanceAttributesConstRef<FVector2f> GetVertexInstanceUVs() const { return GetRequiredAttributes().GetVertexInstanceUVs(); }
67
68 TVertexInstanceAttributesRef<FVector3f> GetVertexInstanceNormals() { return GetRequiredAttributes().GetVertexInstanceNormals(); }
69 TVertexInstanceAttributesConstRef<FVector3f> GetVertexInstanceNormals() const { return GetRequiredAttributes().GetVertexInstanceNormals(); }
70
71 TVertexInstanceAttributesRef<FVector3f> GetVertexInstanceTangents() { return GetRequiredAttributes().GetVertexInstanceTangents(); }
72 TVertexInstanceAttributesConstRef<FVector3f> GetVertexInstanceTangents() const { return GetRequiredAttributes().GetVertexInstanceTangents(); }
73
74 TVertexInstanceAttributesRef<float> GetVertexInstanceBinormalSigns() { return GetRequiredAttributes().GetVertexInstanceBinormalSigns(); }
75 TVertexInstanceAttributesConstRef<float> GetVertexInstanceBinormalSigns() const { return GetRequiredAttributes().GetVertexInstanceBinormalSigns(); }
76
77 TVertexInstanceAttributesRef<FVector4f> GetVertexInstanceColors() { return GetRequiredAttributes().GetVertexInstanceColors(); }
78 TVertexInstanceAttributesConstRef<FVector4f> GetVertexInstanceColors() const { return GetRequiredAttributes().GetVertexInstanceColors(); }
79
80 TEdgeAttributesRef<bool> GetEdgeHardnesses() { return GetRequiredAttributes().GetEdgeHardnesses(); }
81 TEdgeAttributesConstRef<bool> GetEdgeHardnesses() const { return GetRequiredAttributes().GetEdgeHardnesses(); }
82
83 TPolygonGroupAttributesRef<FName> GetPolygonGroupMaterialSlotNames() { return GetRequiredAttributes().GetPolygonGroupMaterialSlotNames(); }
84 TPolygonGroupAttributesConstRef<FName> GetPolygonGroupMaterialSlotNames() const { return GetRequiredAttributes().GetPolygonGroupMaterialSlotNames(); }
85};
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 GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define UFUNCTION(...)
Definition ObjectMacros.h:745
#define UCLASS(...)
Definition ObjectMacros.h:776
Definition NameTypes.h:617
Definition StaticMeshAttributes.h:54
Definition MeshAttributeArray.h:836
Definition Material.h:432
Definition MeshDescriptionBase.h:26
Definition Object.h:95
Definition StaticMeshDescription.h:28
TVertexInstanceAttributesConstRef< FVector2f > GetVertexInstanceUVs() const
Definition StaticMeshDescription.h:66
TEdgeAttributesConstRef< bool > GetEdgeHardnesses() const
Definition StaticMeshDescription.h:81
virtual FStaticMeshAttributes & GetRequiredAttributes() override
Definition StaticMeshDescription.h:35
TVertexInstanceAttributesConstRef< float > GetVertexInstanceBinormalSigns() const
Definition StaticMeshDescription.h:75
TVertexInstanceAttributesRef< float > GetVertexInstanceBinormalSigns()
Definition StaticMeshDescription.h:74
TVertexInstanceAttributesConstRef< FVector3f > GetVertexInstanceNormals() const
Definition StaticMeshDescription.h:69
TVertexInstanceAttributesRef< FVector4f > GetVertexInstanceColors()
Definition StaticMeshDescription.h:77
TPolygonGroupAttributesConstRef< FName > GetPolygonGroupMaterialSlotNames() const
Definition StaticMeshDescription.h:84
TVertexInstanceAttributesConstRef< FVector3f > GetVertexInstanceTangents() const
Definition StaticMeshDescription.h:72
TVertexInstanceAttributesRef< FVector3f > GetVertexInstanceNormals()
Definition StaticMeshDescription.h:68
TVertexInstanceAttributesConstRef< FVector4f > GetVertexInstanceColors() const
Definition StaticMeshDescription.h:78
virtual const FStaticMeshAttributes & GetRequiredAttributes() const override
Definition StaticMeshDescription.h:40
TEdgeAttributesRef< bool > GetEdgeHardnesses()
Definition StaticMeshDescription.h:80
TVertexInstanceAttributesRef< FVector3f > GetVertexInstanceTangents()
Definition StaticMeshDescription.h:71
TPolygonGroupAttributesRef< FName > GetPolygonGroupMaterialSlotNames()
Definition StaticMeshDescription.h:83
Definition Stack.h:114
Definition MeshTypes.h:236
Definition MeshTypes.h:266
Definition MeshTypes.h:120