Rhino 8 Feature: Improved UV Mapping

Hi @BrianJ
Sorry for not getting back to you sooner - this thread slipped my mind, but now I just ran into it again. Let my try to explain it a little better. Some versions ago (prior to when I originally posted, mid january) I was able to snap to the four corner points of the actual “UV map”. I’ve indicated the 4 corner points with points on the screen grab, so you can see what I’m talking about. Also I was able to snap to the edges and center of the rectangle of these 4 points, making it really easy to center UV meshes on the UV map by just dragging it near the “edge” of the UV map and having center snap position it at 0.5,0.5 - the center if the UV map. It made the positioning of symmetrical UV islands really easy :slight_smile: Hope it makes sense. If not, I’ll make a video! :laughing:

TIA, Jakob

Hi @Normand,

I don’t recall Osnaps respecting the edges of the texture displayed in the UVeditor. Can you enable Grid snap and then use Align > Concentric to center islands over the 1x1 texture? This seems to do what you described. If I’m still missing something, explain more and I can always file a feature request.

There are still a few key issues with Rhino’s UV Mapping that force me into using Blender for anything texture related:

  1. No way to easily ADD and UV seam to an existing seam list. Going through " Unwrap → PreviousSeamSelection → selectadditionaledgesrun unwrap " is… sub optimal.
  2. Unwrapping and marking UV seams should be two separate functions, so that working with heavy geometries (those that actually need the unwrapping) don’t become a waiting game for the unwrap to calculate every time you want to change a seam.
  3. The Active UV seams currently are always pushed to front in the viewport. When working with more complex geometries this creates enough visual noise to become useless. Objects should occlude the Active UV seams.
  4. There should be a _UVSeam command that thickens and colors all Edges of the geometry that are used as UV Seams. Like SubD crease - only more “in your face”.
  5. Unwrapping multiple objects at once (to have the same relative texture size on all of them) works fine… Until you export them as FBX and get them into (for example) substance painter. UV islands get “scaled-to-fit-bounds” per each separate part , thus resulting in complete overlap of the UV’s.
  6. UV Editor: Color UV mesh vertices/faces according to amount of distortion/stretch that they are experiencing.

With these 6 changes - I wouldn’t see any need to switch software anymore.

Bonus content: I made a Music Visualization app in Unreal Engine - YouTube
Robot/Interior 3D modeled in Rhino, Interior Unwrapped in Rhino, Robot Unwrapped in Blender (after trying really hard to do it in Rhino) , Texturing in Substance, All put together in Unreal Engine.


Super list! I agree specially for a more visual feedbacks on what one is doing.

Hi @gkirdeikis ,

Thanks for the detailed feedback! I’ve filed the following feature requests…

I grouped 1 and 2 into the first request and suggested to development that it be one command to see the current seams and add/remove from the set. I also suggested that this process be independent of the mapping getting recalculated.

For 5, can you supply me with a sample 3dm file with the UVs laid out as you wanted in Rhino and then some screenshots from the app where you get overlap as FBX? I want to make sure I have all the info on this one before writing it up. It may be a bug in FBX export for instance or the new Pack option in the UVeditor may help. You can DM me here if it’s a confidential file and I won’t make that request public.


1 Like


For 5:
Here are two objects unwrapped simultaneously to get a consistent texture size between them:

Here are the same two objects imported into (in this case) Substance Painter:

On the left you can see UV’s re-packaged “to fit” the bounds on per-object basis.
A smiley face to indicate the overlap

Really feels like an FBX exporter issue.

This issue is fixed if every object has a unique material associated with it before the export. Then naturally - separate UV tiles are created. But in most cases - it’s clearly not a viable workaround.

1 Like

Thanks @gkirdeikis , I got Substance Painter (SP) running here and have filed https://mcneel.myjetbrains.com/youtrack/issue/RH-73503 for the developers.

I also filed these two bugs regarding material transfer in the past and bumped them to see if anything can be done.


I have yet to dive deeply into SP but would like to if we can get the round trip workflow fixed. Thanks for bringing this up again.


out of curiosity, why not use substance painters uvs?

does this video help anything?

1 Like

(Love your videos Kyle)
Automatic UV’s in any software remove a layer of control that I’d like to have (in terms of Seam placement)
While automatic UV’s are pretty decent for hard-surface models (specially Genus 0 topology) - once we go into softer SubD models , with higher Genus (hole count) - manually choosing where the seams go becomes a must or else you’ll end up with a tiling mess.
Talking about stuff like this:

Having no apparent seams when a bitmap texture is added:


Would it be possible to add symmetry to the constrains? Unlike in R7 the _SymmetryTip seems to work (although it failed me on the _AsRigitAsPossible method) but you’re sure to break it sooner or later. Even if you apply the Edge straightening constrain symmetrically it breaks the symmetry.

Hi @BrianJ
Just wanted to say that the “Constrain edges to curve” in the new UV Editor is fantastic! :heartbeat:
Regards, Jakob


Hi again @BrianJ
Is it correct, the I can’t seem to get two UV islands to constrain to a single set of curves? In this case it’s two identical ends of a shopping bag, that will share the same UV space, but I can’t get the second one to constrain to the curves. The little green lines showing which vertex goes where doesn’t pop up for the second island. Am I doing something wrong or…?
TIA, Jakob

Hi @Normand ,

Support for multiple edge chains to use the same curve is on file to implement. https://mcneel.myjetbrains.com/youtrack/issue/RH-72578 You can as a workaround copy the curve in place before using it, I think that works in the meantime.


this made my day! I was working on a project and whatever I tried I couldn’t manage to unwrap without distortions. Then I gave a try to R8 WIP and it just made it almost with a single click. I cannot describe how thankful I am and really hope to see R8 as the standard version soon! Thanks a lot!


Thanks for your positive feedback @cankatdonmez!
Don’t forget to also report any issues you encounter.

Hello @Normand, single lines should now work as constraint curves for multiple islands too.

1 Like

Hi @kral
So far symmetry tip only applies to the Conformal method. And there are no plans to make it work with other methods.

However, we’ve been working on making the edge straightening constraints obey the given symmetry tip: https://mcneel.myjetbrains.com/youtrack/issue/RH-74636

Hello dear. I am sorry for my question.
I need some advice…
When the mapped area is only visible as a point on my image, is there a way to make the mapped areas larger to work with?
to this version…

if you don’t see a square with gumball, it is not possible to move the mapped surface in any progressive way in the sense of increasing/reducing

If you only see a single point in the UV editor for the island, it is likely due to seams not being selected during the Unwrap. Post a 3dm file in a new thread please to ask what’s wrong.

1 Like

Hello, dear Brian and thanks for the reply. I need to know what is wrong here and whether it is possible to change the mapped surfaces from the return point to editable surfaces
how_change_back_from_point_to_surfaces.3dm (83.9 KB)

from a state where I only see a point

to the form where the 3D manipulator is functional again

thank you very much
have a nice day
kind regards