Relation between material Viewport Display Color and actual material color

I wonder if this has been discussed around already.

I think would make much more sense if the Viewport Display color (which affects the display on Workbench engine if “Material” is selected) was directly connected to Diffuse Color input of materials. Something like that:

Also, if you want a custom color for your object on viewport, you can still set an Object Color, which is the exactly same function but on a different set of menus.

What do you people think?
Perhaps this has been extensively discussed already. But if not, I’d happy to add this suggestion to Right Click Select.

5 Likes

Oh, I see… maybe you would want a different color for every object with the same material, so it’s not exactly tha same function as Object Color.

But nevertheless, wouldn’t this be an exception instead of a rule?

The materials should be reflected on it´s exact same colors. Agree with the original post. If anything, an extra “use custom materials” check box should be to tick (UI design, see?) then, the user could Override the material’s viewport colors. Limit it probably to basic color like 3dsMax (plus alpha and reflection).

Exactly.

Also, this has everything to do with the welcoming Blender for new users.
It’s like “why aren’t my apples showing red?”

1 Like

Yeah I think OP’s idea would be good, I’ve thought about this many times myself also. It’s very rare that I’d want to have the viewport color to be anything else than the base color of the material itself, and it’s very tedious to copy-paste the value there manually everytime… Also agree with DavidRivera, in that of course there should be an optional override if you do want to have a custom color.

Maybe something like this?

Of course there’s the question of more complex material node setups, where it might be difficult to automatically determine the “main” color, but even then I think a very simple set of rules would work 95% of the time. In the other 5% of the cases the user could then override the color if they want to.

2 Likes
  1. You don’t always have a shader with a base color connected to the output (for example holdout, emission, transparent)
  2. If you have an image texture connected to the base color, you wouldn’t always want it to be shown in the viewport.

If you want the material color in the viewport, you should use the “material” shading option I think.

1.Holdout could be black; Emission and transparent could pick the color of the node (default white), regardless the result in render.
As I said, it’s not meant to be precise. For that, you still have Eevee.

  1. Textures would not be shown because there is an specific mode for that:
    image

If you want the material color in the viewport, you should use the “material” shading option I think.

But that’s the point. If I’m on “material” mode (as per image above), it won’t show my material color unless I customize all of them, one by one.

I think aleksi1’s solution is exactly what I had in mind.
What’s the best way to get this suggestion to devs?

1 Like

Has never been an issue for me but I think I got your point now.