Friday, February 4, 2011

Happy Chinese New Year

Today is the start of the new year in the Chinese/Lunar(?) calendar, the year of the rabbit. So, who better than a familiar friend of ours to bring you this greetings...

 (BBB rig - modified to work in Blender 2.56)

A little "Making-of"
The BBB rig I used was the one the Wayne Dixon (waylow) had modified to work in 2.56, since some features of the old rig, such as PyConstraints for foot roll and fat jiggling controls, were no longer functional. Cheers to him for doing this... it was quite a time saver :)

The greater issues though was getting this to even render on my computer, let alone "correctly" or appealingly.

Anyone on a 32-bit Windows computer will probably have run into problems trying to render the bunny (all the other characters are fine though, if a bit slow) due to the memory requirements of the large number of fur strands. To get around this issue, I bumped the number of child hairs down from 2000 to 200. Finally I could render the rabbit!

However, due to some issues with the (down-rez'd) textures that waylow had packed into the file (or so I'm guessing), none of the hair would show up until I had replaced the texture controlling this with one from the original files and also ended up disabling that control altogether. At this stage, I had a rabbit with hair that could be rendered, but taking just over a minute to do so and looking very ugly.

Oh, and I noticed that there was something really screwy about the eye textures: they were no longer getting mapped correctly, such that they covered the whole eyeball in a weird way! It took quite a bit of experimentation, but the solution I eventually came up with is as follows:
- Go to the Texture properties for one of the Eye meshes
- For the first texture slot (l.bunny_eye.png)...
- In the "Image Mapping" panel, set "Crop Minimum" to -1.5, and "Crop Maximum" to 2.0
- For good measure (this didn't seem to make much difference, but I did so anyway), under "Mapping", I changed the size values to 1.0
Yay! The eye textures were looking more normal again, though they still seem a bit small IMO. Probably this all occurs because the eyes were not really properly UV mapped, but just relied on some old (incorrect) Blender texture mapping hacks to actually work at all. So much for "progress" ;)

Now, just when I thought that I had everything fixed, ready for action, and linked into another file, I found one last set of problems with the character as-is: the proxy-protected layers were set wrongly, such that some core controls were not able to be used. To fix this, I've made sure that only the second block of armature layers are proxy protected.

After all this trouble setting this up, I was finally ready to start posing the character. Originally, I had planned to try and make a short animation clip featuring Buck, though with the time wasted fixing the rig (and with some later tweaks I'll soon mention), this idea quickly flew out the window.

Having been using the Sintel rig quite extensively recently, I can say that I agree with Cessen on how he thinks that the Sintel rigs are much better than the BBB ones. Although when I first encountered the Sintel rigs I didn't think this was the case, I've found that some things here just aren't that nice anymore. For instance, I needing to use X-Ray drawing to be able to select some/most of the controls is a bit of a pain, though perhaps this is a natural consequence of a having such a fat character. The problem here is that X-Ray drawing means that controls from the other side of the character are also visible while trying to pose things, which is a huge distraction. One other problem I ran into was making an appealing facial expression, which was made hard by the eyes not being able to look to the side easily, without the nose-bridge blocking one of the eyes (thus affecting the readability of the pose). To fix this, I manually tweaked the eyes in the render so that they look like they're looking at the same place without being too glassy-eyed either. I'm not quite sure I succeeded though :/

Soon the time came to actually get a render of this fella. What can I say: hair/fur stuff is so bloody fickle! Aaarrrrrrgggghhhhh!!!

In the original rig file, the lighting setup was not terribly flattering, as it was blowing out everything, making the fur look like a tatty (or very sparsely covered) and damp rotting rag. Simple tips/guidelines for avoiding "lighting blow out" is a topic which I feel is not covered nearly enough in most introductions to lighting, which seem to mostly focus only on adding more and more lights so that everything is brightly lit.

Although I'm not really a lighting guru, I finally decided to check out the lighting rig in that file carefully: there were 2 side spot-lights (one either side) for the blue side vs yellow side aesthetic rim-lighting contrast, one backlight (possibly to give some interesting "sky" rim lighting), and two fill lights - one from either side - which were possibly to blame for being too strong.

Seeing as this setup wasn't ideal (i.e. not giving good results anyway), and the one from the Sintel lite file might not have fitted/worked, I tried hacking one together for a change.

Using techniques gathered from observing the lighting setups of these two files, I added a "sky" light behind the head and quite far up which was originally a hemi (like the Sintel file) but later changed to a sun light for some more interesting soft-rim glow on the edges of the fur.

I then proceeded to try a 3-point setup, with all the lights higher than the head and pointing towards the chest or thereabouts. The results from this were initially quite shocking: blowout in patches + ugly fur! Fortunately, after a lot of failed tweaking experiments, I finally had a thought to try placing the fill lights so that they shone up the belly instead - i.e. the lights were at about belly height, aiming upwards. Suddenly, the fur adopted a softer look, closer to the one on the BBB poster hanging on the wall nearby, though still patchy in places as you can probably tell (most notably the arms, but also parts of the face still look quite bad).

I also added two extra (point) lights for some final tweaks. One was outwards from the left armpit, which was to try and get rid of some of the shadows that were forming on the left arm (especially on the hand, but also to try to unsuccessfully get rid of the black patches on the arm). The other pointlight was added just out off the top of the camera frame, visually above the hand, and set to spec only to provide the nice catchlights in the eyes which were disappointingly missing so far with the lighting setup.

After all this trouble, here is the resultant image :)


  1. Good idea - and thanks to waylow for 'converting' the rig to 2.56.

    I actually like some of the shadows on the left arm, they bring out the form a bit. Usually I find CG lighting 'washes out' most form.

  2. hi dude! really great blog you are running here.

    I was wondering where did youget your version of big buck bunny. the one I got is named Buck.2.5.3_PACK supposly fixed for 2.56 but it wasn´t. Yours have shape key drivers set

    Great work dude!

  3. Sorry the last part was actually Does your file has shapekey drivers fixed?

    Again really nice work, nice photos too.