I want to transfer the vertex indices from one mesh, to another mesh with identical topology, shape, size ect. As an example, I created two identical subdivided cubes. The only difference is that they do not have the same vertex indices. To demonstrate the problem I am having, I sculpted some smiley faces on to the cubes as shape keys. My goal is to have both shape keys applied to one cube at the same time. However, when I try to copy the shape key from the red cube to the green one, it doesn't work. I have tried Transfer Shape Key (left), which doesn't apply correctly. I have also tried Join as Shapes (right), which heavily distorts the cube. Is there a way I can change the vertex indices of the cube red cube to match the cube on the right?
-
3$\begingroup$ Danny Mac talks about this here: youtube.com/watch?v=qTgSLYY9uew and links to the source of an addon here: gumroad.com/… $\endgroup$– R-800Commented May 29, 2020 at 20:38
-
$\begingroup$ @R-800 Thank you that worked. $\endgroup$– Louisa VoiseyCommented May 29, 2020 at 23:17
2 Answers
I may be missunderstanding what you are trying to do here, wouldn't just making a copy of the Green cube in object mode be the easiest way to insure that both objects have identical vertex indices?
I thought it would be possible to Transfer Mesh Data from Green to Red cube. Object menu > Relations > Transform Mesh Data but I couldn't get it to work.
Tried with the Data Transfer modifier but again with no success.
That left the long way of transferring vertex indices : Link the data of the Red to the Green and then remove the link.
In Object mode first select Red object then select the Green one. Object menu > Make Links > Object Data.
The Red object now has the same vertex order as the Green object:
......... but also using all other data from the Green object. The Red can be unlinked in the Object Data Properties menu:
There must be a more elegant way of doing this :)
there you go ... an Addon, see comment above. Thankyou @R-800 :)
-
2$\begingroup$ My goal was to apply the shape key of the red cube to the green cube, or visa versa. The problem I have with the linking method is that it erases the shape key of the red cube. $\endgroup$ Commented May 29, 2020 at 23:09
To copy the vertex order from one mesh to another, you can use this free addon. original, mirror
install addon
- Install it to your addons folder
- go to preferences/add-ons and search for "transfer vertex order".
- Enable the addon.
use addon
- select mesh1 (source) and mesh2 (target)
- In your 3d viewport, press N to show the sidebar & click the tools tab
- click transfer vertex order button in the tool.
requirements
Works for blender 2.8+. Tested in Blender 3.3 and still works.
PS: The answer was already in @R-800's comment. But posting this as an answer since I missed it and found the same answer myself on Google.
-
$\begingroup$ I just tried this in 3.6 using the UV option (I had a base mesh that I modified to create a morph, but forgot to apply subsurf and solidify modifiers so the vertex orders got jacked up) and it did NOT work. $\endgroup$ Commented Jan 27 at 6:24