internal static unsafe void Invoke(StaticMeshComponent StaticMeshComponent, int LODIndex, ProceduralMeshComponent ProcMeshComponent, bool bCreateCollision) { long *p = stackalloc long[] { 0L, 0L, 0L, 0L, 0L }; byte *b = (byte *)p; *((IntPtr *)(b + 0)) = StaticMeshComponent; *((int *)(b + 8)) = LODIndex; *((IntPtr *)(b + 16)) = ProcMeshComponent; *((bool *)(b + 24)) = bCreateCollision; Main.GetProcessEvent(KismetProceduralMeshLibrary.DefaultObject, CopyProceduralMeshFromStaticMeshComponent_ptr, new IntPtr(p));; } }
internal static unsafe ProceduralMeshComponent Invoke(ProceduralMeshComponent InProcMesh, Vector PlanePosition, Vector PlaneNormal, bool bCreateOtherHalf, EProcMeshSliceCapOption CapOption, MaterialInterface CapMaterial) { long *p = stackalloc long[] { 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L }; byte *b = (byte *)p; *((IntPtr *)(b + 0)) = InProcMesh; *((Vector *)(b + 8)) = PlanePosition; *((Vector *)(b + 20)) = PlaneNormal; *((bool *)(b + 32)) = bCreateOtherHalf; *(b + 48) = (byte)CapOption; *((IntPtr *)(b + 56)) = CapMaterial; Main.GetProcessEvent(KismetProceduralMeshLibrary.DefaultObject, SliceProceduralMesh_ptr, new IntPtr(p));; return(*((IntPtr *)(b + 40))); } }
internal static unsafe (IReadOnlyCollection <Vector>, IReadOnlyCollection <int>, IReadOnlyCollection <Vector>, IReadOnlyCollection <Vector2D>, IReadOnlyCollection <ProcMeshTangent>) Invoke(ProceduralMeshComponent InProcMesh, int SectionIndex) { long *p = stackalloc long[] { 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L }; byte *b = (byte *)p; *((IntPtr *)(b + 0)) = InProcMesh; *((int *)(b + 8)) = SectionIndex; Main.GetProcessEvent(KismetProceduralMeshLibrary.DefaultObject, GetSectionFromProceduralMesh_ptr, new IntPtr(p));; //TODO: array TArray Vertices //TODO: array TArray Triangles //TODO: array TArray Normals //TODO: array TArray UVs //TODO: array TArray Tangents return(UObject.ToUnmangedCollection <Vector>(b + 16), UObject.ToUnmangedCollection <int>(b + 32), UObject.ToUnmangedCollection <Vector>(b + 48), UObject.ToUnmangedCollection <Vector2D>(b + 64), UObject.ToUnmangedCollection <ProcMeshTangent>(b + 80)); } }