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.

22 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

  14. Hi, David.
    I have a question, You use the exposure photographic with the gamma to 0.500. But if I create a carpet for an interior and rendering in the scene, I cannot use the linear workflow, because I would have in truth to set the range gamma to 2.2.
    Thanks ytsejam

    Comment by ytsejam — January 14, 2009 @ 11:28 pm

  15. Yes, I broke the rules. I think it is ok to do that sometimes for creative reasons. This blog post was written after I worked on a project with fur, and to get a nice look we did adjust the gamma in the lens shader. In this project the animal was one of several render layers that were comped later, so we were free to do what was needed for the look we wanted.

    I think it is common when using a linear workflow to render with gamma=1 (gamma=2.2 for preview only) and do the actual gamma adjustments in post, but I usually prefer to get as much of my "look" as I can in the render. Then I just do minor adjustments after.

    Comment by david — January 14, 2009 @ 11:46 pm

  16. thanks david.

    Comment by ytsejam — January 19, 2009 @ 5:19 am

  17. Hey David.

    Thanks for the great tips! Getting some nice results.
    What raytracing values are you using on your lights?

    I rendered a quick animation with the fur being driven by dynamic hair, but got some flickering from the shadows I think.

    My current values are 0.1 for light radius and 4 for shadow rays.

    Comment by deeppurple — February 26, 2009 @ 6:29 am

  18. Flickering shadows are a real problem with fur. I've used much higher shadow ray, but it slows down the render. Usually I end up rendering different layers so that I can attempt to fix these kind of problems in post.

    Comment by david — February 27, 2009 @ 12:16 am

  19. Thanks, I found by upping the anti aliasing settings, it got rid of most of the flickering!

    Comment by deeppurple — February 27, 2009 @ 11:32 am

  20. Oh, how do you setup different render passes for fur and shadows? Thanks =]

    Comment by deeppurple — February 27, 2009 @ 11:33 am

  21. Hey, great post. I'm having sort of the opposite problem with the fur that I'm using for a character's hair. I'm trying to get brown fur, but it keeps rendering with white streaks in the base color even when I turn the base color all the way to black. I have one spotlight and one ambient light in the scene. The spotlight is casting shadows and emitting global illumination photons. I'm loving the soft look of the volume fur, but everything I've tried to get the color right hasn't helped. If anyone has any suggestions, I'd really appreciate it.

    Thanks,
    Mark

    Comment by mark.c.fain — March 28, 2009 @ 5:52 am

  22. Thanks Mark. I emailed a more lengthy reply, but here's the short version.
    Volume Fur and Final Gather do not work well together. Its like the fur gets illuminated from within and looks washed out and unnaturally translucent. I don't know a workaround, except for rendering the fur separately with no fg, and everything else black matteOpacity=0 so you can composite later.

    Comment by david — March 31, 2009 @ 11:16 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