Instance materials with redshift


#1

Hi,
I run into a problem and i hope there is anybody who can explain how to do this.

I am using Redshift (but I think this probably is also the same with other renderers)
Say I have a Red and a Green material.
Now I want to make a third (Yellow) material where I want to create a blend of the Red and Green ones.
How will I get an instance of the Red node graph and Green node graph materials in the Yellow node graph so that when I adjust the Red material, the one in the Yellow also updates.

Menno


#2

AFAIK they are working on this. At the moment you’ll have to copy and paste node networks from one shader to another, then mix them using the Material Blender node.


#3

Thanks for your reply Daniel.
You mean that Redshift is working on it or Maxon is working on it?
Cinema really needs a better material system imho. Coming form 3DsMax, the material system is the one thing which really bugs me :frowning:

Menno


#4

Hey Menno - you can do this using the shader switch, see pic below. In theory you could have one C4D material for an entire scene, and control which RS material is applied by changing the Object ID (in the RSObject tag). But in practice this is only useful in situations like the one you describe, where there’s obvious dependencies between different materials.

Hope that helps - C


#5

Thanks Chris,
When you say ‘Shader Switch’ I rememer seeing a video about that a while ago, but I don’t think it is useful.What I want to do is to blend 2 materials with a vertex mak or a texture. But those materials I want them to be an instance so I have it’s ‘root’ material which I can adjust so all ‘children’ update.
In Max you can just have a material in the slate editor and plug it into as many inputs as you want.Having multiple ‘the same’ materials can be a pain when you need to update them.
Menno


#6

What you can do in this case is to have a vertex map blend between two materials.

The key I think is not to think of each C4D material as being one RS material - it’s just a container for a whole RS network, where you can make many materials and combine them in various ways, including having linked dependencies. So one noise can drive the roughness in several materials, blended with a vertex maps, object IDs, user data etc. Update the noise and they all update throughout the scene.

I agree it’s a bit fiddlier than the setup you describe, but this is actually one of RS’s appeals to me in Cinema, it’s a step towards proper nodal materials inside of Cinema, something I’ve been requesting since version 7 :eek:


#7

Hey dpls, you have to right click in the node editor and go to New Node>Redshift>RS Reference and drag in your desired surface material in the ‘Node’ tab. This will act as an instance which you can use to blend with less clutter in the shader graph. I am using 2.6 so features might be different for you :slight_smile:


#8

Thanks TH for your reply,
I have quit using Cinema4D All together,
but perhaps this information is useful for someone else :wink:


#9

TH how do you drag in the surface material to the reference/node tab?

Thanks


#10

Just grab any Redshift material and drop them into the shader graph of any other Redshift material, a reference node will be created.