Basking At the Beach: Turntable Animation by DrGravitas

Basking At the Beach: Turntable Animation


23 June 2015 at 20:11:56 MDT

June 20th is my work anniversary, the day I started working on this model and related projects. This year is the 4 year anniversary! Beginning with last year, I've started putting together various special pieces, including retrospectives to commemorate the anniversary, look back on what I've done, and challenge myself with some more difficult experiments.

This was the main focus of the anniversary! I wanted to see just how much fancy crap I could shove into an image! OK no, I actually just wanted to have physically-simulated fullbody fur and hair initially. But, the concept kind of grew out of control. The final render took 12 hours, 2 minutes and 27 seconds as I ended up trying to cram all of the following into a single scene:

Animation and Turntable (Only my standard ones, at least)
Photon-mapping and Ray tracing
Global Illumination (Photon-driven)
Caustics (Also Photon-driven)
nHair (physically simulated)
Multiple bodypart color Fur (also physically simulated by a second, invisible nHair setup across the whole body)
nCloth Swimsuit (Physcially simulated, collides with the body and the tail)

Those last two gave me the most trouble and I more or less failed. The fur is there, but it cost me the ability to do anti-aliasing. Volume fur sends Mental Ray's adaptive sampling algorithm into epileptic fits and even the simplest AA with it becomes a slog. I figured this out afte my initial attempt to do a full render sequence took 10 hours and rendered a grand total of 9 frames.

So, sadly, with no AA the image is quite grainy. Common 10 MB limits didn't help either, as I had to then use sub-par compression in the .swf.

As for the swimsuit, I was initially not able to do physical simulation. I wanted it ripple in the wind (as the hair very faintly does, although the hair was supposed to move more) and to shift as the tail brushes against it while wagging. After numerous tests, it finally appeared I had identified a setup with pants that wouldn't "explode". I integrated them into the scene and started what was already tested to be an 11 hour render. To my dismay, I came back to check up on it in the morning and found a mere 50 frames had rendered and the pants were exploding (I'll upload a scrap of the exploding pants, and the successful experiment, later.) So, on to plan B! I removed the nCloth component so they would no longer be physically simulated and here we are!

I eventually figured out the exploding pants problem. Turns out I forgot to carry over any nRigid node settings from the experiment. The nRigid node is what keeps nHair and nCloth from clipping through the body. Because I had already incorporated nHair, I needed to set the nCloth to use the existing nRigid when I imported the swimsuit. I had thought that I hadn't actually made any changes in the experiment, but it turns out I turned down the thickness considerably. So, in the scene, it was exploding because the nRigid stuck out past the model and caused it smash right through the nCloth, causing the cloth to freak out.

12 hours of rendering later, I discovered fixing the thickness results in another problem manifesting (likely the one I originally made it thicker to work around.) The invisible nHair driving the fur movement/positioning was now able to lay closer to the model's surface, causing the Ambient Occlusion shaders to register them as shadowing it. In essence, (at least on the red AO) it caused the model to display what looked to be big blue veins that would appear, disappear, and shift around as it moved, especially on the tail. It wasn't the most noticeable thing, but I really didn't like it (though I can see the effect being useful elsewhere...big blue throbbing veins on a shiny reddish-pink meaty-looking cylinder, eh?) After a bit of reading through the Mental Ray manual for the AO shaders, I determined they had a feature that could be used to exclude stuff from the AO's consideration.

This AO fix is a fantastic discovery as it means I can really control what influences the AO! I don't have to strategically leave open spaces in the scene (the skydome is actually a torus that ends just above the camera's view.) I can box the model into the scene all I want now. This should allow great improves the Photon mapping and associated techniques both in quality and speed! With help from this very informative blog's script, using this "Id Inclexcl" attribute on the AO shader was ridiculously easy. 14 rendering hours later (not sure why it jumped 2 hours, might be because I spent 2 of them working on other stuff while it rendered) and the new rotation looks better than ever with cleaner AO and physically simulated swimsuit swishing! Lowering the nRigid thickness even made the Hair more responsive to the wind effect, too!

There are a lot of things that went wrong with this turntable, it nibbled and bit out around 3 weeks of distraction, I started it before I got a fantastic suggestion to make the forehead more sloped, and the pose/face are pretty dorky, but I still kind of like it. Even if I didn't quite meet the challenge, it was still tons of fun to make!