You have 838 triangles, that’s means if you have 838*3=2514 vertices, indexed strip vertices will always be less then that. I am not sure what vertices number show Blender, probable is index triangle strip. Also Unreal when import a mesh have an option to remove degenerates, that’s why probable in the mesh view you see 2498 vertices, this should be a warning to you also that you may have some problems or you can make some improvements with your geometry. You can removed degenerates in Blender also before export.
But there are vertices that are part of more then one triangle, this is why this decimated mesh save performance ! otherwise it should make no sense !
This is why blender gives me the “Right” count, and unreal for some weird reason, don’t.
For a triangle you need 3 vertexes no matter what. If you have a mesh, you will have x triangles, and x*3 vertices. But, if you use an index buffer into the triangle list, you can process an indexed strip triangle, meaning you can share a vertex and reuse a vertex to more triangles instead. Indexed triangle strip is used mostly (or was, i am not sure if today hardware still benefit at max from this) because of GPU cache, and of course you store less vertexes into the memory, but you need to have and index buffer also to know how to render them.
I am sure UE4 use triangle strip, since there is nvTriStrip library from nVidia in UE4 source code as dependency. It is inside the optional dependency’s pack, probable there is something already inside the engine to do this, but I am to lazy to search for that, also, what kind of normals you have? Usually you can share a “vertex”, but keep in mind a vertex is not just a 3D position.
Here is a really good video for understanding why this is. While the video looks at the vert counts between Maya and Unity the information presented can help explain why you’re seeing the vast difference in vert counts and the reasons behind it.
It’s a very informative video and well worth the half hour to watch.
This is a great video !!!
I’v realized the smoothing was off in the blender export options.
So if the gpu sees a sharp edge it splits the vertex to two because otherwise he don’t know how to handle it.
And also, i’v found i have too many UVsplit islands and it causes the same thing.