Material gets assigned to wrong selected subsurface

Rather, I change one subsurface and another one changes as well:

GIF 2021-09-24 09-38-17

And it’s repeatable:

subsurface-material-issue.3dm (1014.3 KB)

I’ve also noticed a white “Custom” material appearing at times that I did not create. There’s even one in this attached file, but where is it used? There’s only a single object in the file and it has no white surfaces (and Purge doesn’t remove it).

Colors seem much more stable.

Oh, those “custom” materials that gets created by Rhino itself for some reason and that don’t show up? Turns out, they show do up but only in the raytraced mode… not even the rendered mode… I really hope this is a series of bugs which can be quickly fixed.

I am unable to reproduce this at least with latest local dev build of what will become 7.12, meaning the selection and assigning part.

When you explode your object you an select the bits that have the custom material assigned. You’ll see Rhino selects the surfaces that are rendered white when switching to Raytraced. I do not know why these are drawn brown instead of white in Rendered mode.

The custom material bit is something that @johnc should investigate.

I actually think I already figured it out. It appears you’ve used per-face display colors. That gives the confusing behavior regarding the custom material and the brown color in rendered mode.

Use RemovePerFaceColors and select DisplayColor. You’ll see parts turning white. Some of these parts have the custom material set. Now assign the materials to the faces as you want.

Hi @eobet and All
I’ve been seeing some really weird things with materials as well! Duplicate materials, materials loosing their settings and that Custom material popping up. I’ll see if I can make something repeatable next week!


We’re aware that sub-object materials have issues, and we have several bugs filed that will eventually take care of these issues. The problem is that the original design has a flaw that makes it almost impossible to make sub-object materials behave in a way that makes sense. It will require a fair amount of re-design to solve all the problems, so it’s not something we can do quickly, I’m afraid. This bug has more information and links to the other issues.

To answer the question about the white custom material: it’s a bit difficult to explain clearly but I’ll try. Let’s say the object is set to ‘material by layer’. When you assign a material to a single face, the entire object has to be switched to ‘material by object’. Now, the remaining faces need a material as well, even though you didn’t ask for one. So the system creates a white material to use for that. The solution should be to make it possible for the faces to be individually assigned as ‘by layer’ and ‘by object’, so that only the sub-face of interest needs to have a material assigned to it.

The sub-face material bugs are assigned to me as ‘next up’ and I should be getting to them soon. Unfortunately, this is not something we can fix in version 7 as it would be too big a change to risk in a shipping product.


1 Like

Thank you for the detailed explanation!

After RenderMergeIdenticalMaterials and Purge, I sometimes appear to lose my material assignments, but the moment I pick one for a subsurface, they all pop back:

GIF 2021-10-01 15-41-29

I still don’t know why some refuse to get added to the raytraced view, but I’m not using that personally so crossing fingers that this will all get solved in the mentioned material refactor!