#pragma once //PUBGM(0.13.5)32位SDK //作者:清华 //Telegram:@qinghuanb666 //生成时间:Fri Apr 18 20:44:40 2025 namespace SDK { //--------------------------------------------------------------------------- //Classes //--------------------------------------------------------------------------- // Class RuntimeMeshComponent.RuntimeMeshComponent // 0x00B0 (0x06C0 - 0x0610) class URuntimeMeshComponent : public UMeshComponent { public: struct FScriptMulticastDelegate CollisionUpdated; // 0x0610(0x000C) (ZeroConstructor, InstancedReference, BlueprintAssignable) bool bUseComplexAsSimpleCollision; // 0x061C(0x0001) (Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData) bool bUseAsyncCooking; // 0x061D(0x0001) (Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData) bool bShouldSerializeMeshData; // 0x061E(0x0001) (Edit, BlueprintVisible, BlueprintReadOnly, ZeroConstructor, IsPlainOldData) ERuntimeMeshCollisionCookingMode CollisionMode; // 0x061F(0x0001) (Edit, BlueprintVisible, ZeroConstructor, IsPlainOldData) class UBodySetup* BodySetup; // 0x0620(0x0004) (ExportObject, ZeroConstructor, InstancedReference, IsPlainOldData) unsigned char UnknownData00[0x20]; // 0x0624(0x0020) MISSED OFFSET TArray MeshCollisionSections; // 0x0644(0x000C) (ZeroConstructor, Transient) TArray ConvexCollisionSections; // 0x0650(0x000C) (ZeroConstructor, Transient) struct FBoxSphereBounds LocalBounds; // 0x065C(0x001C) (Transient, IsPlainOldData) struct FRuntimeMeshComponentPrePhysicsTickFunction PrePhysicsTick; // 0x0678(0x003C) (Transient) TArray AsyncBodySetupQueue; // 0x06B4(0x000C) (ZeroConstructor, Transient) static UClass* StaticClass() { static UClass *pStaticClass = 0; if (!pStaticClass) pStaticClass = UObject::FindClass("Class RuntimeMeshComponent.RuntimeMeshComponent"); return pStaticClass; } void UpdateMeshSection_Blueprint(int SectionIndex, TArray Vertices, TArray Triangles, TArray Normals, TArray Tangents, TArray UV0, TArray UV1, TArray Colors, bool bCalculateNormalTangent, bool bGenerateTessellationTriangles); void SetSectionTessellationTriangles(int SectionIndex, TArray TessellationTriangles, bool bShouldMoveArray); void SetMeshSectionVisible(int SectionIndex, bool bNewVisibility); void SetMeshSectionCollisionEnabled(int SectionIndex, bool bNewCollisionEnabled); void SetMeshSectionCastsShadow(int SectionIndex, bool bNewCastsShadow); void SetMeshCollisionSection(int CollisionSectionIndex, TArray Vertices, TArray Triangles); void RuntimeMeshCollisionUpdatedDelegate__DelegateSignature(); bool IsMeshSectionVisible(int SectionIndex); bool IsMeshSectionCollisionEnabled(int SectionIndex); bool IsMeshSectionCastingShadows(int SectionIndex); int GetNumSections(); int GetLastSectionIndex(); int FirstAvailableMeshSectionIndex(); void EndBatchUpdates(); bool DoesSectionExist(int SectionIndex); void CreateMeshSection_Blueprint(int SectionIndex, TArray Vertices, TArray Triangles, TArray Normals, TArray Tangents, TArray UV0, TArray UV1, TArray Colors, bool bCreateCollision, bool bCalculateNormalTangent, bool bGenerateTessellationTriangles, EUpdateFrequency UpdateFrequency); void CookCollisionNow(); void ClearMeshSection(int SectionIndex); void ClearMeshCollisionSection(int CollisionSectionIndex); void ClearCollisionConvexMeshes(); void ClearAllMeshSections(); void ClearAllMeshCollisionSections(); void BeginBatchUpdates(); void AddCollisionConvexMesh(TArray ConvexVerts); }; // Class RuntimeMeshComponent.RuntimeMeshLibrary // 0x0000 (0x0020 - 0x0020) class URuntimeMeshLibrary : public UBlueprintFunctionLibrary { public: static UClass* StaticClass() { static UClass *pStaticClass = 0; if (!pStaticClass) pStaticClass = UObject::FindClass("Class RuntimeMeshComponent.RuntimeMeshLibrary"); return pStaticClass; } static void GetSectionFromStaticMesh(class UStaticMesh* InMesh, int LODIndex, int SectionIndex, TArray* Vertices, TArray* Triangles, TArray* Normals, TArray* UVs, TArray* Tangents); static void GenerateTessellationIndexBuffer(TArray Vertices, TArray Triangles, TArray UVs, TArray* Normals, TArray* Tangents, TArray* OutTessTriangles); static void CreateGridMeshTriangles(int NumX, int NumY, bool bWinding, TArray* Triangles); static void CreateBoxMesh(const struct FVector& BoxRadius, TArray* Vertices, TArray* Triangles, TArray* Normals, TArray* UVs, TArray* Tangents); static void CopyRuntimeMeshFromStaticMeshComponent(class UStaticMeshComponent* StaticMeshComp, int LODIndex, class URuntimeMeshComponent* RuntimeMeshComp, bool bShouldCreateCollision); static void ConvertQuadToTriangles(int Vert0, int Vert1, int Vert2, int Vert3, TArray* Triangles); static void CalculateTangentsForMesh(TArray Vertices, TArray Triangles, TArray UVs, TArray* Normals, TArray* Tangents); }; }