private void LoadObj() { ImportObj(path); IntPtr sizePtr = GetSizes(); Size sizes = (Size)Marshal.PtrToStructure(new IntPtr(sizePtr.ToInt32()), typeof(Size)); IntPtr vertPtr = GetVertices(); Point3[] vertsT = GetElements <Point3>(vertPtr, sizes.vSize); Vector3[] verts = Point3.Convert(vertsT); IntPtr normPtr = GetNormals(); Point3[] normsT = GetElements <Point3>(normPtr, sizes.nSize); Vector3[] norms = Point3.Convert(normsT); IntPtr uvPtr = GetUVs(); Point2[] uvsT = GetElements <Point2>(uvPtr, sizes.uSize); Vector2[] uvs = Point2.Convert(uvsT); IntPtr triPtr = GetTris(); int[] tris = GetElements <int>(triPtr, sizes.tSize); Mesh mesh = new Mesh(); mesh.vertices = verts; mesh.uv = uvs; mesh.normals = norms; mesh.triangles = tris; mesh.RecalculateBounds(); meshFilter.mesh = mesh; }