Showing posts with label mental ray. Show all posts
Showing posts with label mental ray. Show all posts

Sunday, December 29, 2013

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

POST UPDATED 31/12/2013 - INCLUDES SETTINGS FOR MENTAL RAY MIA_MATERIAL
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, June 9, 2012

Radial Anisotropy w/ mia_material

Anisotropic Brushed Metal Material


Here's how to create a cool, radially anisotropic metal type shader with the mia_material in Mental Ray/Maya.


(PS, For a  general introduction to anisotropic materials in CG, I recommend this great article by Neil Blevins at his CG Education website).


Jumping straight in- first, let's create a simple object in which to apply our shader to. For convenience sake- let's just use a poly disk, which you can find (yes, Maya has a poly disk!) by holding shift and right clicking in the viewport, then selecting 'Poly Disk'. Then create a new mia_material (or mia_material x) in the hypershade and apply it to the new object.

We're not going to worry about any of the other parameters apart from anisotropy for now; just scroll down through the mia_material until you reach the Anisotropy tab and click on it to extend it's parameters.

In the Anisotropy section of the mia_material there are three main parameters to consider. An 'anisotropy' parameter set to the default of 1 actually produces no anisotropic specularity, instead we get a normal, run of the mill isotropic (same in all directions) or rounded highlight. By moving the slider past or below one, we are able to stretch the highlight out. I find that turning the slider all the way down to .1 works fine. You'll notice that as soon as you adjust the Anisotropy parameter, the other two parameters- Rotation and Channel, become unlocked.

Next, we will need a texture in order to define the direction of our anisotropy. Click on the checker icon to the right of the Rotation parameter and select Ramp. In the ramp node, alter the Type to 'Radial Ramp', and make a two colour gradient that runs from black at the top to white on the bottom. Your sample swatch should look just like the one below. It's important to not get the colours reversed as that will not produce the desired result.

Make sure your ramp is set up correctly


At this stage you may want to do a quick test render. Turning on Mental Ray's IPR renderer can be useful when searching for a decent angle which will pick up the highlight. Rotate the camera around your object with IPR turned on and see how things are looking. Most probably you will observe a strange bending present in the highlight. This is where the 'Channel' parameter in the Anisotropy tab comes in. Default is -1. Set the channel to -2 and you should be now getting nice, straight, fanning anisotropic highlights (alternatively you can rotate the uv's of the disk 90 degrees).

Channel set to -1 on left, -2 on right


As far creating basic radial anisotropy with the mia_material, that's pretty much it.

For a more metallic look, try dialing down the diffuse colour/weight in the shader and give your material something to reflect... ideally some nice image based lighting. It's also a good idea to break up the highlight a little by putting something like a constrasted circular brushed metal texture into the colour slot of the reflection tab. Play around with the glossiness and glossy samples also.

You now have the unbridled power to create the bottoms of pots and pans and stereo knobs. :)

Click to Enlarge


Final example shader (in motion)


Thursday, May 31, 2012

Procedural Dents 'n' Dirt / Downward Drips (Part 3)

AO based weathering featuring DDD (Dents, Dirt, Drips)


Lately I've been working on trying to get some directionality into an AO weathering type shader. A problem with my previous shader was that the streaks weren't just dripping down from surfaces, but also dripping up. The current solution is to pipe the Out Colour of a Maya snow texture into both the bright and dark inputs of an AO node. Adjusting the 'depth decay' of the snow as well as the 'threshold' seem to be the main tweakable parameters here, along with AO spread.


I'm attaching an .ma scene file + shader if anyone would like to experiment (12 mb)
http://www.filedropper.com/ddddshader


Just the DDD shader
http://www.creativecrash.com/maya/downloads/shaders/c/ddd-shader-dents-dirt-drips

Wednesday, March 7, 2012

Light Based Ambient Occlusion

Ambient occlusion based on luminance 


Here's a quick shader which will improve the look of your ambient occlusion pass by integrating it more closely with the directional lighting in your scene.