INTRODUCTION This animation of a blacksmith was originally made for Philips Electronics here in Eindhoven, the Netherlands. It is only 9.5 seconds taken from a larger animation, Morkramia II, which has a total duration of over 6 minutes. HOW TO The file blacksmith.tgz is in compressed tar format. First you have to decompress it: > gunzip blacksmith.tgz This will generate blacksmith.tar, which is approximately 2 MB in size. Then you have te unpack the tar file. > tar xvf blacksmith.tar This will generate a directory blacksmith which contains all 3D models and textures to generate several animations. To see the animation, do: > blender blacksmith/blacksmith.blend Press the button "ANIM". Blender will start rendering all frames. This will take more than one hour on a 200Mhz Indigo 2. After that you can see the results by pressing the button "PLAY". KNOWN PROBLEMS If blender is unable to find any textures, you're probably running an older version of blender. Try starting blender with: > blender /the/full/path/to/blacksmith/blacksmith.blend Or start blender without the file. Press the F1-key on your keyboard to open a new file. Go to the blacksmith directory and select blacksmith.blend by pressing the middle mouse button over it. TECHNIQUES USED This is not meant to be an introduction to blender. Some of the techniques described here are rather advanced but can help you understand how blender works. Global Scene There are other scenes in this blender file. At the the top of the screen you see a button labeled SCE:04_06. Press the small button left to it to switch to another scene. 04_01 is a scene with an animated fire. 04_02 shows you the blacksmith at work. You can render these animations too. Scene "global" contains all the objects shared by 04_01, 04_02 and 04_06. A blender file can contain more than one scene. This is very convenient when you have to render several animations at the same location. You can change camera position, add lighting or objects to build the animation that you want. All static objects can go into the 'set', the global scene. You can activate and deactivate this option in the DisplayButtons (indicated as 'Set'). When you start the blacksmith the first time. It is the button on the left which reads 'global'. Press the X on the right to deactivate the set. Press the menu button on the left to choose a set. Objects from the set are drawn in a light gray. You can't select them or change any attribute. If you want to edit them you have to switch to the set by using the button at the top of the blender screen which reads SCE:04_06 or whatever the name of your current scene is. Use the menu button left to it to switch to another scene. There is another way to share objects between scenes. You can link them. Select an object and press Control-l (lowercase L) for Link. Choose Link to scene and choose the scene where you want the linked object to appear. From that moment on the object's pivot point which is normally yellow will turn blue. This indicates that this is a linked object. From now on the object will be visible, selectable and editable in both (or even more) scenes. All changes to that object (scaling, translation, etc.) will happen in both scenes. There are two exceptions to the rule. You can move the object to a different layer, this only applies to the current scene. And by deleting the object from a scene you will undo the link TO the current scene. Only by deleting it from the last scene which uses this object will you delete the object all together. Linked objects and a set can be used at the same time. Linked objects from a set to the current scene will only show up once in the final rendering. Textures Blender can generate outlines from images so you can see them in your wireframe. This came in very handy when I had to place the cartoon characters in the 3D scene. Select one of the planes in scene 04_06 with an image texture (right mouse click on the wireframe) and press control-d on your keyboard. Blender will generate an outline. If it is an animated texture, pressing control-d will update the texture image for the current frame and regenerate the outline. There are some limitations: 1. outlines are generated by comparing the transparency (alpha) of pixels in the input image. So only 32 bit, or colormap images will work. Blender always sets the alpha of the first color in a colormap to zero, and sets the alpha for the other colors to one. 2. blender will only show ONE outline for each image. So if there is a stray pixel somewhere in the corner of your image it will show an outline of that pixel. 3. it only works for flat image texture. Spherical or tube image texture will also show a flat wireframe. Anti alias If you select one of the cartoon images and press the F6 key on your keyboard you will see a button 'Anti' in the MaterialButtons. Blender can anti alias colormap images on the fly. Don't try this with natural images: it will take a very long time (it may even crash blender) and won't produce anything substantially better. You will have to render an image with 'OSA' on (DisplayButtons or F10 key) to see the full effect of the anti aliasing. OSA stands for Over SAmpling. Secret hint: with "blender -a martin/04.06.Os.anim" you can see the original Anim5 animation that is used as a texture (blender -a is the flipbook option, it works with all images and moviefiles blender can read) Advanced Magic Building the fire took quite some time. It uses four different textures and several different techniques. Go to scene "global", select one of the planes from the fire and go to the MaterialButtons (press F5 on your keyboard). In the upper right corner of the MaterialButtons you see a button labeled 'SepT'. When you push this button you will see the different textures separately (SepT stands for Separate Textures). Don't forget to switch it off before rendering a final animation. You'll see four different buttons left to the 'SepT' button labeled: fire_blend fire_marble fire_clouds I.softedge These four textures together give the fire its color, transparency and movement. People with experience with generating sounds on an old synthesizer will discover some similarities in how blender works with textures. Fire_blend Fire_blend defines the color of the fire. The blend-texture (press F6 to see it, then switch back by pressing F5) is used on two 'channels', color and transparency. Notice the 'Col' and 'Alpha' buttons being activated just below the 'SepT' button. The colors used are the original yellow of the object defined at the left and the red color defined at the right. The black and white value of the blend texture is used to switch between these two. Black: use color defined on the left, white: use color defined on the right, gray: use a weighted average between these two colors. The same goes for the alpha. The blend makes the transparency gradually go from 1.0 ('Alpha' at the left) to 0.0 ('DVar' at the right). 'DVar' is a multifunctional slider. Instead of duplicating all buttons from the left to the right (which would have been more intuitive) 'DVar' defines a single value which will work on specularity, reflectivity, hardness, alpha and emit depending on which channels you activate. If there are multiple textures in a material, blender first applies the values defined at the left to the material and then, from left to right, adds an extra layer of texture. Each layer works on the previously defined values: values defined by the sliders at the left and by each already applied texture. So the order of the textures is of importance as well. Each layer you add will have it's own color, Dvar, channel setting etc. Fire_marble Fire_marble only works on the alpha and it defines the flames. But what makes the flames move ? This scene was build before you could define a curve to displace a texture in time, so another technique was used. The Size, rotation and offset of the texture are defined by another object: fire_imat (notice the 'Object' button being activated and the text fire_imat in the input field just below the fire_marble button). Fire_imat is an empty object, you'll find it just below the fireplace. If it rotates, resizes or moves, it will rotate, resize or move the texture. IMPORTANT: only scaling, rotation and displacement are taken from fire_imat, not the texture itself. So fire_imat is used to rotate the marble to make the flames point upward instead of diagonally and to make the marble move upward in time. If you move through the frames (use arrow buttons on your keyboard) you see that fire_imat moves upward. Fire_clouds Fire_clouds uses the same techniques and adds another layer of transparency on the object. It adds some detail to the flames and makes them more lively because clouds_imat moves upward at a different speed than fire_imat does. I.softedge I.softedge is used to make the material become completely transparent at the edges of the fire, so that the flames don't reach the sides of the fireplace. Notice that the text 'Alpha' in the button is yellow. This reverses the meaning of black and white in the input image. Now black means: use value defined at the right instead of use previously defined value. You can switch between these modes by pressing the 'Alpha' button multiple times. Again: I.softedge uses another object to define scaling and placement. This time softedge_imat is used to make the texture stretch over multiple objects and it scales the texture to make it match with the edges of the fireplace. CREDITS Producer and scriptwriter of Morkramia II was Jonathan Ellis. The 3D models were made with the blender over here at NeoGeo. The 2D drawings of the blacksmith were drawn on paper and colored and edited on an Amiga by, and under supervision of, Martin Melis. If you want to know more about this production please contact: Jonathan Ellis phone: +31 40 296 0210 fax: +31 40 246 6693 email: jpe@euronet.nl For specific 2D or 3D questions please contact: Martin Melis (2D) phone: +31 411 682 871 fax: +31 411 672 729 email: melis@euronet.nl Frank van Beek (3D) phone: +31 40 212 6588 fax: +31 40 212 5776 email: frank@neogeo.nl Frank. | Frank van Beek - NeoGeo Videographics | | Floraplein 6 - 5643 JG Eindhoven | | The Netherlands - e-mail: frank@neogeo.nl | | voice: (+31) 40 2126588 - fax: (+31) 40 2125776 |