0
\$\begingroup\$

I created a very simple model in Blender that I exported as a .fbx and imported into Unity. After fixing normals/textures/etc, everything looks fine, except that the Unity mesh has an extra edge and face. The dormer polys that appear with an extra face are all duplicates, which would explain why it appears on every one.

Blender: Blender Model that looks like it should Blender Model that looks like it should

Unity: Unity Model with extra face Unity Model with extra face

Does anyone know how to fix my fbx export so that the extra face does not appear in Unity?

\$\endgroup\$

1 Answer 1

1
\$\begingroup\$

Game engine renderers draw everything in triangles. So when importing models that contain polygons with more than three sides, the importer has to convert them to triangles. These import routines often prioritize speed over artistic perfection, since where it matters, artists can triangulate the geometry themselves to get the exact look they want. That means sometimes the algorithm will make a bad choice of which three vertices in the polygon to emit as a triangle.

Here, it triangulated the sides of the dormers like this:

Incorrect triangulation bridging concavity

When what you want is like this:

Correct triangulation splitting at concave vertex

What you can do is go back to the source model in Blender and add an edge along the desired triangulation split, by using "Connect Vertex Pairs".

You should apply these splits anywhere you have a concave vertex, to ensure you're sending exclusively convex polygons through the import pipeline. Those will be handled much better, as many efficient algorithms are only correct for convex polygons.

\$\endgroup\$
1
  • \$\begingroup\$ That fixed it! Thank you \$\endgroup\$
    – WillOw
    Dec 28, 2023 at 2:05

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .