diff --git a/tools/vhacd/src/VHACDUtilApp.cpp b/tools/vhacd/src/VHACDUtilApp.cpp index 66ee71840f..bea1b48206 100644 --- a/tools/vhacd/src/VHACDUtilApp.cpp +++ b/tools/vhacd/src/VHACDUtilApp.cpp @@ -51,13 +51,14 @@ bool writeOBJ(QString outFileName, QVector>& out << "v "; out << formatFloat(hull.m_points[i*3]) << " "; // swap y and z because up is 3rd value in OBJ - out << formatFloat(hull.m_points[i*3+2]) << "\n"; - out << formatFloat(hull.m_points[i*3+1]) << " "; + out << formatFloat(hull.m_points[i*3+2]) << " "; + out << formatFloat(hull.m_points[i*3+1]) << "\n"; } for (unsigned int i = 0; i < hull.m_nTriangles; i++) { out << "f "; - out << hull.m_triangles[i*3] + 1 + pointStartOffset << " "; + // change order to flip normal (due to swapping y and z, above) out << hull.m_triangles[i*3+1] + 1 + pointStartOffset << " "; + out << hull.m_triangles[i*3] + 1 + pointStartOffset << " "; out << hull.m_triangles[i*3+2] + 1 + pointStartOffset << "\n"; } out << "\n";