Per-face UV mapping so that the shape of every face in UV space matches the geom

Per-face UV mapping so that the shape of every face in UV space matches the geom

DavidHenion
Enthusiast Enthusiast
7,931 Views
7 Replies
Message 1 of 8

Per-face UV mapping so that the shape of every face in UV space matches the geom

DavidHenion
Enthusiast
Enthusiast

Using Maya 2018 - I have an object modeled in quads - but I can triangulate it to make sure every face is coplanar.

I need to create a UV layout with every face its own UV shell, but the shape of the UV has to match the shape of the face exactly - as if I planar mapped each individual face straight on. The relative sizes of each of these UV shells needs to match the geometry as well. Imagine the object was constructed out of paper and you cut it up and laid all the pieces flat - thats what I need to do.

I think I'm pretty close with messing around with options in the UV toolkit but I'm not 100% sure I'm getting exactly what I need - can anyone walk me through a procedure to do this?

I can map the object and then split every face to its own shell - but not finding the right combination of tools and settings from there.

Thank you

0 Likes
Accepted solutions (1)
7,932 Views
7 Replies
Replies (7)
Message 2 of 8

sean.heasley
Alumni
Alumni

Hi @DavidHenion

 

Would something like this work?

 

uvs.png

 

 

 

If this is what you're trying to achieve, I simply used planar mapping and selected each face individually and just kept mapping them individually then used the Layout tool to space them out accordingly.

 

Please let me know if this helps or if I misunderstood your question!

 

 

If one or more of these posts helped answer your question, please click Accept as Solution on the posts that helped you so others in the community can find them easily.

 

 

 

Kudos are greatly appreciated. Everyone likes a thumbs up!

 

 

0 Likes
Message 3 of 8

sean.heasley
Alumni
Alumni

Hi @DavidHenion

 

Just wanted to check in to see how things were going. Are you still having this issue?

 

If your issue is resolved, please click Accept as Solution on the posts that helped you so others in the community can find them easily.

 

 

0 Likes
Message 4 of 8

DavidHenion
Enthusiast
Enthusiast
Accepted solution

Hi Sean - what you suggest would work but too many faces to do by hand. I wrote a script to loop through all the faces and map them with the texNormalProjection command. Once that's done I could select all the shells and set them all to the same pixel density which seems to be working.

Thank you for your help.

David

 

Message 5 of 8

sean.heasley
Alumni
Alumni

Hi @DavidHenion

 

Ah ok I kind of figured that's what you were going for and yeah it is pretty time consuming.

 

That said, I'm glad you were able to get around this with your script Smiley Happy!

 

 

0 Likes
Message 6 of 8

Anonymous
Not applicable

Any chance you'd be willing to share that script? I don't know anything about programming but that script would be super useful

0 Likes
Message 7 of 8

DavidHenion
Enthusiast
Enthusiast

Sure, nothing fancy....  Select the object, enter face mode and select all the faces, then run this:

 

string $faces[] = `ls -sl -flatten`;

for ($face in $faces)
{
select -r $face;
texNormalProjection 1 1 "" ;
}

 

Then using the UV editor and UV toolkit, select all the shells and use the Texel Density tool to set them to all the same texel density (may have to play with the value based on object size and texture map size.)  Then can use the Unstack Shells tool to spread them all out.

Message 8 of 8

Anonymous
Not applicable
Thanks!
0 Likes