Magic wizard

some magic wizard to “unitize” ALL the surface maps? I mean, maintaining the direction but scaling ALL the maps as each letter/number of the UV map has the same dimensions?
I know I need some genius but here they are…

I don’t think there is a way to do that. Are these polysurfaces? The fastest you can get to unitize is by using WCS/OSC box style mapping. Otherwise you will need to unwrap the mesh and scale all pieces in the UV editor to the same scale.

hi Gijs,
yes I know, these are the standard method, but box style lose direction and texturing with UV editor is a very long process…I mean, we are in 2022 and we texturing the same as in 1980…I hope one day (2100?) to use a projection with this feature…

1 Like

Yes it’s a pain. Basically all surfaces need to have an individual mapping channel, then a solution would be possible.

I’m not a developer but in my opinion, creating a new projection that uses the surface UV map that is “normalized” in its scale should not be impossible and very useful

it would indeed be useful. But at the moment, you cannot apply a texture mapping to individual surfaces of a polysurface, so in order to have what you want that needs to be addressed first. After that it will probably an easy thing to implement. @andy ?

Instead of @andy the better dev to answer UV mapping questions is @Jussi_Aaltonen

1 Like

@lopez Are your objects meshes or polysurfaces?

@Gijs You can apply sub-object materials with a different textures if you want to use per-face mapping channels.

Can you post the model? Or at least the parts shown with the material and texture applied.

The objects are polysurfaces. The power of them is that they have an “internal” UV mapping (not a real UV map for Rhino), that works perfectly. I’ve not done other than applying a material with a texture projected/mapped as surface UV and VOILA’…the magic is done…BUT:
now I want to apply for example a wood material to the railing.
Because the UV maps follow correctly the shape but have different scales, I will have many different kinds of wood (differently scaled) for the handrail, the low beam, the pillars and so on: so I need to manually reapply or correct the UV maps, and the magic disappears…
My question is if it could be possible to create a new projection map, same as the surface UV projection, but with also the option to normalize the projection scale where each UV square has the same dimensions.
I’ve tried to upload the file here (less than 3 Mb) but after 10 minutes, arrived at 100 %, the system told me “impossible to send the file”.

I just read this and became curious on how a subd model looked UV mapped with a dummy checker texture, and I must say it looks pretty flowe-power-ish :laughing:

But that’s not really why I post, I think it would be great if Rhino could have a UV check mode / Default material thing.

Oh… wait… I guess I can even make my own using a custom material in the display mode… !

:smiley: Cool!

Here are the files if anybody want’s to try and/or tweak:

It was named “uv checker map.jpeg” in case it changes name when you download it.
And I guess you have to tweak the display mode’s custom material to find it on your location, wherever you save it, if so the name doesn’t matter.

UV CHECK.ini (13.4 KB)


Nothing to do with the topic but… I like your reply! Lol

1 Like

sure, but that requires applying as many channels and materials as there are faces in the polysurface, even if the only goal is to have equal size surface mapping on each face

To be more clear I send an image with the wood applied. The only need is to have the scale normalized, or I must create four different materials or four different scaled UV maps. Because are only four, in this particular case, is not a big work to do. But if you have many similar, but different, shapes (with grasshopper you can create them easily), it’s very painful work to do. And the other problem is that you can’t be precise to have exactly the same scale, you can only try to make a similar scale manually and visually.

…and this is achieved goal after changing each different Uv surface texture manually.

I think the solution could be told to rhino /grasshopper to scale the surface UV projection that it creates internally dividing by the length of the object…

Hello @lopez
Unfortunately the default surface mapping UV’s are used in ways that tweaking them would break other stuff. So the scaling has to happen in either the texture itself or the texture mapping. My guess is that in most cases it is easiest to tweak the scale in the texture mapping - UVW repeat in Texture Mapping properties:

Because those properties are per-object you don’t need to duplicate the texture itself.
I understand that doing this manually for a large set of polysurfaces is a massive task. I’ve logged a request to automate this task: RH-68042 Unify UVW repeat

@lopez I made a quick prototype of a UnifyUVWRepeat command as a plug-in. You can find it in RH-68042.
Here is also a direct link to an RHI installer package for Windows Rhino 7.

1 Like

Hi Jussi!
This is a great plugin!
I’ve tried it and just two things:
1- I’ve applied the plugin to some different objects using 10 cm as a dimension to unify. Generally, the result is around 12.5 cm.
2- The sweep two rail don’t give squares but rectangles.

Anyway if this is the first prototype…BRAVO!!!

1 Like

Hi Jussi!
Just to tell You that your plugin is very very useful. I hope you will go on to perfect it,
thanks a lot,

1 Like