Flicker-free FG animation with mental ray in 3ds Max
I’m going to share some of tips to how to get flicker free FG animation with mentalray in 3ds max. FG is always blamed for flickering animation. I will talk about some workflow using one of the production scene from my last project containing so much amounts of polys.
So let’s start with this “Snowy Airport” scene. I have enough ram that I can render out entire scene. The whole scene is lit with single skylight and sky texture as an environment. I also have “Environment/Background Switcher” map loaded in environment slot and used sky image in “Arch : Env blur” shader inside “Environment” slot of “Switcher” map. That’s about lighting which is simple. Now let’s talk about FG.
In this scene, everything is still and just camera is moving around, so I chose “Project points along camera path” (as camera moving) and “Single file mode” (as everything is still and no animation). Also FG bounce is set to 1 and I kept trace depth to 2-1-1. I don’t need much reflection or refraction here. Noise filtering set to “None”.
and ofcourse Antialiasing is set to 1-16 high settings with 0.05 default spatial contrast and Mitchell Filter. So I generated FG map for every 5th frame (for 50 frames), then locked it and rendered with those AA settings and here is the result (Watch in full screen with HD on) :
As we can see that it’s flickering there. But wait, it’s not FG flickering. How do we find that? There are “Diagnostic tools” in mentalray. Go to diagnostic tools and enable “Final Gather” and now render out sequence with that enable. Result will be like this below video. As we can see that all those green dots aren’t moving or jumping but sticking to planes and ground. (Watch in full screen with HD on)
So what is the flickering then? It’s antialiasing flickering. It’s always antialiasing flickering not FG. FG doesn’t flicker if correct settings are chosen. Let’s enable “sampling rate” and disable “final gather” in diagnostic tools. and render out sequence. Here is the result (Watch in full screen with HD on) :
As we can see that current AA settings (1-16, 0.05) aren’t enough to generate nice fine details. Check on background geometry how those lanterns and hangars buildings have bad outlines. Also there isn’t much details generated on front planes in foreground. We need higher settings. So I would up min-max to 4-64 and spatial contrast setting to 0.02. and here is the image of result.
Still there are little details not generated. Check lanterns and those buildings in background. So let’s lower the spatial contrast setting to 0.01 (for all RGBA) and check the result :
looks good in details! For final animation, I changed the FG point density to 1.0 and FG points to 150 and AA settings 4-64, 0.012 spatial contrast. and little bit of glow using “glare” output shader. (Note : those background lanterns intentionally given higher self illumination value to get the glow, Physically it should be lower as it fades with the distance) Let’s see the result (Watch in full screen with HD on) :
As we can see it’s flicker free animation. So whenever it’s flickering in mentalray, it’s mostly due to bad sampling/AA values. (Note : we must check these using diagnostic after calculating FG maps, for some reason I find that rendering with FG is much faster than rendering without FG. So use diagnostic tool to fine tune AA after calculating FG map)
Final Thoughts ::
1. Calculate FG map first then use diagnostic utilities to fine tune FG map and AA settings. Use compare tool or load in “Ram Player” different AA settings diagnostic images, and compare the difference. Use trace depth values according to reflection/refraction amount you need in the scene.
2. Sampling value for AA min-max , 4-64 is optimal value and will work for most type of scenes. and then you need to adjust spatial contrast settings according to needs.
3. Other important thing, I feel that, If you are rendering with mentalray, always render in high resolution like full HD 1920×1080 pixels. Those above tests were done with 1280×720 pixels size becoz of vimeo 720p upload limits. I am not saying that you need to render at double or more resolution than required size, so no AA flickering issue you get.
But you will always get viewable details with full resolution and 1920x1080p size is at least minimum for rendering in mentalray.
Also as you increase resolution, you can use higher value with spatial contrast settings. For in this example, if I would do rendering with 1920x1080p size, It will require 0.017 spatial contrast settings.
and ofcourse rendering time was just 5 mins per frame (for 1280x720p res) on i7 930 overclocked 4.0 Ghz.
Reference & Resources : Zap Anderson (http://mentalraytips.blogspot.com) and Jeff Patton(http://www.jeffpatton.net) (Thanks for providing great learning materials for mentalray)