Sunday, December 29, 2013

Creating a 'Gummi' type Thickness Shader (Part 1)

Thickness pass (values inverted from render) - Mental Ray

Some time ago I figured out it's possible to make a serviceable 'thickness' or 'gummi' type compositing/utility shader in Vray using the Vray Mtl and it's 'Fog' parameter. At my current workplace we've used in the past a 3rd party shader from Binary Alchemy (the RayLength shader I believe), in order to compliment subsurface scattering at the compositing stage via a thickness pass. This was explained to me by my boss at the time as a dirty trick, which nevertheless had the desired effect of making our CG food look more 'foodlike' and appetising. It's a strange but potentially useful technique, which I'll cover in a later post. For now let's just focus on making the shader. The basic idea is also translatable to a MR mia_material version, using the 'Max Distance' instead of the Vray 'Fog' parameters.

Basically, a thickness shader is one which is able to approximate the interior thickness of an object. A thickness pass would describe in greyscale values the relative thickness of something, ie- whiter pixels representing thicker areas and darker pixels thinner areas. As you can see in the video above, the dragon's tail, tip of the tongue, horns etc, are all darker in colour while the belly, legs and head are the thickest, lightest areas. When setting up the shader, we will need to invert these values however, and then re-invert back in our compositing package later on.

Setting up the shader/pass...

Saturday, December 28, 2013

Create your own XSI styled Maya Viewport Render Tool

One Softimage feature which I've felt was sorely lacking in Maya (apart from ICE of course) is the awesome interactive viewport renderer. This thing is super functional- you can quickly via shortcut make a little region render in full persp view to see how one little aspect of your scene is looking, or drag a rectangle over everything for a full render without needing to open up the render view and close it back down again. The benefit is that it doesn't interrupt you by taking you out of your normal working view. Going back to Maya and dealing with the render view panel feels really unintegrated and clumsy by comparison.

So how happy was I when I saw that someone over at Therenderblog has developed a Softimage style viewport render tool for Maya, which theoretically will work with any renderer of your choice and will help educate you about scripting Python tools in Maya to boot?

Pretty happy.

Saturday, December 14, 2013

Thinking 'bout Mari

Mariya/Gomaya design concept.
There has to be a better name for this thing

This is currently just concepting an idea. I've been inspired recently by Dave Girard's Mari Me script for Maya- I thought it might be fun to see how Python works in Mari and started wondering about a Texture Robot type script which works across Mari and Maya, sending out the locations of flattened channels to Maya to be hooked into shading networks, a la Texture Robot.

It looks a lot like Texture Robot right now. The main design difference is in linking the various shader inputs to existing Mari channels, rather than filenames in a directory. Again, you'd select the shader type appropriate to the renderer you're using. UDIM support will need to be a feature.

Early days.