Smoothing a non indexed mesh

Hi !

I’m developing a model viewer for a Sega Saturn game and i’m stuck with the smoothing of characters objects.

Sega Saturn games use quads and textures with no UV mapping (each face has its own texture / material with no UV related with faces of the same mesh).

In order to get it works, i used non indexed geometries to build objects/characters (every face of an object is a single mesh on a group that define the 3D model) and it works great… when it doesn’t need to be smooth.

As you can see, because of the splitted meshes, there’s no smoothing on the model.

I changed my code and now i use a single mesh per object (geometry with groups and an array of materials) and use:

geometry = mergeVertices(geometry);

Sadly, i got the exact same result as my previous screenshot with no smooth.

When i switch to indexed mesh and review my uvs array, i got a smooth object, but with textures not correctly set:

Is there a way to put differents textures with no shared uvs and still have a smooth effect on edges?

Have you tried BufferGeometryUtils.toCreasedNormals?


Oh, i wasn’t aware of this function!

I removed the mergeVertices line to use this function instead and indeed, it works:

geometry = toCreasedNormals(geometry);

Thanks a lot for your help!

1 Like