Skip to content

Commit 540b6cb

Browse files
committed
unmergedPolygon list too long (length of triangles instead of polygons)
If there were any quads or other type of submeshes in the model, then the unmergedPolygon list would be too long and add dummy values at the end. This was causing the crash in Max.
1 parent 757e245 commit 540b6cb

File tree

1 file changed

+3
-5
lines changed

1 file changed

+3
-5
lines changed

Assets/FbxExporters/Editor/FbxExporter.cs

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -585,8 +585,7 @@ void ExportMesh (MeshInfo meshInfo, FbxNode fbxNode)
585585
}
586586
}
587587

588-
int[] unmergedPolygons = new int[meshInfo.Triangles.Length];
589-
int current = 0;
588+
var unmergedPolygons = new List<int> ();
590589
var mesh = meshInfo.mesh;
591590
for (int s = 0; s < mesh.subMeshCount; s++) {
592591
var topology = mesh.GetTopology (s);
@@ -624,12 +623,11 @@ void ExportMesh (MeshInfo meshInfo, FbxNode fbxNode)
624623

625624
// Save the polygon order (without merging vertices) so we
626625
// properly export UVs, normals, binormals, etc.
627-
unmergedPolygons [current] = polyVert;
626+
unmergedPolygons.Add(polyVert);
628627

629628
polyVert = ControlPointToIndex [meshInfo.Vertices [polyVert]];
630629
fbxMesh.AddPolygon (polyVert);
631630

632-
current++;
633631
}
634632
fbxMesh.EndPolygon ();
635633
}
@@ -643,7 +641,7 @@ void ExportMesh (MeshInfo meshInfo, FbxNode fbxNode)
643641
AssignLayerElementMaterial (fbxMesh, meshInfo.mesh, meshInfo.Materials.Length);
644642

645643
// Set up normals, etc.
646-
ExportComponentAttributes (meshInfo, fbxMesh, unmergedPolygons);
644+
ExportComponentAttributes (meshInfo, fbxMesh, unmergedPolygons.ToArray());
647645

648646
// set the fbxNode containing the mesh
649647
fbxNode.SetNodeAttribute (fbxMesh);

0 commit comments

Comments
 (0)