From BlenderWiki

Jump to: navigation, search

Welcome to the wonderful yet complex world of Computer animation! Through these pages I will try to show you everything new and old about the new animation system in Blender 2.4.

But before we get started, some basic notions about datablocks. Animation in Blender is based on the fact that you have something moving in a Blender scene. For example a ball bouncing on a floor plane.

Image:OOPS bouncing.jpg

[edit] The Scene Datablock

The Scene datablock is a virtual space where you can create and animate your environment and characters. You can add, delete and switch between scene datablocks with the drop-down menu located in the user preferences. This Datablock is the Root of your work. It's like a hard disk, everything is in there.

So you have a scene datablock, which holds some information about the scene itself, as you can see in the render button window (F10). You populate this scene with various objects, animate various stuff and change various options about the rendering. When something is linked to a scene, it will show up in 3Dview when you load the scene. The other information saved in scene datablock is the NLA strips. Those are the building blocks of an animation. This means you have to create a new scene for every NLA animation you do.

[edit] The Object Datablock

The only goal of an object is to hold the whereabouts of data you want to see in your scene. It's a container. The object also holds the personal option of the object such as "does it have softbody, particle, do we draw his name?". Most of the info on an object can be seen in Object button window (F7).

An object links to all the data you can see in a 3Dview such as Mesh, Curve, Nurbs, Lattices, Armature, Meta, Empty, Text, Camera and Lamps.

So the ball you just added to the scene is in fact a mesh (the "cube" mesh databloc, containing a name, containing a sphere), linked to an object (the Ball object), and linked to the current scene.

Now there are also Datablocks that you cannot see in the 3Dview, like Material, Texture, Ipo, Action and Image. For them you have a special Window in which you can edit them. This is the idea behind the Blender interface, each datablock has a window for you to edit the data.

So back to this bouncing ball: It is also moving! So an IPO datablock is linked to the object (Obipo), telling it where the object will be at each frame of the animation. This IPO is editable in the IPO window when the ball is selected in the 3Dview.

You always work on active (selected) data in Blender.

Looking at the OOPS view (Shift F9 >> View >> Show Oops Shematic), we can get a good idea of the internal data structure.

[edit] The Mesh Datablock

The mesh datablock contains all information about vertices, edges, faces, vertex groups and all other options available in the editbutton window (F9 while a mesh object is selected). Interesting to know is the the possiblility to reuse the same mesh in more than one object. You just need to link all object to the same mesh datablock in the editbutton window (F9 >> links and Materials panel. This way you can reuse the same ball in 5 scenes without creating more data. Editing one ball will edit all other ball, since it's the same data.

[edit] The Armature Datablock

The armature datablock contains all data relative to the armature. Bones, default position of bones (called the rest pose channel). All modification to the armature in posemode will be saved in various IPO datablocks and collected together by an action datablock. (see diagram at the end.)

[edit] The IPO Datablock

The IPO datablock contains a fixed number of channels such as LocX, LocY, RotZ.

When linked to an object it will show all channels that can be animated: position, rotation, scale, time, layer, color and physic.

When linked to an action, the IPO block only represent a single channel of the action. If this action is linked to an armature, each bone will have a channel linked to one IPO block. This IPO block will only contain animation info about a bone, such a location, quaternion rotation and size.

[edit] The Action Datablock

The action Datablock is like a group of IPO's. It is made up of channels, each channel is linked to an IPO block.

If the Action is linked to an armature each bone will get a channel. Blender matches channels based on the bone name. So you can link the action to another armature and use the same animation if the bone names in the armatures are identical.

If the Action is linked to an object, the IPO of the object will get one channel in the action named "Object".

Image:Datablock diag.jpg

So in brief, When you animate with an armature, each bone will get a little IPO datablock. Each IPO will get inserted in an action datablock where each channel's name matches a bone's name. Knowing that, it is possible to go in the header of the IPO window while a bone is selected and create, remove or assign an IPO datablock.







Redirects to fix

  • Manual/PartIX → Manual/Character Animation
  • Manual/PartIX/The Armature Object2 → Attic:Old/Manual/PartIX/The Armature Object2
  • Manual/PartIX/The Non Linear Animation Editor Window (NLA) → Attic:Old/Manual/PartIX/The Non Linear Animation Editor Window (NLA)