[Released] Oso Janus Doubled Sided Shader Merchant Resource for Iray
https://www.daz3d.com/oso-janus-double-sided-shader-merchant-resource-for-iray
This is one of my 'see a problem, fix a problem' shaders; many of us have hit situations where we'd really like to have the two sides of a surface have different textures... but couldn't.
Content designers could try to make the cloak/shirt/coat have two layers, but that's both a bit tricky to pull off and prone to a bunch of problems when autofit. Specifically, trying to keep those layers from clipping into one another can make fitting clothing on figures tricky.
Well, with Janus? You can create two radically different surfaces on either side of a single surface!
Put fabric liners on armor, create cool cloak effects, make funky two sided wings, and more.
Comments
Ah, using a geoshell to generate a second surface. Clever idea. OK, I'll see if I can't find room in my cart for that ;)
No, it's not a geoshell at all! It's a recoded shader (shader mixer): one shader on one surface, two layers. If you copy a standard shader onto Janus, those settings apply to the outside layer. You can then use one of the presets for the inner layer or set them yourself.
I love the Janus reference. This looks like a cool idea.
I spent a silly amount of time working up a Janus icon that then didn't show up very clearly. Ah well.
I saw this in the description and thought it was a Geoshell:
Base Shader Presets:
OK, I'm stumped. What are you doing there? Technically while there are two sides to a surface, I've never seen any way to address them separeately. I understand about layers and z-order from Photoshop, I just don't get what's happening here.
The outlining geoshell shader preset can be applied to a geoshell to provide an outline, it's just not the primary thrust of the product. Basically, it outlines the inside surface of the geoshell.
There's a freebie geoshell outliner for 3DL that inspired me.
The F Base Shader is a version of Janus that uses Top Coat : Fresnel option. The R Base Shader uses Top Coat: Custom Curves, instead. The reason for this is that Iray Uber can provide multiple options and customize stuff like Top Coat or whatnot, but once you start working in Shader Mixer these options are locked in; so if I want to provide Janus for different options, I have to create different shaders.
As for how I'm doing it, it's a lot of higglety pigglety with manipulating backfaces and so on. Tricky, because there are combinations that fail hard all over, so it took a lot of experimentation.
Go look in shader mixer. Hahahahaha.
(sobbing)
Yeah, I understand the sobbing part when working with shader nodes. This comes under the heading of "oooo - magic!" :P
I picked a copy of it up, I'll have to play with it. Considering the amount of new content I've gotten lately it might be a day or two ;)
Ok, here's the Janus shader applied to a geoshell around Cartoonized Brute (with Dwayne skin).
The Janus outliner preset tends to make figures dark, and the outline is a little faded. So the Render settings are Gamma 1, Burn Highlights .3, Crush Blacks 1, and Saturation .6 (since lower gamma tends to intensify colors)
Very clever, Oso. I have to wishlist it for now due to budget constraints this month, but will definitely be picking this one up. You're right that it resolves a problem that has plagued our content libraries for a long time.
I think everyone's wallet's reeling from a metric ... rear end load of sales lately, so I get it. ;)
I will point out that the one lack Janus has is volume effects -- it does not have refraction/translucency/SSS.
I hit roadblock after roadblock, then I was perusing the MDL handbook (with difficulty, my eyes kept crossing) and then I read an important note that in MDL, you can't have different volume characteristics on each side. Which is unfortunate, I had REALLY been hoping to do something like one-way invisible materials and similar. Buuuut no.
The outline geoshell preset, for instance, I had to make do with making cutout opacity low and adjusting values so the inner surface would show up much more strongly than the outside.
Yeah, MDL makes some assumptions about how the object is constructed. It seems to be designed specifically for manifold surfaces. Some weird effects can happen with layers of "thin walled" surfaces, for instance. It is one area that a biased rendering engine like 3Delight has an advantage.
Looks interesting, possibly something I need for my project... One question: can I use this with Oso fur on one side, and a flat surface on the other side?
sounds brilliant, will.
would you mind sharing a screenshot or two? i'm wondering what the interface looks like when you're actually working with the two faces.
j
Very cool, I've been looking for something like that a long time. I assume it works only with the supplied shaders? Or can we apply any?
It’s its own shader, so it won’t work with Oso fur or any other specialty shader.
You can copy and paste from most shaders and the maps and settings should apply to the top/outer layer. My approach has been to do that, carefully set the inner layer to the same settings, then copy a second shader on top.
This is a big reason I did a bunch of presets, so I could save folks work on inner shaders.
Jardine: I’ll get some screenshots in an hour or so when I get back home.
Should be fairly simple to write a script to copy the settings from the outer surface to the inner (there's a Rob sample script that would probably take minimal tweaking if nothing else), so the workflow would become apply inner material, run script, apply outer material. I haven't checked out yet but will have a look once I have.
Is there an advantage to using this method instead of geoshell with negative offset distance (which is the cheat I've been using)?
Missus: Well, it saves you making a geoshell, you don't have to worry about clipping issues, you don't have to deal with offset (like edges being separated from one another), emission is pointed the right way (you can set up something that only glows inward, which I think is impossible even with geoshells).
The first sounds a bit trite, but as a vendor I've done a lot with geoshells and customers are sometimes very confused or overwhelmed by geoshells. It can also add a lot of stuff to manage when you have multiple items, each with geoshells.
With Janus, you can rather easily do something like add silk lining to armor/cloaks/whatever just by clicking a preset.
Richard: I can't code worth spit. Sounds weird, given I've learned shader mixer, but there it is. If someone wants to make such a script and distribute it freely, that would be awesome.
Jardine, here are some screenshots of the parameters. In the second case, I've put ' 2' into the search field to filter for inner layer parameters (you may find it useful to alternate between filtering for 2 and filtering for other items like glossy to compare and adjust settings)
That's too bad, I wanted to use it to have fur one side (preferably yours), and a smooth/flat surface on the other. If that's not possible, I'll have to keep looking for a workable solution.
SO BRILLIANT. When I saw these in the store initially I gave it a pass and then found your thread here and read what these actually are. SO COOL. AND they are a merchant resource. Even better. Thanks Will!
damn, this looks useful.
thanks so much for the screenshots, will. :)
very very *very* cool.
:)
j
Clever man you are Will ;) these are a brilliant idea
I have enjoyed the shader thus far, though I seem to have a couple of issues:
- There's only one normal map channel, which affects the two sides of the surface. The effect is a bit weird when I try to give a cloth lining to scale armor.
- The thing with Iray only accepting one volume setting per surface... Well, that's the nature of the beast, but would it be possible to have an option that still has volume control? It would be very useful for leaves or petals, as those are surfaces that usually have very distinct undersides and on which translucency is kind of important and not having a different setting for each side would be irrelevant.
I tried keeping translucency, and couldn't make it work. :/
As for the Normal, you can either use Bump or, and this is my big recommendation, use Top Coat Bump/Normal; using Top Coat, you could create a Normal or Bump on each side. Personally, I've found the effect of Top Coat Bump/Normal a lot more interesting/stronger than normal Bump or Normal.
(I usually find values of 20+ best for Top Coat Bump or Normal)
Ah, pity about the volume thing. At least I can try your tip with the top coat, thanks!
Just one question before I get this, does the shader have the full compliment of channels like the Uber Metal/Rough shader that comes with DS, specifically Translucency?