Looking for UV based skin mirror tool?!

Hi,

I’ve just sat working all day, assuming that I’d do an UV based skin weights mirror at some point… just top realise, that you can’t do this :zzz:

Does anyone know of a tool that let’s you do this? Or maybe an idea for a manual or scripted quickfix, that I can do myself? (Quick is the keyword here )

Seems a shame not to use those perfect UV’s :slight_smile:

Thanks,
Sune

Doing it based on UVs seems like an unnecessary pain in the ass, since most 3D apps support multiple UV coords per vertex.
Why not mirror the skinweight based on vertex position? (mirror the mesh, grab weights from closest vert on the mirrored mesh)

[QUOTE=saschaherfort;5431]Doing it based on UVs seems like an unnecessary pain in the ass, since most 3D apps support multiple UV coords per vertex.
Why not mirror the skinweight based on vertex position? (mirror the mesh, grab weights from closest vert on the mirrored mesh)[/QUOTE]

That just seems to be a matter of pointing the tool to the right uv set?

The models that I’m working on, are based on a master head model that was built with perfect symmetry and then UV’ed. Then both sides of the models were tweaked to the likeness of different characters and now the symmetry is gone. But the UV’s should still be intact. So while mirroring based of vertex position, gives me awful results, UV’s should give me a better mirror mapping.

Right now I’m thinking a manual way to do this is:

  • UV/vertex number copy the weighting from the bespoke head onto the master head
  • Mirror the weighting on the master head (symmetrical) by position
  • UV/vertex copy the mirrored weigting back onto the bespoke head.

For a one-off fine, that would be fine. But as a “pipeline” choice, in a collobarative multi studio kind of setup, I’m thinking not great :slight_smile:

Any other input?

Cheers

If you are in 3dsMax, keep a morph in your stack with the original mesh as it’s target. Now whenever you want to mirror the skinning:

  1. Enable the morph modifier
  2. Mirror skinning
  3. Disable the morph modifier

(I agree that using UVs for this isn’t a good idea)

The problem is that in UV space a vertex can be split and have more than one locations (think of UV seams) so you will have to handle that somehow.
In 3Dsmax for example each mesh vertex points to a list of UV vertices.

Maybe a better solution would be to use http://www.scriptspot.com/3ds-max/scripts/morphix to reorder the vertex IDs (as long as topology is identical in the meshes) and then use vertex IDs to transfer weights.

[QUOTE=saschaherfort;5434]The problem is that in UV space a vertex can be split and have more than one locations (think of UV seams) so you will have to handle that somehow.
In 3Dsmax for example each mesh vertex points to a list of UV vertices.

Maybe a better solution would be to use http://www.scriptspot.com/3ds-max/scripts/morphix to reorder the vertex IDs (as long as topology is identical in the meshes) and then use vertex IDs to transfer weights.[/QUOTE]

Thank you for the input and the link - that looks like a sweet tool! Unfortunately I don’t have 3dsmax handy…:no: There does not seem to be any trouble transferring by UV’s on our heads (The method outline about worked really well), but I see the potential problem.

Any further input on tools or scripting is welcome, as is any similar “re-order verts” tools for Maya :nod:

Cheers

I’m not 100% sure if this is what you are looking for but Maya has the ability to export out weight maps, that should be UV based. Export weights has a pretty good description of how it works.

Hopefully that helps.

[QUOTE=R.White;5438]I’m not 100% sure if this is what you are looking for but Maya has the ability to export out weight maps, that should be UV based. Export weights has a pretty good description of how it works.

Hopefully that helps.[/QUOTE]

Hi Tom,

I’m looking to mirror skin weights based on UV’s instead of vertex position. Like in weighting one side of a face and then mirroring over that side to the other. I’m not sure how exporting to maps would help me do this? Did you mean that I could potential use some 3. party app like photoshop, to manipulate those maps outside of Maya, to do the mirroring?

Thanks

Yeah sorry, I knew I was missing something. And you’re right you would have to pull them into something like photoshop, to mirror it within the maps themselves. Or you could probably export out the maps, import them onto the base mirrored mesh that you got the original UVs from, and then mirror on that mesh, and import back to the unique mesh. It will probably require a bit of touch-up but would probably be easier than mucking about in photoshop.

[QUOTE=R.White;5440]Yeah sorry, I knew I was missing something. And you’re right you would have to pull them into something like photoshop, to mirror it within the maps themselves. Or you could probably export out the maps, import them onto the base mirrored mesh that you got the original UVs from, and then mirror on that mesh, and import back to the unique mesh. It will probably require a bit of touch-up but would probably be easier than mucking about in photoshop.[/QUOTE]

So I think I was not very clear yesterday, in my head and in my posts.

What I’m looking to do, is only applicable if you have a UV map that is symmetrical and that is a perfect mirror acrosse the center of the UV map, so I guess it’s kind of a special case :slight_smile:

Yeah I don’t think there is a a tool for mirroring directly based upon the UVs. And looking back through the thread it looks like you had already come up with my idea of using the base mesh to do the mirroring.

I think doing a little tool, to do what I want, directly in the scene, without referencing the the “base head” should be a fun exercise, but alas time does not permit it at this point :slight_smile: One more for the backlog then!

Thanks everyone for chiming in

qf6kxv2qoitn5s0chenjunren768Admin3hyj3t1