The idea to create custom Cycles shaders came to us after creating hundreds of studio renderings for our chocofur store, as well as through general conversations with people on the topic. Blender is great, we all know that, however it still lacks certain solutions that would make your work a bit easier. It specially applies to projects where many actions have to be repeated over and over again. We'd like to change that by sharing and explaining our approach to shaders and materials within Blender and Cycles.
Our idea is relatively simple - we've created few node groups inside Cycles and used them for creating 10, purpose focused shaders. It's basically 5 different material types: glossy/coated surfaces, metals, fabrics, translucent and glass (perhaps few more to come), each saved as basic and advanced shaders for more flexibility and different production purposes. We know there are many Cycles shaders out there already, however we've found some issues that can be associated with most of them.
First - the attempt to re-create an "Ubeshader", universal material / node group that could be used in every situation. Although it is possible, we've abandoned this kind of approach to shading in Cycles because we think it's not practical enough. The ability to control every material aspect at any given time sounds tempting, but is it really that necessary in day to day 3D production?
Our experience says "no" - we usually know what type of material should be assigned to the surface. Why then build it from the scratch with an Ubershader when you could apply a general "metal" or "plastic" shader and set it up with a few clicks?
Second - node tree lengths. Most of the Cycles shaders we've tested are really huge and complex. That's because of the "Ubershader" approach again - creating the solution that gives the user control over everything. The question is - do we actually need that? You may be familiar with Pareto principle - a theory stating that 80% of the desired effect can be achieved with only 20% of general knowledge on the topic. This is the exact approach we wanted to take creating our shaders - maximum effect with minimum adjustments (there sill will be some stuff to adjust don't worry).
Third - procedural shaders. As with the Ubershader approach - we don't criticise it however, in our day to day production we find simple image textures much more reliable and quick to configure. All the shaders you'll be seeing in this tutorial were created using only one texture input - we've found a neat solution to generate all the necessary maps like bump or reflection, just from a single image.
The license on all our shaders and textures has been changed to: CC0 1.0 Universal (CC0 1.0). What does it mean in practice? Quoting from the Creative Commons source:
You can copy, modify, distribute and perform the work, even for commercial purposes, all without asking permission.
As for now, the CC0 license applies only to free shaders and textures published by chocofur. We plan extending the license to our 3D models too (models, shaders and textures included in the models), as soon as Blender Cloud supports them.
Chocofur Shaders for Blender 2.79
We've created a few node groups inside Cycles and used them for creating 10, purpose-focused shaders. It's 5 different material types: glossy/coated surfaces, metals, fabrics, translucent, and glass. Each saved as basic and advanced shaders for more flexibility and different production purposes.
Chocofur Node Groups for Blender 2.79
We've created both specific shaders and Cycles node groups for quick material setup within Blender. Each shader is available in two versions: Basic (for quick, general use) and Advanced (for more complex adjustments). For creating 5 Basic and 5 Advanced chocofur shaders we've created 12 node groups in Cycles.
Chocofur Glossy Shader for Blender 2.79
The Chocofur Basic Glossy shader is our most common material. The aim was to create a node group that could be easily adjusted for day to day use. This allows users to build more complex materials by mixing them with advanced node groups.
Chocofur Metal Shader for Blender 2.79
In its usability the Chocofur Basic Metal shader doesn't differ much from the Basic Glossy Shader. We've kept it plain and simple for day to day work, enabling uses to add extra node groups for additional effects and realism.
Chocofur Fabric Shader for Blender 2.79
Our Basic Fabric Shader was created mostly with furniture models in mind. You can use it for quick material creation on sofas, beds, chairs etc. Keep in mind this shader is not suitable for creating leather materials.
Chocofur Translucency Shader for Blender 2.79
The Chocofur Basic Translucent Shader was created mostly with quick, nice looking vegetation shaders in mind. It works well on the grass instances as you may use it successfully on smaller objects without any textures applied.
Chocofur Glass Shader for Blender 2.79
The main purpose of our Advanced Translucent Shader is to create complex and realistic materials for any vegetation in 3D models. The node setup may look very complex and advanced but it mostly consists of color correction settings like, Hue, Saturation, Brightness or Contrast.