Gab Nation

How To Transfer UVs After Rigging

Posted on: February 9, 2010

I think this is a common problem in 3D production, but somehow or another, I couldn’t find a proper solution after hours of Googling. You’ve rigged your character, attached facial blendshapes, and now you need to transfer new UV maps to your current character. Maya’s transfer mesh attributes seems like an easy solution, but wait! You can’t delete the node after the operation, and neither can you delete the geometry that you transferred the UVs from. What do you do?

TheCrone has the answer. Taken from his blog:

Every object has a “shape orig” node which represents what an object was before it was deformed. We can apply a UV transfer to this no problem which will also transfer up the stack to your rigged object.

I access it like this:

1. Select your rigged object, in the hypergraph hit options/display/ hidden nodes & shape nodes
2. You’ll see a hidden node which is your Orig node, or what your object was before rigging.
3. In the orig node’s attribute editor under object display, uncheck ‘intermediate object’
4. Your Orig node is now accessible.
5. Apply your UV transfer attributes to it – then delete it’s history.

There you go – you’ve applied your transfer to your object via it’s history object. Maya sees it that you performed this operation before rigging. Now why Autodesk hasn’t made a tool for this….who knows.

Thank you so very much my clever friend. You are a lifesaver. Considering how difficult this information was to come by, I’m doing my part in disseminating it. Here’s to helping future victims of merciless Maya.

34 Responses to "How To Transfer UVs After Rigging"

Thanks so much for posting this. I am experiencing this very situation, however when I select the object and hit options in the hypergraph the display option is greyed out. Any idea on why this may be? I am using Maya 2010 on Mac. Thanks!

Hey. I’m using 2009 but I suspect you went and opened hypergraph: connections instead of hierarchy. It’s the latter you want. Hope this helps! Good luck with your work 🙂

THANK YOU for posting this! A very simple, to the point explanation, saved me from having to decipher a fragmented explanation from some forum posts…

Mate, that’s a real life saver!! You saved me a week before my deadlines 🙂 I owe you! If you don’t mind I’ll re-post this on my blog as well!

Sure! Go ahead. Good luck with your project 🙂

followed everything but at the end when i deleted history off the Orig node it took my skin cluster?

i also have an orig1orig node?

little lost

woohoo it worked, you rock Hafi Zah!
please give us more life saving tips

cheers big ears

Thanks a ton for the post.
Probably want to reset the orig mesh as intermediate object when finished…

I followed the above advice, but when I deleted the Mesh that I transferred the UVs from; the rigged character’s Uv’s would then scramble slightly. After I transferred the UVs to the hidden, “original mesh”, I then had to transfer the UVs up the hierarchy to the two nodes above it also. Wow…7 hours deep. Then, when you are painting UVs in Photoshop DO NOT touch the rig until you are completely done painting. I had my whole character nearly painted and moved an arm slightly. It rescrambled the UVs and I could no longer update my files in the hypershade. I had to go through the entire transfer process again. Also, only delete history on the “original mesh” node otherwise you will lose skinning. Hope this helps others running 2010, cause the 5 steps above almost worked, but not completely.

u can cut the 7 hours into 10 mins with a couple of lines of code

thanx it works.

Did the job. I like it when I see good collaboration and teamwork like this. Thanks for making everything easy.

Thanks very much to you for sharing and to your friend for being a hero!
May god of 3d bless you both

THX this helps me a lot.

Thankyou! Not only did this solve my problem, it also taught me a bit about the fundamentals of maya/ how things work.
am happy ^3^

Hey Ben,

I found that if I changed the sample space in the Transfer Attributes option to “Component” my UVs transferred without scrambling. Hopefully that will work for you too in the future.

If your Uv’s still get messed up after you deleted the reference mesh, try and deleting the “transferAttributes” nodes in the geometry, not the Orig mesh.

I could not get this to work on a mesh I had, until I noticed these transferAttributes on the geometry, which should not be there. They were created when I tried to transfer the Uv’s the old way i.e. transfer straight unto the geometry.

Ok, here’s my dilemma:
1) Character was rigged in an older version of maya
2)Character had uv’s unwrapped in another file(i.e. I have rig01.mb and his new unwrap was done in rig02.mb)
2) the character was unwrapped and rigged in the same file, no references
3) the character has been animated(i.e. already skinned)

So my question is: is it still possible to transfer the uv’s between files , then transfer the skinning between files? If this works, then I wont have to redo the skinning. Any thoughts?

Yes. You can do both. But, I might be wrong here because I haven’t used maya in a couple of months and I’m recalling things from memory.

I am assuming that you have file A with the right UVs, and file B that does not, but is already skinned and rigged. What you do is:

1) Export the mesh of A (just the model) and import that into B.
2) Do the transfer attributes thing I described in the post.
3) Now the skinned character B has the right uv mapping, which means that you can export the skinning maps out correctly.

I don’t even have maya installed on my computer right now so I can’t run you through on how to export/import skin maps, but maya help should have it in there. If all of your characters have the same UV map, you can easily transfer skin maps between each of them. As for older files of maya, you can open them in new versions of maya without any problems by clicking on the option button next to “open..” in the file menu, and ticking ignore version.

Hope I helped. Good luck with your work 🙂

thanks hafi, i think I may have gotten it working but Im still not sure yet. So far I havent done any skin map stuff and the controls still work. I did everything in the post except when I went to delete history, on a whim I instead went to delete by Type non deformer history on the ShapeOrig node. It does create another ShapeOrig node ( called XXXXShapeOrigOrig) but as long as I delete non deformer history on the shapeOrig node, it doesnt nullify the rig. Will test more tomorrw. Thanks for the help 🙂

Hi Hafi,

So far I havent done anything with the skin maps, but I may have gotten it to work. Instead of deleting history, I deleted by type–> non-deformer history. A friend tried it the way that was in the post and for some reason it broke the rig connections, but my way seems to have solved that problem. Could you test and see if you can get the same results? I’ll try it again the way you did in the original post and respond back to you with my results. Thanks!

I was about to try and contact you but tried again and it worked.
What I did was after deleting the non-deformer history, I deleted the node the transfer attribute created. A second orig I believe.
After that I could safely delete the uv source mesh.

Anyway thanks for this post. It helped me a great lot and I might print these 5 steps plus the thing I discovered and frame it hang it on my wall. 🙂

Works perfect! Thanks a lot.

I was having trouble with one of my meshes. And the solution was transfer attributes from the Orig node to the mesh itself.
Hope helps anyone.

[…] The following is a post from: HaFi Zah […]

This is awesome, but I am having a slight problem. I followed the directions, but as soon as I delete the mesh from where I transferred the UVs, a single UV jumps out of its spot WAAAAY off in the distance. No matter how much I move it, it seems to end up back there all the time. I’ve deleted history, and I used Component mode when transferring the UVs. If not for this one problem, your method works so well!

This method works like a charm. So far, no side effects with the skinning or any other aspect of the existing rig. Transferring UVs to the Orig node, creates another ‘OrigOrig’ node, which goes away when I delete history on the Orig node. And then I re-check the ‘Intermediate Object’ on the Orig node to return it to it’s initial state.

The only downside is that the rig(which was working smoothly) became a lot slower, even when there is no history. The old mesh had a 1×1 UV range, and the new one has a 2×2 range. Could that be a reason?

You saved my ASS! Brilliant!!!

Hey,

My problem is that the ‘original shape’ isn’t an ‘intermediate object’ and when I tried the tutorial it just acted exactly the same as the regular mesh did with the same problems.

I haven’t touched that object in all my rigging so I couldn’t have unchecked the intermediate object box earlier.

If I check the box now then it affects the skinned mesh node too.

Does anyone have any idea why this might be and how I could get around it?

Any help would be very much appreciated

Thanks :]

Works fine for uvs, but doesn’t seem to work for transferring colorSets to bound geometry. Anyone has a solution for that one? Would be greatly appreciated.

this is awesome, but i get that extra node ‘orig orig’ shape when i do the transfer attributes too. is it safe to delete the duplicate? deleting the history on either of the original shape nodes doesn’t get rid of the transfer attributes node or the duplicate orig node for me. and thanks again, the hypergraph is usually pretty intimidating

[…] and this: https://gabnation.wordpress.com/2010/02/09/how-to-transfer-uvs-after-rigging/ […]

Doesn’t work…I did exactly as you said and every time I delete history my character becomes unrigged.

WTF AM I DOING WRONG I have been working on this for 6 hours now.

you saved my life posting this THX:DD

YOU’VE JUST SAVED MY JOB. Thank you so much!

Leave a reply to HaFi Zah Cancel reply

Pages