8. Characters

7. Animation | | 9. Lights, cameras and variables

In short, a character is an instance of an actor. You could see it as the role the actor has been cast for. The concept of characters is in place to 'shield' actors from direct manipulation. This makes the usage of packages extra useful and allows you to create multiple characters with the same actor.

Adding a character to your animation is very simple. Click the 'characters' branch in the object tree and click the 'New' button.

New character button

A dialog will appear with an overview of all available actors.

Actor selection dialog

The tree in this dialog is the result of the fact actors can be located in different packages. You may select any actor listed to create a new character with, but be aware that when using an actor from a different package you create a dependency on that package. For now let's use the familiar excavator actor in the same package as our animation.

After clicking the 'Ok' button, a character named 'Excavator 1' will be created. Let's inspect its object.

The character object

First there are the main properties: "Name", "Actor", "Rendermode", "move first" and "Init to rest values".

The name defaults to the actor name followed by a number. Of course you can change this but keep in mind it must stay unique within the animation.

The second property indicates the linked actor. You may change this at any time but keep in mind it will affect animations, especially if you change to an actor with different joint names.

"Render mode" determines how this character will be drawn in the animation preview and editing windows. Your options are the same as within the actor editor. You can change this at any time to fine tune rendering speed.

"Move first" might sound familiar. the actor object had a similar property, namely: "Default move first". This property will be copied from the actor equivalent when you create a new character. The meaning is the same. If 'true' the character will be moved into position and rotated afterwards. If it's 'false' the rotation will be done first followed with the move. To grasp this imagine a minifig character. When you set it's Y angle to rotate it will be spinning around it's own center. If you change the position this will remain the same, just on a different location. But when you set "move first" to false changing the position will cause the minifig to 'walk' circles around the scene center. for simple animations it's best left to 'true' for more expected results.

Finally the "Init to rest values" property lets you decide if you want this character (and it's joints) to auto initialize while manipulating the animation elements in the sequence editor. More on this in the sequences chapter.

Next in the property editor you'll find the groups 'visible' and 'recursive hide'. Both are binary elements that let you control the visibility of the character during your animation. By default all characters in an animation will be visible at the same time, but in practice you might like to hide some of your characters by means of scene usage or for 'special effect' purposes.

The obvious property is 'visible', it off course controls if a character is visible or not. But 'Recursive hide' needs some additional explaining. While animating a character you might want to just hide parts of it. This is where the 'Hide recursively' property comes into play. Both the 'visible' and 'recursive hide' properties will use initial values copied from the actor when you create the character.

Last but certainly not least the property editor gives you access to the 'angle' and 'movement' groups, each in their turn housing X, Y and Z groups. Each of these X, Y, and Z groups are analog animation elements. The angle group represents the orientation of your character in the animation world, while the 'movement' group controls its location. Both are relative to the actor's chosen center point. All the sub properties should be familiar from the actor editor, so no need to explain them again. The only 'new' one is 'value'. This is the element's current value and you will be manipulating it all the time, so don't worry about it at object level.

All eight discussed animation elements (2 visibility control, 3 angle and 3 positional) have an 'enabled' property. Like I said before this controls global filtering. Also when 'disabled' all value manipulation for the element will be ignored during animation.

Character joints

Each character has all the actor's joints listed as kids of it's 'joints' object. To see/inspect them expand the 'character' branch (Indicated by the name of the character) and then it's 'joints' branch.

Contrary to the actor all the joints are listed in a single list below the joints object. This is because interconnections are not of interest at the character level. Good naming should give you enough information of which is which.

Many of the properties for an character joint are read only. The only editable ones are "Move first" and the animation element groups.

"Move first", like with the character object, controls the behavior of the joint manipulations. This property is only of interest if you have a joint that has both angle and move elements enabled. By default it's true (copied from the actor joint "Default move first" property), in this state the move will be done before the angles. With false it's the reverse. This property is very handy when creating advanced illusions, like rotating chains. See the 'chain' sample for an example of it's usage. For 'normal' animations you won't be dealing with this property and can leave it at it's default of true.

A character joint also has visible and recursive visible properties. These control the visibility of the joint and/or its attached children.

Next in the property list you'll find angle and movement controls. By default only the enabled animation elements properties will be expanded. For each of the six angle/movement elements you can only change the value property. All others are 'inherited' from the actor. Should you edit the actor it will also influence all it's characters, so be careful while adjusting existing actors.

7. Animation | | 9. Lights, cameras and variables
Best viewed with Firefox 2, Seamonkey or IE 7 at 1024x768 or higher resolution.
LEGO is a registered trademark of the LEGO Group, which does not sponsor, endorse, or authorize this website.