Matt reflective plastic

Ive been trying to get a decent material going for my model, but i cant seem to think of any nodes i could add to make it better, so i just tweaked the existing nodes, and i just cant get it to stop looking like cheap slightly oily plastic.

any suggestions on what i could do are appreciated.


Nice model. As for all materials, you should always mix between diffuse and glossy using fresnel or facing. All material will have full reflectivity at the edge, but will be significantly reduced with increasing roughness. Fresnel doesn’t handle this on its own, so downscale its output. Although I prefer facing^5 which are used in PBR approaches, but kinda complex to set up or how geeky you want to be with materials :slight_smile:

Also, you want at the bare minimum to vary roughness ever so slightly. Same with base color and bumps. Nothing is that perfect.

Yep - the scope in the link looks like it has a fine powder coating which gives it a slightly granular looking surface texture.

all right, ill try that, thanks guys.

i did googled for powder coated plastic but didnt find anything so i thought i made that term up somehow, nice to know im not crazy :stuck_out_tongue:

EDIT: holy mother of fresnel! this just made it about a million times better already!


Looking good - still needs a very small and very slight bump in there.

For this material i’d probably just go with the default noise shader as a bump map - with the scale set really small - a bit like this - except use the noise texture rather than the checker.


Also - to make the bump a consistent size over the whole scope (assuming it’s made up of separate objects) - you may also consider using the Vector Transform node. The scale of textures within blender is keyed to the object scale by default - so if you have multiple objects of different sizes but want to apply the same texture to them - the scale of the texture will be different for each object.

You can use the vector transform node to make the texture key off world coordinates instead meaning that all objects that use the texture apply it at the same scale.

Although it still requires applied scale, I prefer just adding some scaled “Object Info Node / Random” to “Texture Coordinate Node / Object”, as long as things are kept in separate objects (for that variation factor across objects). I have no idea what the vector transform is supposed to do, I always end up in trouble if I manipulate the objects and/or camera/view. May be useful for baking out the info I guess.

Btw, how would you achieve vector discontinuity within “loose parts” within the same mesh? I.e. mesh “Sofa” containing “6 loose parts for seat and backs”. All parts would share mesh origin and material index?

I have tried Object Index, but I can’t find any info about it in the manual on what drives it, and if I can assign anything to it. I’m adding in to silly UV coordinates (random project from view) for each part within a mesh now. It works, but seems a bit cumbersome.

cant see any diference at all with/without the bump map.



Hmm - try it without the vector transform node see if that makes a difference.

Bumping a black diffuse isn’t going to do much, no :slight_smile: Try plugging it into glossy and fresnel normal, and distance should probably be minimal as well when doing microbumps.

And be sure to activate node wrangler, its a builtin addon. Then ctrl+shift+right click the node output you want to preview, and it will render as an emission node. If checking maths this way, be sure to set color management to none (not sRGB) temporarily in order to read out correct values - but not something you need to worry about here.

made it very subtle, its most visible on the top of the upper nobb.