Unity's vertex position mismatch 3DS Max coords

I’m exporting a Skin Envelop from 3DS Max and importing it in Unity.

Thanks to the envelop, I have got the vertex weight table (vertex → bone → weight) which allows me reconfigure a SkinnedMeshRenderer given a mesh and a skeleton (as long as the meshes share the same rig)

In Unity, I succesfully deserialize the envelop which so far allowed me to rebuild:

  • the bone list (SkinnedMeshRenderer.bones)

  • the bone weight (Mesh.boneWeights)

  • the bind poses (Mesh.bindPoses)

Unfortunately, Unity does not assign the same ID than 3DS Max to the vertices. In order to identify them correctly without relying on the ID, I wanted to check the position that are given by both 3DS (through the vertexLocalPosition of the envelop) and Unity’s Mesh.vertices.

The problem is the positions given by Unity find no match in 3DS envelop.

I couldn’t find any info on either of them, so I hope someone knows more about it.

it is different mesh topologies (3dsMax <=> Unity) , so you see different positions for same vertices indices.