ABSTRACT

Animation has been saved for last The ba sics of animating objects are easy to explain and understand through practical examples Making a good animation is a different story though because experience plays an even more important role with this subject than with the others

Do not be scared by that Animations are some of the most exciting things that can be done with D programs

Before taking a look at the animation tools let us talk about the most important animation terms

Each animation is made up of a series of single images The number of images used within a second determines how smooth the movements will be later on

Therefore there are several standard set tings for the most common output media Animations for television are shown at a rate of images per second in the NTSC system and images per second in the PAL system Bigscreen movies usually use im ages per second

Newer media such as the Internet with its multiple data types are not standardized There the frame rates are mostly set to be tween and images per second in order to achieve an optimized data rate

Reformatting a completely rendered ani mation is possible but can cause jerky move ments when played back The quality is even worse when the animation is converted from a

low frame rate to a higher one

In any case it is recommended to set the desired frame rate in the E

P

S

menu in CINEMA D before creating the animation

To make it unnecessary to set up and animate every single image like in a traditional animation CINEMA D works with socalled

keyframes

These can be imagined as small data packages that at a certain time in the an imation save the brightness of a light source or the position of a cube in the scene

When multiple stages of parameters or ob jects are saved as keyframes an interpolation can be created within the time between two keyframes

The values of the keyframes will be approx imated to each other and an animation of the keyframe values will be created

Similar to a spline curve interpolation of the values can be displayed and controlled by tangents That way for example the move ment path of an object can be controlled indi vidually between keyframes

There are many specialized managers available for working with interpolation and keyframes but many animations can be created in the standard layout of CINEMA D with the so called

Powerslider

This is the small string of numbers under

the viewports which can be seen in Figure Let me talk about the most important ele ments in Figure

As mentioned previously the frame rate should be set in the P

S

before starting an animation This dialog is also shown in Figure

In addition to the frame rate M

and M

values define the time frame of the animation or how long the animation will be

The length does not have to be set right away as these values can be changed again later

The preset values of and in combina tion with a frame rate of mean that the ani mation will be only seconds long Thus most of the time the value of the maximum frame number will be increased drastically in order to get more space for setting the keyframes

The area to be rendered can be set separately in R

S

so that only a portion of the images could be rendered as an animation

The length of time available for animating cannot only be set in the P

S

but also with two values as marked with the let ters D and F in Figure

The area in between (letter E) can be scaled within the preset of the minimum and maxi mum frame numbers by moving the left and right arrows with the mouse

The preview area defines the frame num bers which will be shown in detail in the area at letter B

The point in time where you are currently is indicated by the green time slider at letter A and as a frame number at letter C in Figure

The time slider can be moved directly with the mouse or positioned exactly by entering a value When the Alt key is held while moving the time slider the editor viewports are not updated

The animated objects will not move even though the time slider is moved within the an imation

When an object is selected its set key frames for position rotation and scaling can be seen at the rectangular markings in the Powerslider Such a keyframe marking can be seen at number in Figure

In order to move a keyframe it is enough to just hold the mouse button while over it

Multiple keyframes first have to be se lected when they are to be moved or changed in any way Therefore hold down the mouse button in the lower part of the Powerslider

time bar and move the mouse to the upper right or left A selection frame will be created as shown at number in Figure

Keyframes within the selection will now be displayed in orange (see number in Fig ure )

These selected keyframes can now be de leted with the delete key of the keyboard or with the common C

C

and P

com mands These commands can be used with a right click on the powerslider

The selected area including keyframes can be moved by clicking and holding the mouse button in it

Pulling the slightly lower end pieces of the selection area scales the distances between the enclosed keyframes and therefore speeds up or slows down the animation between these keyframes

The included keyframes will stay in posi tion when the Shift key is held while moving the whole selection This way the selection can be moved to another place in the time bar

When the Shift key is used to move the end of the selection area or the time slider they jump to the position of the next key frame The Shift key may be used only after the end of the selection or after the time slider starts to move

There are different methods of creating ani mations with keyframes When the goal is moving rotating or scaling of an object then use the icon buttons marked with the letter I in Figure

The first three icons should look familiar From left to right they represent recording of movement rotation and scaling values of the selected object

When the actual position of an object should be saved as a keyframe activate the

position icon at the letter I and then click on the red icon at the letter H This creates for the active object a new position keyframe at the current location of the time slider

It is more flexible to create the chosen keyframe type directly by clicking Ctrl in the time bar of the powerslider That way new keyframes can be created independent of the position of the time slider The interpolated value of the neighboring keyframe when other keyframes are available will automati cally be assigned to the new keyframe

The animation will not change but through the tangent interpolation of the new keyframe we have more control over the in terpolation at this point in the animation An example will clarify this in a moment

Multiple keyframe types can be created at the same time Just select all icons in the group at the letter I for which a keyframe is to be created

In addition to the often used icons for posi tion rotation and scaling it is also possible to record parameter keyframes or PLA keyframes

The recording of parameters by means of the P icon is rarely used It is easier to do this in the A

M

We will learn more about this later

The PLA icon shows a group of points The abbreviation PLA actually stands for Point Level Animation and is therefore used to save point coordinates of an object That way the shape of an object can be animated by mov ing its points However the size of the scene would increase considerably because each keyframe contains all point coordinates of the object

We will learn about a better way to morph objects later

Finally the loudspeaker icon plays loaded sound tracks and has nothing to do with the creation of keyframes This function is quite useful though if a movement has to be syn chronized with a sound or music

We already learned how to navigate within the animation by moving the time slider There is another function shown at the letter G in Figure

These icons not only look like buttons on a VCR or DVD player but also work the same way From left to right these icons stand for moving the time slider to the first frame go ing back one frame and playing the animation in reverse

The functions of the next three icons are the same but work in the other direction These are playing forward going forward one frame and moving the time slider to the last frame of the animation

Depending on the complexity of the calcu lations for the animation it can be that the an imation cannot be shown at the same speed as it will be after the final rendering when it is played in QuickTime or Media Player

Thus a separate frame rate can be set for playing animations in the editor

Use the bottom icon on the far right in the powerslider This opens a list of options as seen in Figure

The options A

F

and P

are ac tive by default These options make CINEMA D take over the frame rate of the P

S

as long as the video card can display the data fast enough in the editor viewports

When the animation cannot be shown in the set frame rate because of complexity then the A

F

option will go into effect and force CINEMA D to show all images of the animation one after the other even if the frame rate decreases

With A

F

deactivated CINEMA D will skip some frames if necessary to keep the original timing of the animation

In order to determine another frame rate deactivate the P

option and choose a frame rate from the list below

The upper part of this list of presets has the settings for the interpolation between key frames When D

I

is ac

tive then smooth transitions between the val ues saved in the keyframes are calculated This would not be as useful when a mechanical ani mation is to be created

In these cases the interpolation can be set individually Choose C

P

… in the list The appearing E

P

dialog is also shown in Figure

Almost all options there can be set sepa rately for every keyframe

Let us start with the O

option When it is active an existing tangent at an interpola tion curve will be kept even if the keyframe is overwritten

The I

menu set the kind of in terpolation between the keyframes S

can be compared with the tangents of a bezier spline In this mode the value change between the keyframes can be individually set

Not always is such control necessary In these cases the L

interpolation can be helpful The transition between the values of the keyframes is then linear

The interpolation S

keeps the value of the keyframe constant up to the following keyframe and then changes the animated pa rameter instantly when reaching the next keyframe

The options L

V

and L

T

can be used to avoid future errors when editing the animation They lock the point in time of a key frame in the powerslider or prevent a change of the value saved in the keyframe

The M

option deactivates completely the interpolation following a keyframe This function only makes sense in the individual setting of a keyframe which we will learn about later

When I

S

is used the op tion A

T

sets automatic tangents to create a smooth transition between the ani mated values

The deactivated A

T

option al lows individual scaling and adjusting of the tangents

The C

option makes sure that no smoothed interpolation is calculated between two keyframes with identical saved values This avoids the socalled overshooting of val ues The interpolation between keyframes is therefore always linear

L

T

A

and L

T

L

lock the direction and length of tan gents in order to protect them from accidental manipulation

The option Z

A

aligns all tangents horizontally Z

L

also causes a linear course of the interpolation curves between keyframes at the spline interpolation B

T

allows a separate scaling and direc tion of each arm of the tangents

In order to use the settings created in the E

I

dialog for new keyframes C

I

must be selected or else the D

I

will be used again This is it for the directly visible elements and

options We will now create a small animation as an exercise in the practical use of the power slider and keyframes For that reason we will model a soccer ball and bring it to life

Start with a new scene and create a basic P

object which is located in the same group as the cube and the sphere

Set the T

of the object to B

in the A

M

(see Figure ) The surface of the P

object is built out of pentagonal and hexagonal faces and al ready resembles the basic shape of a soccer ball

As a preparation for the next steps the pentagonal and hexagonal faces need to be converted into N

Therefore select the two polygons of a panel of the converted ball and use the U key followed by the Z key Alter

natively the M

command in the F

menu can be used instead Figure shows this step in the example of a panel

When all panels are converted to N

use the E

command Be sure that no faces are selected and extrude them by two units The P

G

option should be deactivated This step can be seen in Figure

Then we subdivide the ball one time For this step use the S

command in the F

menu Here too make sure that no faces of the ball are selected so that all poly gons are subdivided

The result can be seen on the bottom of Figure Because of the N

there is now a point in the center of each patch

Select all of these center points and expand the selection by using the G

S

command in the S

menu These points will later be moved in the direction of the sphere radius to shape a perfect ball

In order to automate this task we will give weight to the selected points with the S

V

W

of the S

menu to The points will then turn yellow as shown in Figure

At the same time a V

M

tag ap pears behind the ball object where the weight ing of the points is saved

Luckily there is a deformer object that can expand sphereshaped objects Add the appro priately named SPHERIFY deformer to the scene and subordinate it under the ball

The radius of the SPHERIFY object should be the same as the radius of the original PLATONIC object Enter for the radius and set the STRENGTH to The deformer still influ ences all the points of the ball and pushes the seams outward as well

This is the why we created the vertex map It can be connected with the deformer by means of the RESTRICTION tag

Apply a RESTRICTION tag in the TAGSCIN EMA D TAGS menu in the OBJECT MANAGER to the SPHERIFY object and pull the VERTEX MAP tag into the uppermost NAME field (see Figure )

From now on depending on their weight ing strength only the weighted points will be influenced by the deformer

Apply a PHONG tag which can also be found at TAGSCINEMA D TAGS to the PLATONIC ob ject so that the surface is softly shaded The ANGEL LIMIT option in the PHONG tag should be activated as well

When the ball is subordinated under a HY PERNURB object it could look like Figure This is already quite good but the seams are very wide because of the extra smoothing

To correct this we will use weighted edges At first glance it appears to be difficult to se lect the right edges and not miss one How ever the RING SELECTION makes it easy for us

With the RING SELECTION large areas of panel edges can be selected as we can see on top of Figure and thus the whole ball se lection is done quickly

Only at first sight are all the edges of the ball selected When we invert the selection with the SELECTIONINVERT command then the selected edges of the panels are visible when we look closely at the corners of the panels

These edges are weighted in the HYPER NURBS object by holding the Period key and moving the mouse to the left or right As a re

sult these edges attract the HYPERNURBS sur face more

The lowest image in Figure shows a possible result The pentagonshaped panels can now be saved as a POLYGON SELECTION and have a black material applied to them (see Fig ure )

Now the ball is done and we can start with the animation

Let us first try to get the ball bouncing up and down Add a flat cube which will represent the floor and put it under the ball

Place the cube so its uppermost face is ex actly at the XZ plane of the world coordinate system

The ball can then be moved to the height Y in order to be positioned exactly on the floor (see Figure ) There might be small deviations since the HYPERNURBS object be cause of the smoothing may have shrunken the ball We will ignore that for now

The bounce of the ball should start at a cer tain height above the floor Therefore pull the

ball to the Y position of and make sure that you are at frame of the animation

The green time slider in the POWERSLIDER has to be at frame Then activate the key frame icon for the recording of movements and click on the record button in the POWER SLIDER This is shown in the upper half of Fig ure

Now move the time slider to frame The next keyframe should be created here

Move the ball to a height of by enter ing this value directly into the COORDINATE MANAGER and use the keyframe record button again

Congratulations on your first animation! To view it move the time slider manually be tween the blue keyframes back and forth or let the animation play automatically by clicking on the play button in the POWERSLIDER

The blue line in the editor probably caught your attention It indicates the interpolated animation curve between the keyframes

On this blue curve there are dark blue bumps These represent the keyframes the positions of the animation set by us

These bumps can be clicked on directly in the editor and their data can then be seen in the ATTRIBUTE MANAGER (see Figure )

Because a keyframe saves multiple values such as the X Y and Z aspects of a position the ATTRIBUTE MANAGER cannot show all the saved values at the same time

In Figure we can see this in the field for KEY VALUE It only shows the information Multiple Values because this field is not made for the display of vectors

When the time slider is moved to the posi tion of the keyframe the COORDINATE MANAGER can then be used to read the saved values

In addition to the time position of the se lected keyframes and the saved value the AT TRIBUTE MANAGER shows additional options that mainly concern the interpolation of the animation which follows the keyframe

Most of these options were already men tioned when I covered the CUSTOM PREFER ENCES and its EDIT dialog The only new aspects are the settings for LEFT TIME and RIGHT TIME and LEFT VALUE and RIGHT VALUE which are used to control the two tangent arms of the interpolation curve numerically

The TIME values control the length of the tangent arms whereas VALUE specifies the an gle of the tangent These values are only ac cessible when AUTO TANGENT is turned off and no restrictive values are activated such as ZERO ANGLE or ZERO LENGTH

Because we want to continue to finetune our ball animation select the keyframe in frame This can be done by making a selec tion in the powerslider or by clicking on the lower keyframe point at the interpolation curve in the editor

For this keyframe activate the ZERO LENGTH option This will remove the tangent from the keyframe The ball will now speed up while falling and will stop abruptly This is more like the behavior of an object that hits an obstruction

We will duplicate the keyframe in frame so that the ball can bounce up again This works like the duplication of objects in the OB JECT MANAGER by holding the Ctrl key

Click on the keyframe in frame of the POWERSLIDER and simultaneously hold the Ctrl key and the mouse button while moving the keyframe to frame

After the release of the mouse button we have created a complete animation cycle The ball falls down bounces back and returns to its ini tial height

Maybe you realize now that the animation is set right but the timing could be improved Our next job is to get the animation to play at twice the speed

First all keyframes have to be selected Be cause the first keyframe is in frame it might be difficult to select it in the POWERSLIDER

Just widen the available time frame into the negative area as shown in Figure and move the slider for the preview area to the left stop Frame will now be at a safe distance from the left edge of the POWERSLIDER and the keyframes can be easily selected with a selec tion frame in the POWERSLIDER

When the Shift key is held while the han dlers at the edge of the selection are moved they snap exactly to the outer keyframes The result is shown in the upper half of Figure

Now click on the right handler of the selec tion and move it to the left until you reach frame

The keyframes included in the selection will be set automatically and keep their rela tive position to each other

Because this does not change the values saved in the keyframes the animation is now

shortened to half its length and therefore runs twice as fast The result is shown in the lower half of Figure

I actually liked the original speed of a frame cycle at a frame rate of images per second Thus I scaled the three keyframes again to the area between frames and

What could be improved is the behavior of the ball at its uppermost position I prefer that it reach this point slowly and also that it hangs there for a longer time This will mean that the tangents of this keyframe need to be ex tended

First select the keyframe in frame and change the tangents to – and Repeat this for the keyframe in frame

I also activated the option ZERO ANGLE for this keyframe as shown in Figure This will automatically create a horizontal path of the tangents and lock the VALUE fields pre venting accidental value entries

The ball now stays longer in the upper por tion of the movement falls more dynamically in the lower part and accelerates This re quires a bit of imagination as the curves and tangents are not visible in the POWERSLIDER We will learn about a new window in a mo ment that allows us to see them

First let us extend the animation so that the ball bounces multiple times Create a selec tion of the last two keyframes These repre sent the lower and upper positions of the movement

Hold the Ctrl key while the selection is moved and therefore duplicated with the mouse to the right in the POWERSLIDER

Move the keyframe copies until they are on frames and The animation is now ex tended by one cycle (see Figure )

Repeat this procedure until the end of the POWERSLIDER time bar is reached or until the ball bounces up and down a few times

Similar to the animation of the position of the ball almost all parameters in CINEMA D can be animated as well I would like to demon strate this with a light source (see Figure )

We will create a small lighting setup with a domeshaped area light a radial emitting main light and a spotlight placed above the ball that shines vertically down on the floor

In order to avoid brightening the floor too much we will give the floor an almost black color and a slight reflection as shown in Fig ure

With this setup I would like to create a bright spotlight on the floor whenever the ball hits it During the upward movement of the ball the spot light should expand to the whole floor and lose brightness at the same time

This light effect should be accomplished easily by animating the brightness and the opening angle of the spotlight

Take a look in the ATTRIBUTE MANAGER when the spotlight is selected Notice the small cir cles in front of the parameters A Ctrl click on these circles creates a keyframe for the current point in time for the value and colors the circle red With another Ctrl click on the red circle the keyframe will be deleted again

There are cases where there is a red circle in front of a parameter that is not entered yet It means that the parameter is animated by keyframes but at this point in time no keyframe exists

A Shift/Ctrl click on the circle of an ani mated parameter removes the complete ani mation with all keyframes from this value

You surely see the scope of this action be cause these circles are placed at almost every object material or shader and at many set tings in dialogs

We will now create two different key frames for the spotlight as shown in Figure The keyframe indicated with the letter A gets an INTENSITY of for the light and an OUTER ANGLE of ˚

This keyframe will be created in frame of the animation exactly one frame before the ball touches the floor

In frame increase the INTENSITY to and lower the OUTER ANGLE to ˚ Create keyframes again for both values The spot light then generates a small intense circle of light on the floor

The high intensity of the light is necessary because the dark material of the floor absorbs a lot of light

The brightness should now be lowered step by step to and the OUTER ANGLE should be increased to ˚ This corresponds with our keyframe values in frame

Click on this keyframe hold down the Ctrl key and pull the keyframe with the mouse in the powerslider to frame This is the point in time where the ball reaches its highest point

Because these values will not be changed until the ball hits the floor again we can copy this keyframe and move the copy to frame one frame before the ball hits the floor This results in the order of keyframes shown in Fig ure

To avoid an overshooting of the values be cause of the automatic smoothing of the curve we have to select all keyframes with a selection frame in the powerslider and change their INTERPOLATION in the ATTRIBUTE MANAGER to LINEAR

An alternative would be to activate the CLAMP option which automatically prevents the overshooting of the curves of two consec utive keyframes

Of course we could create and move addi tional copies of this keyframe sequence to get a continuous animation of the spotlight How ever there are more elegant tools at our dis posal that cannot be reached in the POWER SLIDER We would have to work in the socalled TIMELINE which can be opened in the WINDOWS menu of CINEMA D or is directly integrated in the ANIMATION layout of CINEMA D

Before we direct our attention to the ele ments of the TIMELINE we will take a look at the SCENE settings of the spotlight which are shown in Figure The spotlight should be limited to the floor cube only This way the ball does not get any additional light and the light will not be covered by the ball

Also check the brightness and angles of the spot light saved in the keyframes of your scene You might need to use different values depending on if your spot is placed closer to or further away from the floor

The TIMELINE works like a hybrid of the OBJECT MANAGER and POWERSLIDER

On the left side are the familiar listings of all objects and tags Figure marks this col umn with the letter A

At the letter B there is a separate column with up to three symbols for each animated object From left to right the first circle shows the color of the layer in which the object or tag is grouped

The second icon looks similar to a filmstrip and shows if an animation should be calcu lated for this object

With a click on this symbol single objects can be made temporarily motionless in order to save render time or to concentrate more on the movement of other objects

The third symbol activates the solo mode When animated objects are marked with the solo symbol only these are shown animated in the editor and all other animations are dis abled In a sense this is an inversion of the function of the filmstrip symbol

On the right side of the TIMELINE is the time bar with the time slider Also the keyframes of the animated objects or parameters can be seen there as rectangles

The area marked with the letter C in Figure shows by way of its lighter color that an animation is happening between the key frames

It is necessary to understand that the graphical display of an animation is shown multiple times in the TIMELINE This allows us to move the keyframes even if the hierarchy of the objects is not unfolded on the left side This can be seen at the HYPERNURBS object in Figure which has the PLATONIC object of our ball subordinated under it

Even though the HYPERNURBS object itself does not have any keyframes the keyframes of the subordinated ball appear behind the HY PERNURBS object

What kinds of keyframes and values are ani mated can only be seen by unfolding the whole hierarchy Then we see that there is a position folder under the PLATONIC object with the X Y and Z coordinates of the ball animation

The track hierarchy of the animation of the position can be unfolded too It then reveals the interpolation curves between the key frames These curves are shown in Figure and are marked with the letter D

The linear curves of the INTENSITY and OUTER ANGLE parameters next to the spotlight source can be seen clearly as can the curves of the position animation of the ball in the upper area

The tangents of the curves can be clearly seen and changed with the mouse as long as the keyframe of the POSITIONY track is se lected by a frame selection or by clicking on it

The selection deletion or copying of key frames works just like in the POWERSLIDER

Therefore select the four keyframe rectangles of the INTENSITY and OUTER ANGLE tracks with a frame selection Simply hold down the mouse button and pull a frame around the keyframes

In order to not have to copy and move the keyframes multiple times use the CYCLE com mand in the KEYS menu of the TIMELINE A small dialog then asks how many copies are to be created Enter a number according to the length of your ball animation

In addition activate the OFFSET option in the dialog so that an automatic transition be

tween the original sequence and the copies is created

The dialog and the result of the action can be seen in the lower part of Figure The animation was added multiple times and therefore lengthened

Let us take a look at the curves for the X and Z portions of the position of the ball We can see

that there are no changes because the ball only bounces up and down

Because every keyframe and interpolation create more render time we should make sure that unnecessary tracks are deleted

Select the POSITIONX track by clicking on its name and delete it with the Delete key of your keyboard Then do the same with the POSI TIONZ track (see Figure )

The animation did not change but the clar ity of the TIMELINE was improved greatly

Take note of the icons in the upper right corner of the TIMELINE Some like the icons for zooming and moving are already familiar from the editor viewports

They work using the same principle as the TIMELINE and are restricted to the right part with the tracks curves and keyframes

We have seen other symbols in the AT TRIBUTE MANAGER such as the window icon to open a new manager Also familiar are the icons in the CONTENT BROWSER for showing a search field to jump to the uppermost hierar chy level or the eye icon for defining the visi bility in the managers

Completely new is the first icon It can make keyframes and tracks temporarily invisi ble instead showing an enlarged version of the curves of selected elements This makes working with tangents much more comfort able and easier as shown in Figure

Furthermore we can select several ele ments with Ctrl clicks and show their curves in a window This makes it easier to synchronize the socalled F CURVES which is another name for interpolation curves

An extra listing was added on the left that uses the eye icon as shown in Figure With the familiar eye symbols we can control the visibility of an element type in the TIME LINE or prevent the search function from find ing certain elements This works the same as in the OBJECT MANAGER and clarifies the TIMELINE

In Figure for example all tags were made invisible that did not contain any key frames Alternatively we can use the TIMELINE in another mode

By default the TIMELINE works in AUTO MATIC MODE and lists all elements regardless of whether they are animated or not

In the VIEW menu of the TIMELINE we could also add the SHOW ANIMATED option which then lists only the animated elements

When the AUTOMATIC MODE is deactivated in the VIEW menu of the TIMELINE then the ob jects to be shown in the TIMELINE have to be pulled in from the OBJECT MANAGER It is then

up to you which elements should be shown in the TIMELINE

The element can be removed from the TIMELINE again by right clicking on it and se lecting REMOVE SELECTED OBJECTS

Now is the time to render and save the anima tion (see Figure )

Basically the only necessary change to the settings in RENDER SETTINGS is the FRAME and FRAME RATE setting in the OUTPUT page of the dialog

The FRAME values determine the first and last image of the animation The FRAME RATE can be different but should correspond with

the value used in the PROJECT SETTINGS for the frame rate of the animation

As described previously the animation can be rendered as a series of single images This is the most common procedure in order to be able to continue the editing in a compositing or video effect program using the highest quality material

However we want to render a movie that can be played instantly Therefore we should choose a compressed film format in the SAVE page of the RENDER SETTINGS I selected the QuickTime format which has more options available behind the OPTIONS button There for example the full screen frame rate can be determined or the codec for the compression

The rendering of the animation can then be started as usual with the RENDER TO PICTURE VIEWER command There you can watch how one image after the other is rendered Figure shows parts from the finished animation

With moving objects our eyes work differ ently than with static scenes The faster an object moves the blurrier it appears to us The reason is the sluggishness of the light re ceptors in the eye

Modern cameras also recognize this phe nomenon especially when there is not enough light The recording is shaky and blurry be cause the shutter has to be open longer to re ceive enough light

During this time when the shutter is open a fastmoving object changes its position and as a result the image appears blurry

Because cameras and our eyes experience this effect we should take this into account when rendering fastmoving objects in order to be more realistic

Various methods use different render times

The result with the highest quality and the longest render time is accomplished with the SCENE MOTION BLUR effect This effect

can be activated in the EFFECTS page in the RENDER SETTINGS

The most important setting is the SAMPLES value It determines how many single images will be calculated to render one image of the animation With this effect images are cal culated between normal images and are in corporated into the result That way a nice realistic effect can be achieved with high SAMPLES values

However because the SCENE MOTION BLUR increases the render time immensely there are alternatives to this method

There is the OBJECT MOTION BLUR This ef fect has the advantage that it can be restricted to single objects Therefore the whole image does not have to be calculated multiple times

Also this post effect analyzes former ob ject positions and calculates a blurry effect from the current and last positions This has some disadvantages such as rotating move ments that cannot be captured realistically The effect is also not visible in reflections or behind transparencies This can only be done with the SCENE MOTION BLUR This kind of mo tion blur is calculated very quickly

The third kind of motion blur is more pre cise The VECTOR MOTION BLUR analyzes move ments and rotations and can calculate a some what realistic effect in a short amount of time

Just like the OBJECT MOTION BLUR this ef fect can be assigned to single objects with a MOTION BLUR tag The weighting of the blur is set with the SHUTTER ANGLE value which indi rectly controls the exposure time of every im age It does not control the brightness but rather the distance over time between two im ages which should be included into the result

A SHUTTER ANGLE of ˚ takes the whole movement of an object between two images into account We want to use this effect for our animation and decide on the VECTOR MO TION BLUR with a SHUTTER ANGLE of ˚

The ball also has to have a CINEMA D TAGS MOTION BLUR tag as shown in Figure so the effect will be calculated The image

on the bottom of Figure shows the effect in one image of the animation

Another powerful tool in CINEMA D is the XPresso gateway This is a kind of graphical programming language where mathematical calculations or connections between objects and parameters can be put together like in a toy construction kit

For people who are more interested in pro gramming there is also a script editor to create macros small programs and functions and a COFFEE port

COFFEE is in addition to being the C port for plugins the programming language of CINEMA D

Since I know from many training courses and discussions that only a fraction of graphics designers are interested in programming I will talk only briefly about this subject

CINEMA D makes it easy to create our own expressions and XPresso setups as we will find out in a moment

At the point when you want to work with the Thinking Particles module it is necessary to learn how to work with the XPresso system The particle systems are controlled exclusively by XPresso

As an example of the use of XPresso I would like to let the ball bounce within a helix that will then be deformed by it

Open a HELIX spline a CIRCLE spline and a SWEEP NURBS object

Scale the radii of the helix so that the ball does not have enough room inside it and cre ate a massive spiral spring by subordinating the splines under the SWEEP NURBS object

Move in the POWERSLIDER to the point in time where the ball is completely positioned inside the HELIX and then subordinate a BULGE deformer under the helix Increase its effect until the helix is widened enough to place the ball within

Figure shows the setup of the scene and the desired deformation of the helix by the BULGE object

In order to make this effect believable the BULGE object always needs to be at the same height as the ball The simplest possibility would be to copy the POSITIONY track of the ball to the BULGE object However this could cause two problems

You should know that all keyframe values for the position rotation and size are always saved in the local coordinate system This could cause problems when we exchange ani mated objects within hierarchies: the position of the superior object is changed within the threedimensional space and the animated ob ject jumps to another place

Because the BULGE object and the ball are sorted into separate hierarchies this means that the copying of keyframes from one object

to the other does not necessarily result in the same position

Also when changes are made on the tan gents or values of one object then the other object has to be changed as well to synchro nize the animation again

In these cases it is better to transfer the an imated values of one object to the other with an expression Then we only have to deal with the keyframes and the BULGE object will take over the animation of the ball

CINEMA D makes such connections very easy because they can be directly accessed through menus

Choose a parameter in the ATTRIBUTE MAN AGER that should be transferred to another ob ject In our case because only the POSITIONY

of the ball is of interest click one time on the Y ending in COORDINATE of the properties of the PLATONIC object

After a right click on the Y ending choose the entry ANIMATIONSET DRIVER in the con text menu

In a second step it has to be determined which parameter this value should be assigned to Basically this would be every parameter that can handle floating point numbers

You can for example use the X position of an object to control the radius value of a CIR CLE spline or use the rotation vector of an ob ject as a color vector in a material

Thus we again choose the Y ending of the BULGE object position in the ATTRIBUTE MAN AGER and select in the context menu ANIMA TION SET DRIVEN (ABSOLUTE)

This simple action is also shown in Figure and has automatically created an XPresso expression behind the BULGE object

This expression ensures that the height of the ball is always transferred to the BULGE ob ject As a result we do not have to worry about this part of the animation anymore This is also the case when changes are made to the anima tion of the ball later on

When you are curious to know how the ex pression works simply double click on the XPRESSO tag behind the BULGE object Then the XPRESSO EDITOR with the automatically cre ated expression opens (see Figure )

As promised I will not bother you too much with this subject of programming Therefore here is a short explanation on how the XPRESSO EDITOR works

Basically these expressions can be built very easily by us We only need the XPRESSO tag which can be assigned to any object This tag can be found in TAGSCINEMA D TAGS in the OBJECT MANAGER

With a double click on the tag the familiar XPresso editor opens The expressions are cre ated within this editor

The elements of these expressions are called Nodes and are all built similarly Next to the headline with the name is a red and blue field

One click on the blue field opens a list with the existing entries of the node The red field stands for the outputs Use the blue input field

when a value needs to be assigned to an ob ject For reading the values use the red side of the node

For every selected input and output in the lists a colored circle is created on the corre sponding side of the nodes These are the so called Ports

The ports of the different nodes can be con nected directly with the mouse Just pull a line between the ports while holding the mouse button This connection line then transfers the value from an output port to an input port

One click on the line or a double click on the ports deletes the line again

CINEMA D will if necessary make a for mat change of the values between the nodes Consequently the result of a mathematical cal culation can be transferred to a text entry of a text spline Normally though value conver sions should be avoided

Note that an output port can be connected to several input ports An input port can re

ceive data from only one output port It is also not allowed to connect an input and output port at the same node

Object nodes are created by pulling the ob ject from the OBJECT MANAGER into the open XPRESSO EDITOR

All other nodes needed for mathematical calculations can be found in the context menu This menu opens with a right click in the XPRESSO EDITOR

Probably the most often used node is the RANGE MAPPER node which was automatically created in our expression (see Figure )

This node works like the mathematical rule of proportion which means that value ranges can be converted For example the movement of an object between the Y coordinates and can be converted into an angle between ˚ and ˚

Simply use the INPUT and OUTPUT values of the RANGE MAPPER in the ATTRIBUTE MANAGER to define the two value ranges There is even a spline curve available to make a nonlinear con version

To use our example of the position values and angles it would mean that the values of and have to be entered into INPUT LOWER and INPUT UPPER OUTPUT LOWER then should be and OUTPUT UPPER should be

These weird values are generated by de fault because all angles are shown as radian in the expressions

For conversions of the degree angle they have to be multiplied with Pi and divided by This results in ˚ × / radian

We have connected the local Y positions of the objects with the set driver/set driven action However the global values are not shown within the ATTRIBUTE MANAGER

In our case the expression works anyway as the coordinate systems for the ball (the HY PERNURBS object) and the BULGE deformer (the SWEEP NURBS object) happen to be at the

same position in the threedimensional space and also have the same direction

To be sure the global position should be transferred here This will make the participat ing objects independent from their place in the hierarchy

Thus delete the RANGE MAPPER node with a click on its headline and use of the Delete key Then delete the two ports at the remaining nodes with one double click on each

At the output side of the ball node select the port for the global position Do the same with the input port of the BULGE node

Finally connect the two new ports with the mouse to activate the expression (see Figure )

The priority in which the calculations will run is another thing to watch for when working with expressions

It is important that current data always be available and not data from the previous im

age of the animation This is especially signifi cant when current data from animated objects are read and transferred to other objects or pa rameters

When current data is to be used in the ex pression then the expression may be executed after rendering the animation

The chronology of calculations is con trolled with the PRIORITY menu of the XPRESS tag in the ATTRIBUTE MANAGER (see Figure )

The lower the selected priority is placed in the menu listing the later the expression is calculated At the very least EXPRESSION would have to be selected as priority for the calcula tion right after reading the keyframes

In order to show better the deformation of the SWEEP NURBS spiral we will assign a red slightly glowing material to it

To add to the illusion that the spiral emits light we need to create a new helix with set tings identical to the existing one The only difference is the radius of the helix It should be big enough on top and bottom so that the ball has enough space inside the spiral without causing any deformations

This helix spline will now be used to illumi nate the ball Therefore open the dialog of the domeshaped area light in our scene and change the AREA SHAPE entry on the DETAILS page to OBJECT/SPLINE Now pull the new helix into the OBJECT field below (see Figure )

In addition set the mode in the SCENE part of the dialog to INCLUDE and pull the HYPER NURBS object with the subordinated ball into its field

Change the color of the light to an intense red so that it matches the color of the de formed helix The brightness of this light source then has to be checked with test ren derings

Figure shows two single images from the finished animation This concludes this example

You have learned to set keyframes for movement and parameters to work with F curves and to use parameter connections with XPresso Now you have a solid basis for your own animation projects

A large number of changes were made in the MOCCA module in the actual version of CINEMA D For this reason I would like to in troduce this module in detail with an example

The MOCCA module only deals with the subject animation It offers specialized tools and objects for the movement of complex hi erarchies and object structures used for the animation of figures

Because we want to animate a figure in this workshop it would be a good time to work through the bonus chapter on the DVD There you create along with other things

the comic character that we will now prepare for an animation

The MOCCA module offers a large number of new tools and tags which make working with inverse kinematics and morphing much easier

With the example of the karate master which we model in the bonus chapter I would like to demonstrate the process of rigging the character

Rigging is the creation of a bone and joint hierarchy applying weightings and determin ing constraints

You will see that we have a series of new terms and techniques The subject itself is complex and fascinating; it alone could fill sev

eral books Therefore we will not be able to show all possibilities of the MOCCA module in detail Instead we will concentrate on several crucial points

Experience shows that working with bones and joints is the way to animate organic ob jects Both kinds of objects are supported by the MOCCA module but the use of each of them only looks similar at the beginning

Bones are deformers and will be just like a BEND deformer subordinated under an object Joints however are just positions in space Be cause of the hierarchical structure of joints chains can be built along which object surfaces can be deformed However because joints are not deformers they do not have to be subordi nated under the object

Instead the connection between the poly gons to be deformed and the joints is achieved by weighting the objects and by the SKIN de former This allows more flexibility with re gard to the objects that have to be animated As a result it is not a problem moving several characters with just one joint skeleton

Start with a new scene and load the character from the bonus chapter into it

First put the joints into the character that will be used later to move it Basically we build a virtual skeleton

Because it lies on the symmetry plane of the character start with the spine The other extremities can be deviated from it

To create the chain of joints use the JOINT TOOL in the CHARACTER menu (see Figure )

The settings in the JOINT TOOL should al ways be checked before you work with them There are not many settings to change as shown in Figure

The BONES menu determines how the sepa rate joints will be connected later This has an impact on how the joints affect the geometry to be deformed and how the automatic weighting of the geometry will be calculated

The standard setting TO CHILD always cal culates the weighting starting from the parent and going to the child joint The setting TO PARENT weights in the opposite direction

Even though the deformation stays the same this setting is important when the char acter is to be prepared for further use in a pro gram The standard of the external program should be followed

The setting of AXIS works similar to the fa miliar bone system of older CINEMA D ver sions

Also here the bone goes from the parent to the child joint but its length can be set individ

ually That way gaps can be created between the bone and the joints

Most of the time the standard setting of TO CHILD will not have to be changed

The following IK CHAIN menu automati cally creates reference objects after finishing with the JOINT TOOL The joint hierarchy can then be used immediately Normally the refer ence points for the joints have to be adjusted for each joint of the character Therefore this is only usable for simple setups

A choice can be made between D and D solutions This determines the restrictions of the joint chain movement In many cases like at the knee or elbow the movements are only possible in one plane There it is helpful to cal culate using only a D solution to rule out pos sible errors

In addition to this mode there is the setting SPLINE which connects each joint with a point on a spline The joint chain can then be ani mated by moving the spline points which could be helpful for animating the tail of an animal or a spine

Because we want to determine the IK rela tions individually leave this menu turned off in the setting NONE

The SIZE menu sets the bone length be tween the joints In the CUSTOM setting the bones can be scaled separately Otherwise the bones adjust automatically to the distance be tween the joints This is typically the mode that makes more sense

The option ROOT NULL creates an additional null object as the starting point of the hierar chy The use of this null object makes sense only in the BONE mode AXIS

The ALIGN AXIS option should always be ac tive because it makes sure that the Z axis of the bones is automatically aligned to the sub ordinated joint

The POLE NULL option only works in con nection with the active IK CHAIN menu Then another help object is created with which the

movement plane of the hierarchy can be con trolled

The settings in the DISPLAY group only de termine the display of the bones in the editor Selected bones can either be highlighted or shown with a bounding box

The SYMMETRY settings are interesting when for example the joints of an arm are created and the arm on the other half of the body is simultaneously built We will get back to this later

In the MODIFIER group is a key combination for certain actions The preset keys are the Ctrl key which creates a new joint and the Shift key for parting a bone and creating a new joint in its center

The MOVE function is set by default As a result joints can be moved directly with the mouse

In general we can take over all settings ex cept the unnecessary ROOT NULL and start to create using Ctrl clicks a joint chain from the pelvis up to the skull in the side viewport

Figure shows this finished chain The JOINT TOOL is then deselected by selecting for example the MOVE tool

All joints should now be turned in one di rection as indicated by the green arrows in Figure so that all Y axes are placed in the symmetry plane This will ease the alignment of these bones during the animation

In order to animate the jaw later simply by ro tating a joint we will create a JOINT object in the CHARACTER menu and subordinate it under the duplicated joint for the head

Also place this new joint on the symmetry plane at the edge of the lower lip

It would now make sense to take some time to name the joints This eases the assign ing of help objects for the inverse kinematics

Figure shows the placement of the jaw joint and the names chosen for the joints

Use the JOINT TOOL again for the arms but this time with activated SYMMETRY function Re strict the symmetry to the DRAW mode to get two independent joint chains (see Figure )

We can use WORLD YZ for the ORIGIN of the reflection as our character is at the origin of the world coordinate system

With Ctrl clicks create a joint chain from the shoulder down to the fingertips

Then select the JOINT object of the wrist in the OBJECT MANAGER and create three more joints for the thumbs These joints are auto matically subordinated and connected the right way because of the previous selection of the wrist

Move the joints with the mouse to the cor rect positions Figure shows the joints for the left arm and its hand from different per spectives

The automatic order of the thumb joints did not work on the other symmetry side A separate hierarchy was created for the three mirrored joints in the OBJECT MANAGER which we now have to subordinate by hand This can be done quickly

Group the two arm chains under the chest joint

Take the time to name the individual joints again The joints of the left and right half of the body could be marked for example by adding the letters L and R in the name (see Figure )

The joints of the legs are created the same way In order to recreate the complex move ments of the feet (the rolling motion for ex ample) the ankle center of the foot and the toes should have their own joint

Usually it is not necessary to create a joint for each toe This would only make sense if the character is a highly detailed barefoot model or one wearing sandals

The two joint chains of the legs are then subordinated into the hierarchy under the pel vis joint

Figure shows the number and place ment of the leg joints The bone connections between the pelvis and the hips are created automatically after the subordinating

In order to get a connection between joints and the geometry to be deformed we have to assign weightings

Because this has to be done for each object of the character separately we will start with the HEAD object work toward the clothing and end with the feet

Objects that are not being worked on should be set invisible so that we have a better overview

Assign to the head a WEIGHT tag which can be found in TAGSCHARACTER TAGS in the OB JECT MANAGER

In the dialog of the tag make the settings for the JOINTS visible These settings consist of an empty list The JOINT objects which should have an influence on the object have to be pulled into this list

Select the joints for the collar neck head and jaw in the OBJECT MANAGER The last joint of a chain does not matter for the weighting that follows since we use the setting TO CHILD for the joints It will only be used to determine the direction and length of the bones between the joints

For this reason this last joint in the hierar chy can be ignored when listing the WEIGHT tags

Now the geometry knows which joints are supposed to have an effect on it Still unknown is which area of the geometry will be con trolled by which joint The weighting will take over that job

The WEIGHT tag offers several functions in the tag settings themselves

Especially easy is the AUTO WEIGHT button It measures the distance between the points of the geometry and the bones between the joints and assigns weightings accordingly

It will not always result in a perfect weight ing but we can save a lot of time and correct them ourselves

In addition to that there is the SET POSE function It works like the fixing of bones in older CINEMA D versions and saves the cur rent position and rotation of the assigned joints internally

This function is executed automatically when the joints are assigned When the joints are adjusted after they are assigned then the SET POSE function should be activated again manually for all WEIGHT tags

With RESET POSE the joints can be put back into their saved basic position anytime and the geometries will then be shown with out deformations

So far the weightings have been an abstract factor After activating the WEIGHT tool in the CHARACTER menu and the selection of a joint at the same time the weighting is then visible in the editor as a color gradient

Basically it is in most parts the way the fa miliar vertex maps work Every point of an ob ject can have a value assigned between and

The obvious difference between weight ings and vertex maps is that weightings are assigned to the geometry and not to the joints CINEMA D then searches in the exist ing WEIGHT tags for the correct joint and can create a relationship between the weightings and the points That way a joint object can carry weightings for several objects A vertex map cannot do that as it is assigned to one object only

Let us go back to the dialog of the WEIGHT tool In addition to the display of existing weightings in the editor viewports this tool offers a variety of functions for assigning weightings I would like to show the most im portant ones

This part of the dialog deals with the value for the weighting This percentage value is set with the STRENGTH slider

The MODE menu defines what should hap pen with this value when the geometry is painted The STRENGTH value can be added subtracted or used as an absolute value There is also an ERASE function available to delete ex isting weightings Holding the Ctrl button when painting weightings also deletes them

The NORMALIZE option ensures that other joints with weightings are balanced when a joint is painted This option determines that the sum of weightings for a point is either or This means that each point is deformed or moved with the same intensity

External programs which are specialized in the animation of characters often work with this system Therefore it is recommended to use it in CINEMA D in order to save us extra work in the external program

The radius of the brush and the intensity gra dient of the weighting at the edge of the brush are set here

Similar to the SELECTION tools the state of the VISIBLE ONLY option has to be watched De pending on the state of the option only visible points and the points hidden by faces are painted

These settings determine the display when painting the joints In some situations the op tion DRAW ALL JOINTS can be helpful It dis plays the weightings of all joints at once That way gaps in the weighting can be detected and weighting gradients between the joints can be checked

This shows a list of all POLYGON objects influ enced by a selected joint

Single objects can be selected here and locked with the LOCK button to protect it from accidental changes

This list shows in a table all weightings of the participating objects

Points with a weighting higher than can be highlighted in color in the editor with the HIGHLIGHT POINTS option This can also be helpful for finding weighting errors

Weighted points can then be selected or weightings can be assigned to point selections

Similar to the function of the WEIGHT tag is the AUTO WEIGHT function but with more detailed setting possibilities Here the maximum num ber of joints can be determined that affect one point

The MODE menu set the criteria for the cal culation of the weightings In the DISTANCE setting the distance between the joint bones and a point is measured

A set joint will then split the weighting pro portionally between the closest and second closest bone

These two options restrict the weightings to selected joints and points

All together I hardly had to change any thing in the automatically set weightings of the character

The most obvious change at the head was necessary in order to get more contrast out of the smooth transition between the weighting of the jaw and the head

For that reason I selected the joint of the head and used the NORMALIZE option to strengthen the weightings on the upper lip and the nose This way the joint located at the chin does not have influence on that area anymore This can be seen in the images in Figure

In addition I also adjusted the area under the arms of the jacket I strengthened the weighting of the points for the chest joint un der the beginning of the arm This prevents the jacket from being pushed into the chest when the arm joints are lowered

Work on all objects one after the other with the WEIGHT tag and its AUTO WEIGHT function Then control and adjust the weight ings with the WEIGHT tool

It hardly makes sense to apply a cloth simula tion to the jacket or pants The fabric is too close to the body It would be useful though

for the ends of the belt that hang down from the hip This job can be done with the Clothilde module

The belt object needs to be split as only part of the belt is needed as dynamically ani mated clothing For this reason convert the SWEEP NURBS object and separate the poly gons of the hanging ends into a new object

To form one single object connect with the stylized cube object the part of the belt that goes around the body

Then check the weightings of the belt Nor mally the weightings should all be intact since only faces were deleted

The hanging belt ends do not need weight ings anymore and will be connected with the hip of the character Thus remove the WEIGHT tag from the separated belt ends and pull it out of the hierarchy

This is necessary because the belt will get its own NURBS object for the smoothing and should not be additionally smoothed by the HYPERNURBS object of the character

Assign a CLOTH tag to the belt ends It can be found in the OBJECT MANAGER in TAGSCLOTHILDE TAGS

Select the points at the upper end which will be fixed to the character later These points are highlighted in color in Figure

The CLOTH tag contains all necessary set tings for the behavior of the object They

range from the elasticity of the material to the simulation of wind or collisions

Again I will only go into detail about for us important settings

We will start with the DRESSER column Here certain dynamic forces can be applied to the cloth to define a start condition for the an imation that follows

First we will exclude the selected points from the fabric simulation so that they will not be pulled down automatically by gravita

tion Therefore use the SET button in the FIX POINTS column (see Figure )

When the DRAW option is active the fixed points will be permanently colored and remind us about the fixing

Now we can work on the behavior of the fabric Raise the STIFFNESS value in the TAG page of the dialog and reduce the MASS value at the same time

A higher STIFFNESS value allows the belt to appear less light and thin The object will not react to outer forces and movements

This is supported by a reduction of the MASS value This value controls the speed with which the fabric reacts to the dynamic effects This value does not have much to do with the weight of the material but rather with its in ertness

In the FORCES area of the dialog additional forces can be defined that could affect the ob ject The gravitation should remain active in any event while the wind should not be acti vated The wind is only of interest for outdoor scenes such as when a flag or a curtain flutter ing in the breeze is to be animated

Reduce the GRAVITY value to so that the belt can react quicker to the collision with it self and the pants

Then activate the SELF COLLISION option in the EXPERT part of the dialog It requires more render time but the danger of interpenetra tion of the belt pieces is high and should be avoided

The collision detection with other objects is activated with a separate COLLIDER tag which should be assigned to the jacket and pants The dialog of this tag can be seen in Figure There you only have to activate the USE COL LIDER option

In order to check the simulation of the fab ric the RELAX button in the DRESSER area of the CLOTH dialog can be used The simulation of the forces is then calculated for the number of images set in STEPS

This function can be clicked multiple times The SHOW button in the INIT STATE column will always bring us back to the original shape of

the object When the parameters and behavior of the fabric are satisfactory then we can go a step further and simplify the object

They are only two polygon strips with a wall thickness These kinds of shapes can be created with the help of a CLOTH NURBS ob ject which saves us render time and automati cally prevents pervasions of the front and rear side of the belt pieces

Therefore delete all side and back faces of the belt ends Then we are left with only the front faces of the belt parts Optimize the ob ject to get rid of the needless points and use the SET INIT STATE button again in the CLOTH di alog to save the new shape

Open a CLOTH NURBS object in the CHARAC TER menu of CINEMA D and subordinate the belt strips under it (see Figure )

The CLOTH NURBS works similar to the HY PERNURBS but the smoothed faces always run through the existing points In addition there is a function for thickening of the objects This is helpful when simulating the thickness of fabric

Use this THICKNESS value to give the belt its original depth

Now the fixation of the points has to be can celled again The reason for this is that the upper points of the belt should not be static in the room but rather move along with the character

To do this use the CLEAR button in the FIX POINT column of the CLOTH tag (see Figure )

The attachment at the waist of the justre leased points is done with a separate BELT tag which can be found in TAGSCLOTHILDE TAGS

When the upper points of the belt are still selected use the SET button in the POINTS col umn of the BELT tag Assign the BELT object which is wrapped around the character to it by using the BELT ON field

With the activated DRAW option in the BELT tag the highlighted points and connec tion lines between the belt and the loose belt ends should be visible

The BELT tag looks by itself for connection points to the assigned BELT ON object and at

taches the selected points of the belt ends to them These points are not moved but keep their distance from the body

I already mentioned Inverse Kinematics a cou ple of times but did not explain it

With the help of inverse kinematics the movement at the end of a joint chain can have an influence on the upper part of the hierar chy In practice it means that moving the foot will raise the knee and angle the leg all at the same time

Otherwise the animation of natural move ments would turn into a test of our patience The rotations of the joints would have to be done individually starting from the parent and going toward the child

We would angle the thigh and bend the knee only to discover that the foot is placed in the wrong position Then we would be forced to rotate the knee and thigh again un til the foot is placed for example exactly on a stair step

Inverse kinematics (IK) can significantly speed up an animation and ease the workflow A requirement is the exact setup of the inverse kinematics chains

Inverse kinematics can only be calculated between two defined objects Help objects can be inserted that for example affect single joints such as magnets or define movement planes This makes sense with the knee joint which can rotate around one axis only

In order to create the IK we can use the IK CHAIN tool in the CHARACTER menu or assign the IK manually with TAGSCHARACTER TAGS We will use both methods

I would like to use a spline for creating the spine Its points will control the position of the joints

First we need a spline object with the right amount of points Because we have five joints in our model for the area between the pelvis and the neck create a linear spline that also has five points and let these points snap with D snapping to the axes of the existing joints

The corresponding joint objects are marked with a red dot in Figure

Now we can assign an IKSPLINE tag to the first joint of the hierarchy and pull the previ ously created spline into the SPLINE field

In order to calculate inverse kinematics an end point has to be assigned to the chain In our case the IK chain ends with the joint at the neck so pull this point into the END field in the IKSPLINE tag in the OBJECT MANAGER

Through the TYPE menu it can now be con trolled how the joints are sorted on the spline

In FIT mode all bones keep their original lengths whereas in EQUAL mode their lengths will be adjusted to the spline There might be some shortening or stretching of the chain which can be helpful for extreme deforma tions of comic characters

When the Twist option is active the joints can be rotated with a separate twist curve in the tag

This rotation can also be controlled by ex ternal null objects which can be assigned to single spline points This has the advantage that only the position of these NULL objects has to be animated Thus the point coordi nates of the spline do not have to be animated with PLA

Therefore create HANDLES for all spline points This can easily be done directly in the SPLINE IK tag

For this use the ADD button and then the CREATE button in the HANDLES part of the dia log This creates a new NULL object for the point with the corresponding INDEX number of the spline (see Figure )

Repeat this procedure until five NULL ob jects have been created Check if the INDEX numbers have been assigned consecutively from the first to the last point

With the TWIST option of each handler the rotation of this NULL object can also be trans ferred to the joints

OFFSET creates a small distance between the handles and the connected points of the spline

When the spline is a bezier spline the OFF SET can also be changed with the DEPTH VALUE The HANDLE object is then located at the end of the tangent at the spline point and can influ ence the course of the curve more precisely

In our case I do not want to use a bezier spline and I will pass on the use of the OFFSET op tion Only TWIST should be activated in case we have to twist the spine during the animation

As TYPE I use FIT so that the character can not be accidentally compressed or stretched Now the movement of the back can be con

trolled sufficiently and we will move on to the legs and feet

We will use another approach for the IK rela tionship of the legs and feet With Ctrl clicks in the OBJECT MANAGER select all joints of one leg that need external control objects

Continue holding the Ctrl key when the IK CHAIN function is chosen in the CHARACTER menu The selected joints will then receive IK tags and control objects automatically

For the IK tag of the uppermost joint of this chain activate an additional pole vector

With the position of this object the move ment plane of the whole leg can be controlled and for example a tight bending laterally at the knee will automatically be avoided

Use the ADD POLE button in the IK tag to create this additional NULL object for the pole vector (see Figure )

As an alternative all kinds of control objects can be created manually and pulled by drag and drop into the corresponding fields in the IK tag That way other objects can also be used as NULL objects if you think this is necessary

Apply the same procedure to the other leg and then pull both pole vector objects far in front of the hip

The color lines in Figure show the end positions of the pole vectors

The assignment of the IK tags is even simpler for the arms since we do not need pole vectors Therefore select only the first three of the arm joints with Ctrl clicks and use the IK CHAIN function again

This creates new IK tags for the first two joints of the arms as shown in Figure

The original joint selection is marked again with red dots in Figure

This determines the IK chains Now we have to sort the external objects in order to

achieve the desired pose faster I will talk more about that in a moment

First I would like to talk about the subject of morphing

This term usually means the change of a shape The locations of points within an object change As a result it is normally not possible to morph two objects with different numbers of points in a controlled manner

For this reason the MOCCA module pro vides the SHRINKWRAP deformer although it

will not be so helpful with the animation of characters

We consequently use traditional morphing MOCCA also offers a variety of tools for this We will talk about several possibilities and use them

One possibility is to create a copy of the ob ject to be morphed and to adjust this copy to the desired shape There should not be any ad ditional subdivisions even though MOCCA can recognize and incorporate these changes by now

As shown in Figure I created three copies of the head and modified them

The three target states have an open left eye an open right eye and a different shape of the mouth

The nice thing about morphing is that we are not forced to go all the way to the end shape of the morph target The states can be mixed and then for example an eye is opened just halfway

With only a few selected target states very complex facial expression animations can be created However I want to stop with these few target states If you wish you can add multiple facial expressions These should be re

stricted to single changes such as a frown or a raised corner of the mouth This way there will be more freedom to mix the target states later

After finishing the desired target objects add a MORPH tag to the original head object with TAGSCHARACTER TAGS Its dialog offers us all the parameters needed for creating saving assigning and mixing of morph target states (see Figure )

The tag has two modes In the EDIT setting the target states are assigned and edited and in the ANIMATE setting they are mixed with each other

We will start in the EDIT mode and take a look at the list of morphs Here there are the entries BASE MORPH and already the first MORPH TARGET However since we do not want to create the target states with the MORPH target but rather have them as sepa rate objects delete the MORPH TARGET in the list by right clicking on it and choosing the RE MOVE command

Then select the objects with the modeled target states and pull these from the OBJECT MANAGER into the MORPHS list of the MORPH tag

You will now be asked if the morphs should be calculated relative or not When this ques tion is answered with no then only an internal reference to the existing target states will be created This has the advantage that even af ter the start of the animation the target ob jects can be changed The morphing will be ad justed automatically

The disadvantage is that the target objects have to be kept in the scene When one of these objects is deleted by accident then the morphing of this target state will not work anymore through the MORPH tag

More useful is the relative assigning of the MORPH TARGETS Then the change of the basis object to the MORPH TARGET is saved in the MORPH tag itself The original object of the target states can then be deleted with out problems

Now all necessary target states of the head are defined They can be activated separately

in the list of the MORPHS by clicking on them and with the STRENGTH slider they can mix with the original state

Also when relative morphs are used im provements can be made at the target states Select the morph to be adjusted in the MORPH list and set the STRENGTH slider to

Now the points can be changed directly on the head and these changes will be transferred automatically to the selected morph target The basic state of the object will remain un changed

As we can see at the two options below the STRENGTH slider the MORPH tag has more to offer

In addition to the standard mode MORPH GEOMETRY the activated MORPH PARAMETERS mode allows the morphing of any parameter This also includes the radius of a cube round ing or the brightness of a light source

The MORPH tag can also be used for exam ple to morph different light source settings or the focal length of a camera Note that in this operating mode pulling the objects into the morph list does not always work Then the MORPH TARGETS have to be created by using the ADD MORPH TARGETS button

We can continue to assign MORPH tags and MORPH TARGETS to other objects

In Figure we can see how the lower teeth can be slightly shortened by a morph target

This time I did not simply create extra cop ies of the teeth but also created and saved the morphing directly in the MORPH tag

Just change the already existing MORPH TARGET for example by making changes on the object with the MAGNET or BRUSH tool

Use the ADD MORPH TARGET button to cre ate new MORPH TARGETS Even the eyebrows are not spared I created two target states for each eyebrow one for an elevated position and one for a lower position Both target states are shown in the example of the left eyebrow in Figure

These MORPH TARGETS were created in POLY GON mode I selected all polygons of the eye

brow and moved the MODELING AXIS to the edge of the brow above the nose Now the eyebrow can be comfortably rotated around this spot and moved up and down

It is important to change the position of the points of the brow and not just move the whole object

The MORPH tag only remembers the changes of points

Now that we are at the moustache we need to take into consideration the different shapes of the mouth

Choose the different shape of the mouth in the MORPH tag of the head and create a new MORPH tag for the moustache In this tag change the standard MORPH tag so that the moustache fits again (see Figure )

Here I used the MODELING AXIS and then af ter the polygons of one side of the moustache were selected moved it to the center of the upper lip

From there the moustache can simply be scaled down and rotated until it fits again

Basically our character is prepared for the ani mation but we can make the animation work more simply by grouping the external target objects in a smart way As a result we will start with the foot which is very important for the animation

When the inverse kinematics is not work ing properly then a sliding of the foot over the

floor can occur and the illusion of a living char acter is ruined

Furthermore a foot can execute a series of complex movements from standing on the toes to the natural forward rolling motion when walking or climbing stairs

In the first step we will create three addi tional NULL objects which are placed at the typical contact points of the foot These would be in front of the toes under the ball of the foot and finally in the back under the heel Figure shows the position of these three additional objects marked by arrows

Group the external target objects of the an kle and the middle of the foot under the NULL object of the ball (see Figure ) That way a rotation around the ball NULL object lifts the foot but leaves the toes flat on the floor

Of course this has to be done for each foot These steps always have to be executed sepa rately for each side of the body

This group of the ball of the foot then has to be subordinated under the NULL object which is used for standing on toes (see Figure

) Place the external target object of the toes under this NULL object too

The last grouping will be created under the NULL object of the heel Subordinate the NULL object of standing on the toes and the NULL ob ject for the pole vector of the leg That way with the rotation of the heel NULL object the direction of the knee and the lifting of the foot are controlled In addition the whole leg will be angled by moving the heel object

With the animation of these separate ob jects the whole leg can be animated Figure shows this object hierarchy again

In order to be able to move the toes inde pendent of the rest of the foot subordinate its external target object under a copy of the ball of the foot target object (see Figure ) That way the toes can be lifted and lowered by ro tating the toes around the ball of the foot

Also this group has to be subordinated under the heel object so that the whole foot will be moved when the heel is lifted The fin ished hierarchy of a leg can also be seen in Figure

The target objects of the arms should also be organized in groups These groups will be less complex though than the ones for the feet

The hand and fingers will be animated later with a different technique We will first con centrate on working with the few target ob jects of the upper arm and the forearm

Here we will create three new NULL objects One is placed at the position of the chest joint from which the bone runs toward the shoulder

The second new NULL object is placed at the position of the shoulder joint and the third at the elbow joint

The TARGET object for the hand joint is then subordinated under the new HELP object of the elbow The original target object of the elbow

needs to be placed under the hierarchy of the new shoulder NULL object

The correlation between the participating objects and their hierarchy is documented in Figure There colored markings are an additional aid for seeing the positions on the character

Do not get confused by the different posi tion of the arms In your scene they should still be stretched out at both sides of the body

In the next step you will learn how the ro tation of the HELP objects results in deforma tion of the character

As you might have discovered the joints and bones can be moved by rotating or moving the HELP objects and TARGET objects This is possi ble through the assigned IK and IKSPLINE tags

The actual connection between the joints and the WEIGHT tags of the objects has to be done through an additional deformer which then actually deforms the character with the joint movement This deformer is called SKIN and can be opened directly in the CHARACTER menu of CINEMA D

This object works like the other already fa miliar deformer objects by subordination This means that the SKIN object has to be subordi nated under the NULL object (which contains

the parts of our character) so that it can affect these objects (see Figure )

As an alternative the SKIN deformer can also be used outside the hierarchy but then it has to work in a different mode

In this case all objects to be deformed have to be listed in the INCLUDE portion of the SKIN di alog and the FORCE option has to be activated

The advantage of this mode is that multiple characters can be animated with a single joint skeleton The disadvantage is that MORPH tags cannot be used any longer

Basically this mode is meant for the defor mation of parametric objects and splines

Because we use the SKIN deformer directly in the hierarchy we hardly have to worry about additional settings Only the TYPE menu should be mentioned here It is used to determine the radius of the deformation in the joints

A choice can be made among LINEAR SPHERI CAL or BLENDED where BLENDED is a propor tional mix between LINEAR and SPHERICAL

The LINEAR mode matches the bone defor mation of older CINEMA D versions and without any preparations can cause constric tion of the geometry at the joints This cannot happen with SPHERICAL because it guarantees to maintain almost all the volume

Unfortunately better quality is a tradeoff for longer render times However because the TYPE can be changed anytime in the SKIN ob

ject the animation can be set up in the faster LINEAR mode and later be switched to SPHERI CAL or BLENDED

In addition to the continual mixing of both calculation methods vertex maps can also be created that with the weighting of the points allow an individual course over the whole sur face of the object

The vertex map just has to be pulled into the MAP field in the SKIN dialog

I mentioned previously that in addition to the MORPH tag there are other tools for changing the geometry One of them is the POSEMIXER which was available in older CINEMA D ver sions

The advantage of this object compared to the tag is that whole hierarchies of objects can be morphed That way for example dif ferent joint positions of the hands can be cre ated controlled and mixed with sliders

The procedure is to create two copies of the part of the hierarchy that is to be animated with POSEMIXER In our case create two copies of the hand joints including the subordinated joint objects

Change the name of the joint copies so that they can be separated more easily

Change one of the two joint hierarchies in order to show a fist instead of a flat hand This has to be done separately for both sides of the body

Now assign a POSEMIXER tag to the hand joint of the original joint hierarchy which can be found in TAGSCHARACTER TAGS

This is not strictly necessary as the POSE MIXER tag can be used on multiple objects However it improves the overview of the scene since we will use several of these tags

In this tag assign the first joint to be changed in the original hierarchy to the DESTI NATION field In our case this is the first joint of the finger

Position the joint from the copied un changed hierarchy into the DEFAULT POSE field This object will be needed so that POSEMIXER can return to the original position of the finger

Finally pull the corresponding joint of the joint hierarchy which was changed to a fist into the lowest drag and drop field

The options in the upper dialog determine which attributes of the objects will be used for the morph Basically this also controls the morphing of the face or the eyebrows when the POINTS option is activated

The only disadvantage to the MORPH tag is that real copies with target states have to be created

We only need the option ROTATION for mor phing the joints I also activated the POSITION option in case we have to stretch or compress the hand later on when the joints are moved Otherwise this is not necessary

The exact same procedure then needs to be done for the thumb joint This allows us to morph the thumb and finger at different times and stages This can help avoid an overlap of the finger when the hand is closed

All settings and the two joint copies can be seen again in Figure

You have already learned how XPresso expres sions connect parameters and therefore sim plify the animation procedure

It will be even more interesting when user data is included in the expression by way of USER DATA entries That way a custom inter face for the control of object properties could be built

Select the SPLINE object that is connected with the spine joints and assign a value field to this object with the entry USER DATAADD USER DATA in the ATTRIBUTE MANAGER

A dialog opens as shown in Figure where the name type and optical appear

ance of the value can be set in the ATTRIBUTE MANAGER

The maximum values can also be deter mined in case value entries only within a cer tain range are allowed This way assign two USER DATA values with a value range of and These values should control the morphing of the left and right hands Choose fitting names for these values

In case you have already closed the USER DATA dialog but want to change some settings just right click on the name of the USER DATA

value in the ATTRIBUTE MANAGER and choose EDIT ENTRY in the context menu

Two other USER DATA entries for each side of the body get the same value range – to and should be used for the rotation of the forearms

In order to cause an effect with the USER DATA entries they have to be connected with other parameters in an expression (see Figure )

Consequently add an XPRESSO tag to the hand joint and open it with a double click

The XPRESSO tag can be found as usual in TAGSCINEMA D TAGS in the OBJECT MAN AGER

Pull the SPLINE object from the OBJECT MAN AGER into the open XPRESSO EDITOR At the out put port of the appearing node activate the ports with our USER DATA values for the corre sponding hand

Then pull the two POSEMIXER tags of the corresponding hand into the expression too At the input port side of these nodes the ports for the morphing value can be placed

These ports will then be connected directly with the output port of the spline nodes where the user data value for closing the hand is lo cated Figure also shows this expression

Pull the JOINT object of the hand into the expression and activate the input port for the rotation with the P and B angle

Be sure to use the ports for the local and not the global rotation These ports are connected with two RANGE MAPPER nodes to the user data values for rotating of the hand and arm

The RANGE MAPPER node can be found with a right click in the XPRESSO EDITOR in the NEW NODEXPRESSOCALCULATE menu

Connect the user data port for rotating the forearm around its length axis with the input port of a RANGE MAPPER node and connect its output port to the input port for the B rota tion of the hand

The input range in the RANGE MAPPER node has to be set to – and as the user data value of is interpreted as in XPresso expressions

The output range of the RANGE MAPPER nodes depends on the mobility allowed for the forearm and hand

Remember that the values on the output side of the RANGE MAPPER are angles that have to be entered as radian

Set the user data value the same way for raising and lowering the hand and the P rota tion of the hand joint

The finished expression then has to be cre ated again for the other hand and its user data so that both hands can be animated sep arately from each other That way other properties of the hands can be controlled too As shown in Figure I also added a slider to bend the head or to open the mouth by ro tating the jaw joint

As we already know user data values can be saved as keyframes and thus animated with a Ctrl click on the circles in front of the value

Of course all these parameters and joint ro tations can be made directly at the objects and saved with keyframes This way saves us from having to scroll through the hierarchies and search for the right objects or tags In the best case scenario we could even leave the hierar chies closed during the animation

This concludes the rigging of the character and the preparation for the animation You could now sort all the external HELP objects under the spline for the back to obtain more

order in the OBJECT MANAGER Only the two groups with the TARGET objects of the feet re main separate at the top hierarchy level (see Figure )

This allows us to let the character kneel when the SPLINE object is pulled down while at the same time the feet remain fixed on the vir tual floor

We have come to the conclusion of this chapter Figure shows you a few possible poses as inspiration which are now easy to accomplish with a few steps thanks to our preparations