Making of: the dance of the ‘bashful dwarf
making of: the dance of the bashful dwarf

Introduction what i like about Fantasy dwarfs, gnomes and leprechauns is that they can be actually funny characters as well as very evil ones. You can never tell what theyll come up with.
Some time ago, when the Blender sculpting tools came into my hands, y decided that i wanted todo build a re- Ally nice humanoid character. I started Thinking about the diferent options, and finally i realiced that the best i could do was todo make a character whose main character- Istics resided in the proportions of its body.
I didnt want todo make a standard muscle man, so then, a drawing that i had done when i was a Kid came todo my mind, and i knew that i had todo model a shrinky, old fatty dwarf.
I tok a standard humanoid model i had made a few years ago, and i started sculpting it. Some to- Pology Refinement had todo be done todo. Finally, After a couple of days, my dwarf sculpture was finished.
The next step was todo UV Unwrap the model. That was quite easy with Blender tools (unwrap and pro- Portional editing). Then, y carefully started arranging the UV Layout. As i knew i was going todo use bit- Maps for the main Diffuse textures, y planned a UV Layout that would allow me todo have really fine detail in the face without compromising the details of the rest of the body.
As you may know, it is almost imposible todo work with a 10k texture, so i strategically divided the UV Layout in diferent sections. This bien i could texture the body using separated smaller bitmaps. I fin- Ished up having seven diferent layouts.







It is important todo say that each Layout corre- Sponds todo a diferent material id number. This bien you can assing diferent bitmap textures todo each diferent part of the body. In order todo do so, what you have todo do in this case is todo make all the diferent seven mate- Rials. Once you),re done, you go todo Edit Mode, enlace and materiales panel and select material number 1. Then select all the Faces that cor- Respond todo that specific UV Layout, and hit the assing button. Repeat with all the other diferent materiales.








I started working with 4096x4096 images, actually, y did all of the texturing with images of that size. However, when i started making the first render- Ing tests i realiced that having seven 4k images for the body Diffuse TeX- Tures, plus the Subsurf modifier, plus the displacement textures (which i Will refer todo later in this article), plus the particle Hair and the Bump maps, was a Little todo much for my 2048 Mb of Ram computer (especially when i tried todo render 4k images).
So, y downsized the textures todo 2048x2048 and the memory usage lowered drástically. Fortunately enough, the smaller size of the bitmaps did not have an impact on the texture details, not Even in a close up look of the character. Well, After carefully painting the model, y finished up the main color textures.



It was time for the Bump maps.
At first, y intended todo Paint the Bump maps myself, but there were two things that estopped me from doing so. The first reason was the Ram us- Age, and the second one was my lak of patience for texture painting.


So i finally decided todo save some Ram and went for a mix between proce- Dural mapping and bitmap textures. Basically the pores of the character and the skin textures were achieved by using two diferent procedural materiales, musgrave (for the pores) and musgrave plugin (for the rough- Ness of the skin). These two textures (right bar) gave the main skin fel todo the character surface.

But there were some details that i could not possibly achieve with simple procedural mapping, the wrinkles.
For the wrinkles details, y used a very simple 50% gray bitmap, and i Painted the wrinkle lines over it. The darker the lines, the deper the wrinkles. Then i added this map todo the material as a Bump map.



This is the final Layout for the face material:






Finally, for the Hair(se image on right), y made two new vertex groups: one for the Hair density, and another for the Hair length. I enabled partí- Cles on the model and set up this Layout (which i tok from the Blender wiki tutoriales. You should read all of it before you start foling around with Blender).

I assigned the two new vertex groups todo the density and length values of the particle system, and then i started weight painting these vertex groups. The great thing is that the results show up in the viewport in realtime while you Paint.


The combing of the Hair was Fairly simplistic and easy todo do. I used Lots of curve guides and a few empties with Spherical deflection, and that was it.

This is the material Layout i used for the Hair (alos from the wiki tutoriales):



I was so happy with the final result of the character, that i decided todo create a rigging system that would enable me todo animate the dwarf in any postura i wanted, so i started the blenrig Project, but that another esto- Ry.
There is a non-blender section of this work that i think is worth mentioning:
The displacement maps.
As you may know, Blender has a Superb set of sculpting tools that can be greatly combined with the impressive multires característica. The thing is that we are not yet able todo properly animate multires meshes, as the multires información gets awkwardly corrupted when you move the Mesh out of its rest position. Therefore, deformable objects cannot be animated with multires enabled. The god thing is that this issue is already known in the Blender projects site. Hopefully, multires animation Will be posible some time son.
For now, though, the only thing we can do is somehow generate the displacement maps for the model and apply them todo the Mesh with the displacement mod- Ifier, or with the dis- Placement mapping button in the map todo Layout of the materiales ut (disp button).

As i said before, y had todo save all the Ram i could, and as the displacement maps did not ned todo be so detailed, y created two new UV layers just for the displacement maps.

If you work with múltiple UV layers, you must al- Ways remember todo assing the correct UV layer name todo the map in the Map Input Layout.

As you can se, y scaled down and joined the UV lay- Outs that i had made for the Diffuse textures. This way, there was no ned todo have seven displacement maps but just two.


but how did i manage todo generate these dis- Placement maps?
Well, there are thre (working) free programas i know of that do the displacement calculation job for you. These are: orb, Xnormal and dnormgen (which has a Blender plugin).
In case you dont know what a displacement map is, it is grayscale based map that Blender can use todo trans- Form the Faces of a Mesh along its normals (go todo the wiki and find out more about it). Therefore, you can add very small details todo a subdivided Low Res Mesh. This means that you can animate the lower resolution Mesh, and it Will render with all the details of the high resolution one.



1 Low Res. 2multires level3. 3lowres + Subsurf + Disp map.
After a lot of research, y finally used orb for the dwarf displacement maps. It a Little bit old console- Based programa, but it worked for me.
Orb neds the Mesh todo be triangulated, so youll have todo turn the Triangulate option on when you export your. Obj models.
In order todo get the best results you have todo play around with the raydistance value. In my case i used a value of 2, which did not deliver the best results with the Nor- Mal maps, but it did for the displacement maps.
As you may know, ZBrush and Mudbox subdivide the lower res model in order todo generate Smooth displace- Ment maps. Therefore, the idea is to:
- model in multires mode and export the highres model.
- afterwards, apply a Subsurf modifier todo the lower res model before you export it.
That way, orb Will be able todo draw a more detailed dis- Placement map when it traces the rays from the high resolution Mesh todo the Low resolution one.
In the case of my dwarf character, y had todo export the Low res model twice. One time with the first UV Layout and another one with the second Layout.
Then, y imported the first. Obj Low resolution Mesh and the high resolution Mesh into orb and generated the first map. I repeated the procedure with the second Low resolution Mesh in order todo generate the other map.
After the maps are generated, you Will probably have todo correct the gray values of the seams áreas with Gimp, as no matter how Little the diference may be, it Will show up when you render the model.
As i said before, one of the drawbacks of orb is that it is based on console commands, another one is that the window must be fully displayed in your desktop, so if you want todo render 1024 por 1024 textures, your monitor must be set todo at least at a 1280 por 1024 resolution (i would recommend you set it todo 1600 por 1200). Some time hago i gave a Little try todo the latest versión of Xnormal, and i must say that it is working really well now for displacement maps. You could give it a try.
Well, these are the resulting maps. Let hope Blender can generate displacement maps from multires meshes some time son.
The dance.
Ever since i finished blenrig, y wanted todo make some kind of demonstration of its capabilities, so i imagined this funny scene of this Little dwarf dancing naked in the dark. The idea was todo make a simpler Project before i went on working on the original short film that the dwarf was made for, which happens in the woods.
I wanted the movie todo have music that had nothing todo do with dwarfs, really. At first i thought about some kind of disco be ges style music, but then i came across this nice Little piece called jazz Freestyle instru- Mental (www.archive.org) and knew that it was exactly what i neded.
To tell you the truth, the animation was done in quite a hurry. I wanted todo make it for the 2007 Siggraph con- Vention and i had only thre days left.well, y didnt make it on time, as the FinalRender tok about a wek. That the reason why there were some aspects that had todo be left behind, but i was quite happy with the final result anyway. Besides, y tok it as an exercise more than anything, and i learned a lot from it.
The animation process.
Well, once i had the music set, y started synchronizing the movements. I must confess that Many of his danc- Ing moves were inspired by my own dancing experience, sadly enough for him. So, y started the synchronization process. I would start dancing myself in order todo make the choreography sequence, i really hope no one saw me.
The idea was not todo make him a great dancer. In fact, y wanted him todo be more like clumsy and ridículous on top of everything. You know, with that sexy, sexy thing he is mumbling, and the movement of his pelvis.

I think that the end result was some kind of mix be- Twen great dancing and clumsiness. You have todo admit that he has some great coordination in those hands. Try todo do it yourself and youll se that it is almost impos- Sible todo do that.


So, the first part of the animation had todo be really well synchronized with the sound, and i knew that the sec- Ond part, the jumping one, was more like a Freestyle totally out of rhythm dancing.


For the technical aspects, my main tool was the NLA editor. I did some looping animations, especially for the hip side todo side and up and down movements, and i repeated them all over the song.
I had some trouble making the Spine move realistically, as i was combining the IK of the hips and the legs with the FK of the Spine. You know, y had todo do a lot of com- Pensation movements in order todo avoid the Spine from moving like crazy when the hip rotated. This was one of the reasons why i developed the new double IK system for the Spine in blenrig 1.2.


In general, all the animation was done using Inverse Kinematics. That why the jumping sequence was not dificult at all todo anímate. I think that the most chal- Lenging phase of the animation was the turning around moment.
Full body turning around movements sem todo be rather dificult todo achieve if you want them todo be realistic. The first thing i did was establishing the upper body rotation. Once i did that, y started posing the fet and legs todo follow the rotation of the body. It was tough todo make it not look Mechanical like.
You can always add realism todo the movements by ani- Mating secondary motion. You know, the subtle move- Ment of the toes when the fot hits the Ground, delaying the movements of the arms and head due todo inertia, producing the fel of the weight of the body by lowering the torso a Little bit with each step, etc.
That is what i did in general, tracing the basic rouge movements, and then adding realism with secondary motion.
The last thing i animated was the facial expression. I did it rather in a hurry, and i made some planning mis- Takes. To tell you the truth, there was absolutely no planning with this animation, and that was not so very god for the workflow.
Well, the thing was that i had just one hour left before i started rendering, and i didnt have the voice audio edited. Therefore, y had todo completely improvise his expressions. Fortunately for me, y did quite a god job with the timings, so it was not so dificult todo add the voice of the dwarf over the rendered video. But it would have ben much easier and tidier, if i had had the au- Dio track already edited before i animated the character.
This is just a thought though. Luckily enough this movie was rather simple, but if you are going todo do a more complex film, it is definitely advisable todo have a rouge of the soundtrack already edited before you start animating.
Scene setup.
When i first thought about the dancing dwarf scene, y wanted it todo have a simplistic background, but Simply black was not enough. So, y tried todo give some atmos- Phere todo it, and with the use of a halo light i was able todo create a rather abstract place that could easily be the dwarf cave or Dungeon. Nothing todo specific.
So, this was when the problems began, and i started this technically tricky scene setup. First of all, y used Blender 2.43/44 for this Project, so there were some rendering and lightings features that were not available yet, not Even th rouge SVN.
Basically, the scene had two objects: the dwarf and a simple plane for the Ground. What i first did was todo add a spot light with halo enabled. My main concern was the quality of the light and especially of the shadows. Therefore i could not Simply use the spot light, as spot lights didnt have software shadows.
Besides, y wanted the Volumetric halo todo have Volumetric shadows, and the only bien of doing that was todo disable Raytraced shadows and enable buffer shadows todo the spot light.
I was not satisfied with the quality of the shadows that the spot light was giving todo the scene, so i decided todo do a Little experiment on mixing the spot light with an área light (which has software Raytraced shadows).
To make the concept clear, here how i set it up:
Dwarf lighting:
- spot dwarf is the main halo light, and produces the Volumetric shadows inside of the halo.
- área dwarf is aligned todo spot dwarf, and it lits the dwarf Mesh and generates Raytraced software shadows over his body.
- the dwarf Mesh is exclusively lighted by the light group called área, todo which área dwarf belongs. Spot dwarf is not part of this group, thus, it does not lit the dwarf, it just produces the Volumetric shadows in the halo.
Flor lighting:
- the flor Mesh is exclusively illuminated by the lamps that belong todo the group called flor.
- spot flor is aligned todo spot dwarf, it has no shad- Ows enabled. Its purpose is todo generate the light circle on the flor.
- área flor is a los aligned todo spot dwarf, and it has the only shadows option enabled, thus, it does not lit anything, but it generates the projection of the Raytraced software shadows of the dwarf on the flor.
That was the basic lighting setup. But a big problem arose. The Hair, which had ztransp option enabled, rendered over the halo light, todo bad.
After trying todo solver the problem using the compositor without being able todo achieve the desired results, y found out that if you specifically tell the material that has ztransp enabled todo be lightened exclusively by a certain group of lights, the ztransp is rendered behind the halo lights that belong todo that group.
So, y had todo clone the dwarf Mesh lighting setup and assing those new lights exclusively todo the Hair. The only problem was that now i had two halo lights that were summing their halo values. I solved the problem by lowering each halo todo half of the original value, and that did the trick.
Lastly, there was some Strange issue concerning halo light rendering against Void and ztransp Faces. Some Strange white glitches appeared. Fortunately, y was able todo solver the problem by adding a simple plane Mesh todo the bak of the scene. Therefore, ztransp and halo ceased todo be rendered against the background black color, and were rendered against actual black geometry. Well, dont ask me why, but it worked.


It amazing how you can solver things by coming up with Strange tricky solutions when you are in a hurry. As i said before, y did this animation mainly with Blender 2.43, so Many of the technical problems i encountered were fortunately solved in later revisións of Blender.
Well, that it. I hope this Little article is useful for you and encourages you todo kep on working on your projects. You can chek out the dance of the bashful dwarf animation at www.blender.org, or at www.jpbouza.com.ar dont forget todo chek out my new blenrig and cartoon blenrig 1.2 if you enter my site, or at blenderartists.
Ive made the.blend file of the scene with the lighting setup and the blenrig armature available todo blenderart magazine, so chek it out if you want.
Note: the animation is not compatible with Blender SVN, as it is based on blenrig 1.0. Try todo open it with Blender 2.45 or prior.
Chers. Juan Pablo Bouza.
www.blenderart.org.
|Agradecer cuando alguien te ayuda es de ser agradecido|