tips for rendering maya fur with mentalray

david | mentalray, rendering, tutorials | Sunday, June 29th, 2008

I've been working on a project involving the use of maya fur. It's the first time I have rendered fur using the mentalray renderer, so there was much to learn. One of the difficulties I encountered was dealing with the illumination of near-white colored fur (like a polar bear). In the past, using maya's native software renderer, I would have added fur shadowing attributes to my lights to allow me to control and balance the amount of illumination on the fur, but these attributes are not supported by mentalray so I had to find another way.

In this post I show an approach to rendering near-white colored maya fur with mentalray.

I'll start by creating a torus to which I have attached a fur description with the polar-bear preset. I have two spotlights for illumination. Here's a top-view snapshot of the setup.

topView.jpg

I want my fur to be almost white, so the underlying surface needs to be faily pale. I'm using a simple cream colored lambert with some ambient color to brighten it up.

baseObjectShaderAttr_Amb.jpg

baseObjectNoFur.jpg

I want to achieve a soft look without any shine so I started with the polar-bear preset but changed the Light Model to Ambient + Diffuse (so no specular component). And I set clumping = 0.

If I render it without changing anything else I get this.

polarBear_HairPrimitive.jpg

This is using the standard scanline/raytrace render method, not the rasterizer, and it took 1 min 30 secs (I'll use this time for comparison).

Tip #1: Change Fur Shader from Hair Primitive (default) to Volume in the mentalray section of the Fur Render Settings. Here's what it renders like.

polarBear_Volume0.jpg

And this only took 16 secs (thats six times faster!).

I want the fur to be even whiter than this so I added base and tip ambience to brighten it up.

polarBear_furDescriptionA.jpg

Which renders like this

polarBear_Volume1.jpg

This is closer to the color I want, but now the fur looks too bright and its luminance is clipped harshly at the top end of the luminance range. Lowering the intensity of my lights would prevent the clipping, but then everything else would be too dark and my fur would look dirty.

Tip #2: Use a tone mapper. I used mia_exposure_photographic as a lens shader attached to my camera. Here is a snapshot showing the exposure attributes.

mia_exposure_photographic_attr.jpg

The Cm 2 Factor setting makes all the other attributes work in the desired exposure range. I reduced gamma to 0.5 to give me a bit more contrast between the whites and the near-whites. And it now renders like this

polarBear_Volume2.jpg

Tip #3: Play with the Shadow Density Scale in the furDEscription's Volume Fur tab. By increasing this from the default 0.125 to 0.5 I get nicer fur shadowing.

polarBear_furDescriptionB.jpg

polarBear_Volume3.jpg

Tip #4: For the underlying surface use incandescense instead of ambience. This will eliminate the darkness of the shadows that the fur makes on the underlying surface. So my lambert looks like this

baseObjectShaderAttr_Incan.jpg

baseObjectNoFurIncan.jpg

polarBear_Volume4.jpg

Well I'm pretty happy with the color now, but the over-all look is a bit dull. Some tasteful burn out will give it the appearance of a bit more dynamic range so I increase the exposure Burn Highlights from 0 to 0.03 and here is the result

polarBear_Volume5.jpg

Have fun with fur. There is so much to experiment with.

13 Comments »

  1. Great little post. How are you getting the fur to show up in the shadow of the spotlights (on the ground plane)? Since changing the fur shader to Volume I'm just getting shadows of the torus...

    Comment by geoff3d — June 30, 2008 @ 8:00 am

  2. I guess that should be Tip #5. You need to change the Shadow Method to Segments in your Render Settings.

    Comment by david — June 30, 2008 @ 10:40 pm

  3. Nice and very detailed tutorial
    Tip #6 : Fur Shadowing Attributes!
    Select the Light and go to => Fur Shadowing Attributes => Add to selected Light
    Then you have more control in: Fur Shading/Shadowing of your light casting shadow.
    in that way you don't have to touch the incandescence!
    Rachid

    Comment by rachid — July 1, 2008 @ 5:21 am

  4. Hi Rachid, thanks for your comment. It's a good tip, but I must make it clear that it only works fully with the software renderer It also works if you use mentalray with Fur Shader = Hair Primitive but then you are stuck with slow renders and a choice of faked or shadow mapped fur shading and the fur doesnt look as nice (especially if you want a soft look).

    Using the rasterizer instead of the scanline renderer can speed things up a bit, but I still dont like the results as much as the Volume shader.

    If you use mentalray with Fur Shader = Volume, (which is what I am recommending in this post) then these added Fur Shadowing Attributes are all ignored. I am using raytraced shadows. Incandescense on the underlying surface was specifically chosen to work with really bright colored fur, and lets me keep the fur density a bit lower and at the same time avoid the dark shading and shadowing that you would otherwise see through to under the fur.

    Comment by david — July 1, 2008 @ 11:36 pm

  5. Hey David.. Actually i am working on fur and i found this tutorial.. Its really nice... I am having some problems...when i render it using Fur shader = hair primitve, i get the shadows working properly(render time too long as you say). but when i use Fur shader = Volume.. It doesn't seem to work.. half the render comes with shadow and the other half do not.. Any suggestions...

    Comment by vijaymadhu — August 21, 2008 @ 4:46 am

  6. Hey David its me again.. I found this out.. when i use scanline Rendering.. i get a pretty decent shadow..and i see some dark spots..in the render,, Also if i use Rasterizer.. i get a pretty good looking fur...but the shadow gets messed. up.. did you turn on the raytrace option in the Render settings..A little help would be awesome..

    Thanks

    Comment by vijaymadhu — August 21, 2008 @ 5:10 am

  7. Hi vijaymadhu. Yes I was using the scanline renderer with raytraced shadows (in the spotlight attributes) and with "segment" mode in the render settings. Obviously raytraced shadows are slower, but I like the result better.

    Comment by david — August 21, 2008 @ 7:29 pm

  8. Hey thanks for the post..i was using 8.5 and it had some problems but 2008 looks pretty good. I have one last question...When i use maya software i understand that i can control which light falls on the fur and through which light i want the shadows...what happens when i use mental ray.. i find that if i have 2 lights the fur gets affected more(that should be the case), how do i control it in mental ray.. any ideas???? .. thanks for the post...

    Comment by vijaymadhu — August 22, 2008 @ 12:12 am

  9. One more question too... How can i bring the reflections of the fur on the ground plane...if my ground plane acts like a mirror.. I am having some problems even after setting The qualit preset to Production Fine trace, scanline renderer and also shadow method to segments.. any Ideas on this.. Thanks.... David...

    Comment by vijaymadhu — August 22, 2008 @ 12:42 am

  10. Hi vijaymadhu.
    If you use the volume hair method, then the Fur Shadow attributes on the light have no effect, so you cannot balance the intensity of the light that way. However what you can do is use light linking like with any other surface. If you look in the light linking editor (relationship editor) you will not see the fur description, so you have to link or unlink the surface that the fur description is attached to. This is not ideal though and you may get shadow problems where the fur is still casting a shadow even when the light is not linked. If so, and you really need to use it, then you may have to go to mentalray's detail shadow maps.

    As far as I know ray traced reflections are not possible with the volume fur. (I'm disappointed too - If anybody knows how, then please tell). They do work with hair primitives though; you just need to set the flag in the furFeedback shapeNode's render stats.

    Sorry I don't have better answers.

    Comment by david — August 23, 2008 @ 12:00 am

  11. Thanks for your replyy.. I am trying some other ways..if i get any of it going.. i will surely post it here...thanks once again..

    Comment by vijaymadhu — August 26, 2008 @ 1:46 am

  12. hi,
    Great tutorial..
    I am using shave and a hair cut to create hair.. any ideas how to render like the way you adjust the shadow attribute?

    cheers,
    Chia

    Comment by chiax2 — September 6, 2008 @ 1:20 am

  13. chiax: I have not had the opportunity to use shave-and-a-haircut in my work so I cannot offer much help there. I dont think you can use the mentalray volume method. You must either use the primitives or the shave buffer render (which has its own depth map attributes).

    I notice its been almost a week since your comment - maybe you could let us know how it went.

    Comment by david — September 11, 2008 @ 10:34 pm

RSS feed for comments on this post.

Leave a comment

You must be logged in to post a comment.

Powered by WordPress | Based on a theme by Roy Tanck