I have made a polished granite material with a node setup. Using this photograph as reference, how can I improve this further?
-
1$\begingroup$ Naresh, I think you'll find some resistance to this kind of question because of the subjective nature of perception. That aside, if you want to make it easy for people to offer answers based on your material why not also include the .blend, that way people who do have time don't need recreate the node tree from scratch using the screenshot. $\endgroup$– zeffiiNov 3, 2015 at 9:50
-
$\begingroup$ Although not hugely obvious from the reference image, from my own experience of polished granite it often has flecks of high reflectivity across the surface, stemming from small crystals such as quartz from the rocks formation process. You could perhaps achieve this with a voronoi texture affecting a glossy value below the clear gloss coat above? :) $\endgroup$– Hexbob6Jun 17, 2016 at 12:03
1 Answer
Creating a Procedural Polished Granite Material
Guessing you're probably no longer in need of this effect, but thought I'd write a (hopefully) short tutorial in case anyone is interested in creating a Realistic Procedural Polished Granite Material in future.
This is the final setup and material that we'll be creating :D
(3mins49secs @ 750x1000px on CPU)
1. We'll start off this material by creating the procedural mottled texture that is present in granite stone (and in your reference image).
Firstly, let's create the lighter sections, using this node setup:
The nodes are fairly self explanatory, but we're essentially creating and distorting a noise texture using the slot attached to the Mapping
node. We're then using the Color Ramp
node to bump up the contrast by just the right amount. Underneath this we are mixing together some colour sampled from the reference using a Mix RGB
controlled by another Noise Texture
plugged into the Fac
input. Finally we'll plug this into the first Color
input of another Mix RGB
node with the blending mode set to Screen
and the bottom value set to white to give us our desired result... phew!
Next up is essentially repeating the last step a couple more times to get the darker shades of the granite, as well as the yellow (?!) ones.
As the nodes are pretty much exactly the same with just a few values changed, we can go ahead and simply press Shift+D to duplicate them, and move them below.
Again fairly self explanatory... but briefly, we'll use the Mapping
node to essentially create a seed value for the noise, using the Location value to adjust this. The Noise Textures themselves are used to adjust the size of the noise, etc and once again the colours are sampled from the reference images.
The final part of this step is mixing these 3 outputs together. We'll do this by adding 2 more Mix RGB
nodes with a Multiply
blend mode, and connecting them accordingly. Don't worry about the white background, that will be cut out at the start of the next step :)
2. In this step we'll be finalising the granite base material. I won't go into details on every little section, but I'll explain the overall concepts.
So the extra Mix RGB > Multiply
node is (as promised!) used to cut out that white and add in the creamy brown background colour. This colour is be plugged into a Diffuse BSDF
shader, which is mixed with a Glossy BSDF
shader using a Mix
shader.
Next the crystal fleck mask is created. This is a simply case of using a scaled up Voronoi Texture
thrown through a Color Ramp
node plugged into the Fac
input of the Mix
shader. A simple step but it helps add another dimension of realism to the material :)
Finally, a procedural bump map is added to the Normal
input of the diffuse and glossy shaders.
3. In this third and final step we'll be adding the final clear-coat (polish) effect to the granite material. Its fairly simple, but is slightly more involved than just mixing a glossy shader in... :)
The Voronoi setup is used to break up the reflections of the Glossy BSDF
shader, adding a little bit of roughness here and there. The Noise bump Texture is used to add another level of surface texture. It's a (very... :P) subtle effect, but one that helps give the polish a slightly more 'painted' look.
Finally, we can add this coat over the Granite material, using another Mix
shader controlled by a Layer Weight
node. You can use a Fresnel
node or other inputs to control this, but I used the Facing
output because it looked pretty nice! ;)
So there we go! A sweet, fully procedural Polished Granite Material setup! :D
Hope it helps and don't forget to upvote/mark as the right answer if you liked it! :)
-
$\begingroup$ As an extra point, I also put together a tutorial on adding non-procedural realism to materials which might complement this material nicely... :) blender.stackexchange.com/questions/32494/… $\endgroup$– Hexbob6Jun 18, 2016 at 1:28
-
1$\begingroup$ 2 years later and this still helps people! Great answer! Helped me creating this material: imgur.com/a/ncfYyoQ $\endgroup$– S.VisserMay 25, 2018 at 2:31
-
$\begingroup$ Hey thanks, @S.Visser , glad people are still finding it helpful! $\endgroup$– Hexbob6May 25, 2018 at 2:55