Which operations alter vertex ordering?

For complex cloth animations I’m using a combination of Cloth sim data and shape keys to get a final result. This is my process:

  1. Append into the current file a garment mesh set up for Cloth simulation – I always use the same mesh to start with since it’s predictable (mostly)
  2. Run the Cloth sim until the best practical deformation is achieved
  3. Export the Cloth sim data as Vertex Keyframe Animation (.mdd)
  4. Disable the Cloth sim and import the MDD data to the garment mesh as shape keys
  5. Edit the shape keys to correct for Cloth sim errors (mainly bad collision issues)

This works well - I’ve done it for about 3000 frames of cloth animation so far with good results (though it is labor intensive!).

But some animated motions require that the process be done in more than one step since they start with the mesh highly deformed and then it needs to “straighten out,” which the Cloth sim doesn’t do well as I’m using it. Multiple steps means that I need to combine shape keys from the different cloth sim sessions into one mesh. But I’ve run into a problem.

When I use the “Deformed mesh to RVK” script (formerly “rvk1torvk2”) to try and add shape keys to my garment mesh, the added shape keys are totally screwed up, with vertex positions scrambled chaotically. My experience is that this is due to the two meshes (the source of the new shape key and the target of the transfer) having a different vertex order.

But since all these operations start from the same initial appended mesh, I’m trying to determine how the vertex ordering could have changed during the process, so I can try to find a workaround.

Any ideas?