Files
pubg/SDK/PUBGM_ProceduralMeshComponent_classes.hpp
T
2026-05-02 14:30:03 +08:00

79 lines
5.2 KiB
C++
Executable File

#pragma once
//PUBGM(0.13.5)32位SDK
//作者:清华
//Telegram:@qinghuanb666
//生成时间:Fri Apr 18 20:44:40 2025
namespace SDK
{
//---------------------------------------------------------------------------
//Classes
//---------------------------------------------------------------------------
// Class ProceduralMeshComponent.KismetProceduralMeshLibrary
// 0x0000 (0x0020 - 0x0020)
class UKismetProceduralMeshLibrary : public UBlueprintFunctionLibrary
{
public:
static UClass* StaticClass()
{
static UClass *pStaticClass = 0;
if (!pStaticClass)
pStaticClass = UObject::FindClass("Class ProceduralMeshComponent.KismetProceduralMeshLibrary");
return pStaticClass;
}
static void SliceProceduralMesh(class UProceduralMeshComponent* InProcMesh, const struct FVector& PlanePosition, const struct FVector& PlaneNormal, bool bCreateOtherHalf, class UMaterialInterface* CapMaterial, EProcMeshSliceCapOption CapOption, class UProceduralMeshComponent** OutOtherHalfProcMesh);
static void GetSectionFromStaticMesh(class UStaticMesh* InMesh, int LODIndex, int SectionIndex, TArray<struct FVector>* Vertices, TArray<int>* Triangles, TArray<struct FVector>* Normals, TArray<struct FVector2D>* UVs, TArray<struct FProcMeshTangent>* Tangents);
static void GenerateBoxMesh(const struct FVector& BoxRadius, TArray<struct FVector>* Vertices, TArray<int>* Triangles, TArray<struct FVector>* Normals, TArray<struct FVector2D>* UVs, TArray<struct FProcMeshTangent>* Tangents);
static void CreateGridMeshTriangles(int NumX, int NumY, bool bWinding, TArray<int>* Triangles);
static void CopyProceduralMeshFromStaticMeshComponent(class UStaticMeshComponent* StaticMeshComponent, int LODIndex, class UProceduralMeshComponent* ProcMeshComponent, bool bCreateCollision);
static void ConvertQuadToTriangles(int Vert0, int Vert1, int Vert2, int Vert3, TArray<int>* Triangles);
static void CalculateTangentsForMesh(TArray<struct FVector> Vertices, TArray<int> Triangles, TArray<struct FVector2D> UVs, TArray<struct FVector>* Normals, TArray<struct FProcMeshTangent>* Tangents);
};
// Class ProceduralMeshComponent.ProceduralMeshComponent
// 0x0050 (0x0660 - 0x0610)
class UProceduralMeshComponent : public UMeshComponent
{
public:
bool bUseComplexAsSimpleCollision; // 0x0610(0x0001) (Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData)
bool bUseAsyncCooking; // 0x0611(0x0001) (Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData)
unsigned char UnknownData00[0x2]; // 0x0612(0x0002) MISSED OFFSET
class UBodySetup* ProcMeshBodySetup; // 0x0614(0x0004) (ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData)
TArray<struct FProcMeshSection> ProcMeshSections; // 0x0618(0x000C) (ZeroConstructor)
TArray<struct FKConvexElem> CollisionConvexElems; // 0x0624(0x000C) (ZeroConstructor)
struct FBoxSphereBounds LocalBounds; // 0x0630(0x001C) (IsPlainOldData)
TArray<class UBodySetup*> AsyncBodySetupQueue; // 0x064C(0x000C) (ZeroConstructor, Transient)
unsigned char UnknownData01[0x8]; // 0x0658(0x0008) MISSED OFFSET
static UClass* StaticClass()
{
static UClass *pStaticClass = 0;
if (!pStaticClass)
pStaticClass = UObject::FindClass("Class ProceduralMeshComponent.ProceduralMeshComponent");
return pStaticClass;
}
void UpdateMeshSection_LinearColor(int SectionIndex, TArray<struct FVector> Vertices, TArray<struct FVector> Normals, TArray<struct FVector2D> UV0, TArray<struct FLinearColor> VertexColors, TArray<struct FProcMeshTangent> Tangents);
void UpdateMeshSection(int SectionIndex, TArray<struct FVector> Vertices, TArray<struct FVector> Normals, TArray<struct FVector2D> UV0, TArray<struct FColor> VertexColors, TArray<struct FProcMeshTangent> Tangents);
void SetMeshSectionVisible(int SectionIndex, bool bNewVisibility);
bool IsMeshSectionVisible(int SectionIndex);
int GetNumSections();
void CreateMeshSection_LinearColor(int SectionIndex, TArray<struct FVector> Vertices, TArray<int> Triangles, TArray<struct FVector> Normals, TArray<struct FVector2D> UV0, TArray<struct FLinearColor> VertexColors, TArray<struct FProcMeshTangent> Tangents, bool bCreateCollision);
void CreateMeshSection(int SectionIndex, TArray<struct FVector> Vertices, TArray<int> Triangles, TArray<struct FVector> Normals, TArray<struct FVector2D> UV0, TArray<struct FColor> VertexColors, TArray<struct FProcMeshTangent> Tangents, bool bCreateCollision);
void ClearMeshSection(int SectionIndex);
void ClearCollisionConvexMeshes();
void ClearAllMeshSections();
void AddCollisionConvexMesh(TArray<struct FVector> ConvexVerts);
};
}