Cycles Disney Shader

UPDATE: THE ONELVXE MATERIAL PIPELINE HAS BEEN RELEASED! AN UPDATED VERSION OF THE CYCLES DISNEY SHADER IS INCLUDED IN THE BUNDLE. GO HERE FOR MORE DETAILS: http://www.onelvxe.com/material-pipeline

Original Post:
The coveted Disney Shader, in all of its glory!

This is an Uber Shader that can be used to craft nearly any material imaginable including: non-metals (dielectrics), metals with anisotropy, car-paint, glass/refractive materials, skin (SSS), emission type materials, and nature type materials. The Custom Shader uses many of the same principles as the Disney Shader and implements some PBR Workflows to push realism within Cycles.

I have embedded a YouTube video demoing how exactly the shader works and how you should use it. Watch the video before viewing for optimal results!

Please download the .blend file for Beta testing and to use the shader in your projects. This shader is part of a much larger Blender Cycles Material Addon that is currently in development. While it will be a paid addon, all Beta Testers will receive 50% off the price of the full addon!

Download Link: http://www.onelvxe.com/ubershaderbeta Shader Demo: https://www.youtube.com/watch?v=zvzI8LevsgE

Here’s what the node setup looks like.

Attachments



This group node emulating the Disney shader may not be needed in the near future, as a developer is working on getting the real thing into Cycles.

Gotcha! Its a temporary setup, and uses some PBR workflows that may not get included in the trunk release of Blender. Its a small part of a much larger addon.

Tutorial and shader have been updated and fixed. Tutorial no longer has crappy audio and stupid flickering. Disney Shader now applies clearcoat correctly. See the OP to find the updated tutorial. Skip to 20:45 minute mark to see clearcoat fix!

just wondering why in your scene test render ball use 2.3gb (and even more - example https://youtu.be/zvzI8LevsgE?t=527 ) of ram in render time?

For some reason the Cycles Viewport render doesn’t really do the memory calculation correctly. Not exactly sure why.

Just did a test render using metallic and clearcoat and I only had 393mb vram usage. Thats with a subsurf modifier of 2 on the shader ball which kicks me up to 650k faces, and 1.3mil tris, oh and caustics.

If you are not associated with Disney or have permission to use the name, you will probably want to choose another name. Especially if you intend to sell the completed project.

@Initium Thoth: Of course. However, for promotional purposes and intended use, I went with that name. The concept is familiar enough that using the “Disney” shader name for a lot of people means, “oooh, one shader, multiple types of material types, sliders, easy tweaks etc”. Once the plugin is completed, the name of course, will be different.

Also, check out the “real” version of this shader that they are trying to bring into Blender currently. The name is Disney… https://rightclickselect.com/p/rendering/Dkbbbc/disney-brdf-in-cycles

I think Disney is becoming genericized… maybe were afraid it would become Pixar shader.
Though both are synonymous with ‘great’ visual quality. Disney for almost a century.

Correct tutorial is now in the thread, and the file has been updated to fix the Clearcoat issue.

If you are after optimizations…

Reflection Group node --> you can replace the colour mix with two math nodes (multiply by .162 then add .838)… this will be slightly faster then the colour mix node

all your round math nodes are meaning that anything greater then 0.5 will be come 1 and anything less then will be 0… means that clearcoat is either on or off, same with emission, metallic and dielectric not a sliding scale… not sure if this is by design or not though.

You have loads of emission textures which are 0 strength and black… no need for these just have an empty socket.

the other thing is if you are dealing with emission textures… i would explain when to enable / disable the MIS option for the material… as many users will leave it enabled when it will just slow down the render when the emission isnt being used.

overall i think you can do some optimizations to reduce the amount of BSDF nodes. that is what is slowing down the render speeds the most imo.

@doublebishop thanks for the feedback! taking out the emission nodes should help a bit. I’ll have to look into doing specific edits for the BSDF nodes so that they aren’t slowing things down as much.

Is there a way to group the settings into a more logical set, visually? They’re all jammed on top of each other. For example, the SSS settings can be grouped under an SSS header on the node.

Also, please keep the IOR setting. Different materials have different IOR values that can range wildly. 1.45 might be an average but for true accuracy, the IOR needs to be dynamic.

The uber shader looks good so far. I’ll see what I can create with it.

Is there a way to group the settings into a more logical set, visually? They’re all jammed on top of each other. For example, the SSS settings can be grouped under an SSS header on the node.

Also, please keep the IOR setting. Different materials have different IOR values that can range wildly. 1.45 might be an average but for true accuracy, the IOR needs to be dynamic.

The uber shader looks good so far. I’ll see what I can create with it.

Is there a way to group the settings into a more logical set, visually? They’re all jammed on top of each other. For example, the SSS settings can be grouped under an SSS header on the node.

Also, please keep the IOR setting. Different materials have different IOR values that can range wildly. 1.45 might be an average but for true accuracy, the IOR needs to be dynamic.

The uber shader looks good so far. I’ll see what I can create with it. Thanks!

The biggest thing though is to make sure multiple importance is disabled on the material if you dont have any emission going on. makes it significantly more noisy then it needs to be.

Thanks Ace. It is nice to know… :slight_smile: were intending to ask

Do you have a source for that? I just did a quick test and I can’t see any difference, neither on the image nor on the render time.