Character Performance Animation

(Term 1: Week 9-14)

Our last animation task for this term is to make a 10 to 15 seconds character performance animation. It is the art of making a character or object to move in such a way to lead the audience to believe the subject can actually think for itself. The animation can be with or without dialogue.

When Luke briefs the task and show some examples to us, I immediately thinking to do my animation based on one of my favorite movie quotes that I like to use in real life as a silly joke to my previous fellow animators while we are working hard to finish an animation.

It was from the ending fighting scene of The Matrix Revolution (2003) when Smith says to Neo “Why, Mr. Anderson? Why, why, why? Why do you do it? WHY DO YOU PERSIST?!”. The people who know the quote will answer “Because I choose to”. And we will laugh as we persist in our interest to animation even it is hard. I think the quote would be great for the exaggerated character acting animation.

Okay, back to work. I remembered the quote from a very long time ago, so I went to YouTube to recall my memory of the scene and realised that the actual scene was actually a lot longer!

The video can be cut, but I think the sound of the rain and thunder in the scene are a bit distracting. I preferred to have a cleaner sound of dialogue.

Then I remembered another movie scene from Johnny English (2003) when Johnny tries to unravel the mystery of how a thief can come into the highly secured room to steal the queen’s jewels.

I think this scene is perfect for this task. So, I extracted the dialogue beginning from “Should I coming through the window” until Johnny almost fall down into the hole behind him.

References

Luke wanted us to act and record ourselves for the reference. He said that a good animator must also know how to act so we can understand more of how the character moves.

I then recorded several videos of me acting out the dialogue. I referred the original acting and attempted to make some tweaks. After lots of tries, I must say that it was very hard to do. Rowan Atkinson (Johnny) acting on the other hand was in fact very brilliant with his funny expressions and body language.

Original video of Rowan Atkinson brilliant acting
My (terrible) acting

My acting was so bad that I decided to use the original video as the main reference or otherwise the outcome of my animation would be very bad as well. I will still use my acting video as reference for parts that does not showing the actor in the original video.

And below are the screenshots of the important keyframes from my acting video as storyboard

Storyboard

As we can see from the video and storyboard, there are several moving and hold motions happening throughout the scene. At frame 5 to 7 the character quickly raises the arms and hands, so I have to be careful with character limitation during the animation process. The character also changes the foots position on the floor for several times at frame 2, 8, 10, 11, and 16 . From frame 16 to 20, the character also make a body and hands swinging motion before falling down.

Character and Scene Preparations

I used same ‘Thepp’ character which I can say my most favourite character in this term as I used the character in most of my assignments. I’m very comfortable with its rig and controllers so I can focus more on the animation part which is more important than always trying to figure out how to control the character during the animation process. The character also has pretty good controllers for lip-sync and facial expressions.

I’m back for the final animation!

As for character limitations, Thepp has four fingers only for each hand, but it shoudn’t be a problem since the scene does not require him to count his fingers to ten or something like that. I have also identified that Thepp don’t really have a visible shoulder and hip shape when they rotate or move. So, I had to use more exaggerated movements or other methods if I want to make the motion more visible. Something to take note to, Theep also has a very large and wide head, so it will become a bit of a problem if he wants to raise his arms straight or to touch the top of the head. Other than that, he can do pretty much any poses with no problem.

As for background, I decided to make a very simple – not too crowded backdrop modeling so the audience will not get distracted and focus more on the character. Since Thepp is actually a mummy, I think the tomb like room is perfect for him.

Backdrop

I imported the audio file into the timeline and the audio ends at frame 430. Which mean the scene duration will be about 18 seconds in 24 frame per seconds animation.

Animation Planning

1. Body poses and basic facial blocking
2. Body motions splining
3. Facial expressions detailing
4. Lip-sync: Jaw motions > lip shapes > tongue > teeth
5. Final polishing for body and face

Some animators may prefer to animate the lip-sync first as its maybe easier to animate since the head has no animation yet. But I prefer to animate the body first because sometimes not all lip-sync has to be animated when the character is moving and the mouth is not visible to the camera.

Full-body Blocking

As usual, during this process I used the ‘Step tangents’ curve in the Graph Editor so I can focus on the pose-to-pose keyframes. I mostly referred to both my (horrible) acting and the original acting by Rowan Atkinson when blocking each pose. I made several pose adjustments since the anatomy of  the character was a bit different than normal human and also exaggerate some poses to make it look more cartoony.

And then I reached to the point where I had to pose the character for the dialogue “Should I drop down from the ceiling” where the character has to raise his arms and shoulders. For the shoulders I can raise them very slightly but the polygons around the shoulders would break if I went further. So, to give the illusion that the character is raising his shoulders, I lowered his head by rotating the neck bone slightly towards the front.

For the arms, I had no option but to carefully intersect the arms to his large head a bit to make the pose looks closer to the reference. Since the view is from the front, the intersect was not very visible. I think the blocking poses for the dialogue part turned out pretty good.

The other challenge was when the character is almost fall down and trying to balance his body by swinging his arms. It was not much a problem during the blocking process since there are no in-between motions yet, but I had to spend more time in this section during the splining process to make the timing and direction of the swinging body and arms motion look proper and believable.

During this process I also included basic facial expression like eye direction, eyebrow and some mouth opening but not a lip sync yet.

First draft blocking
Final blocking

Full-body – Splining

I was a bit nervous to convert the ‘Step tangents’ to ‘Auto tangents’ since I had experienced weird rotation animation problem when doing the previous body mechanics task. Fortunately, this time the animation had no such problem. If I could divide the animation into 3 sections, the first 2 were quite good and only need some minor tweaks to the animation curves in the Graph Editor to fix the timing for proper ease-in and out.

The last section on the other hand, was a different story. It was the swinging body and arms part that I already predicted during the blocking stage. I spent most of the time fixing the curves and even had to redo some of the original blocking poses multiple, multiple times to get the right motions.

Bad falling animation

And then the same thing happened to the falling animation. The timing and motion looked so fake. After doing too many revisions, I got a bit frustrated and then settled with the motion that I think looks good enough although I’m not really satisfied with it since I had to finish several more animation stages.

Throughout the animation, I added a subtle in-between arc motions each time the character changing its pose to another pose by modifying the animation curves or by adding in-between poses. The examples for this are the bouncy or up and down motions when the hip and head rotate from one direction to another. It will make the animation looks more cartoony and stylised.

Final splining without facial expression and lip-sync

Facial Expressions and Lip-sync

After the body animation finished, I proceeded to finalise the facial expressions such as eyes blinking, eyebrows motion, and additional fix to the existing eyes direction. For the eyelid, I made the eyes blink during the middle of rotating head from one pose to another. But not at each rotation, so it depended on the motion to make it looks more natural.

Facial animation without lip-sync yet

The lip-sync process was quite straight forward, and I still applied the same step-by-step process as the previous phoneme task, – which to finish the jaw animation first, to the lip shapes, the tongue, and finally the teeth motions.

Below are step-by-step videos for the lip-sync animation:

1. Animate the jaw opening and closing by rotating its controller

Jaw motions without lip shape

2. Animate the lip shape on top of the jaw motion

Jaw with lip shape motions

3. Adding tongue bending and teeth up-and-down (close and open) motion

Jaw, lip, tongue and teeth motions

Polishing Small Details

In this stage, I mostly made additional adjustment to the follow-through motions especially for the spine and arms. The tip of each body part (child) should move slower than its previous body part (parent). I also polished every small detail especially to exaggerate the pose and timing of fingers motion a little bit more and adding small squash and stretch to the eyes shape.

I also made some more adjustment to the falling down animation in terms of poses and timing, and extended the follow-through motion for the hand and foot a bit to make it appear until the last frame before the character disappear behind the floor. I think the overall motions were a bit better now.

Lighting and Rendering

Since I’m very new to Maya, I have to admitted that I’m pretty weak to its lighting and rendering engine. I have made a render in the previous animation task by some quick tutorials. I discovered that the Maya Hardware and Software rendering engines are not reliable and many suggested to use Arnold Render instead. But I think what I did before was not proper since I just put a very basic lighting and the scene did not have any textures which could affect the lighting and rendering look.

I watched several more tutorial videos on YouTube and read some forums to further my knowledge regarding this area. This time I made the backdrop to have proper shader and texture that suitable for Arnold Renderer. The Arnold shaders did have proper effects to the scene look like texture bump and color reflection on the surface of the objects. I used the Physical Sky as the main light for the hard shadow and low intensity SkyDome light as ambient to soften the shadow a bit.

What I managed to render is not that great, but the final look was sufficed and suitable for the animation.

Final Animation – Playblast

Final Animation – Render

Phonemes

(Term 1: Week 9)

This week we learned about phonemes and how to animate a lip sync.

For this task, I’m back using the ‘Thepp’ character as I think the character has a fairly good facial rig that is easier to control. This is my first experience to animate a lip sync in Maya.

References

Below are some references from internet that I used most when doing the animation task.

Credit: Phoneme mouth chart reference by Will Boyer
Credit: Phoneme mouth chart reference by Preston Blair

Importing Audio

The next preparation is to import the audio file by dragging it to the timeline. And just like that the voice is available in the timeline and can be heard when scrubbing the timeline and during playback.

Maya support .WAV and .AIFF audio format on Windows. I started doing the file preparation on my Mac and tested several audio formats. I discovered that Maya on Mac support .MP3 and .M4A audio with no problem, but when I moved the working files to continue working on my Windows laptop, the audio files were not working & cannot be imported in Maya. So it will be best to just use .WAV format for both platforms compatibility especially when working with team with different machines.

Animation Process

The first thing I tried was to animate the mouth, jaw and lip at the same time at every intended time frame. But after several keyframes, I thought the process became quite tedious. Selecting and reposition each controllers, scrubbing the timeline and selecting each controllers again back and forth was not fun at all. And the result was quite bad.

After several failed attempt, I was thinking why not doing and finish the animation part by part like what I have learned in the previous assignments when animating character’s body. As Luke always mentioned during his lecture as well, to always animate and fix the hip motion first (main body) before moving to other body parts.

So going back to my case here, the ‘main body part’ for lip sync is the jaw. So I started animating the jaw first and then the lip, the tongue and the teeth. I can assure you that the animation process became so so much easier.

Jaw controller, rotate it up & down to open & close based on the phoneme

Below are the basic steps I took when doing the animation part by part:

Step 1: Animate the opening and closing motion of the jaw first.

Step 2: Animate the closing and opening motion of ‘O’ lip shape.

Step 3: Animate the teeth and tongue

Step 4: Animate the head / other part

In this task, I don’t use the Graph Editor much but just a very minor tweaks to smooth out some motions since I think the automatic curves animation turned out pretty good already.

The dialogue I chose above was not too fast, so I did a quick test with other audio with faster dialogue. I discovered that sometime you had to ignore some lip shapes if the character talk fast and chose to make shapes for the most prominent sound only. Too many drastic shape changes within 1 frame will make the lip motions look janky and not smooth.

Final Animation

Body Mechanics

(Term 1: Week 7 & 8)

This week we learnt about body mechanics in animation and was assigned to do a short animation for this topic.

Body mechanics can be described as the way character body change and move from one pose to another pose. A great body mechanics animation is when the sequence of movement through the body is prepared and timed properly to describe the intended action for audience to believe that the character moved. Some good examples to show a full body mechanics are gymnastic, parkour and even as simple as a character lifting a heavy object.

References

For this week task, I planned to do a short parkour action. It is different than the previous character animation tasks as the character will not doing a repetitive animation like walk cycle but instead, a variety of continuous actions from start to finish. It can be hard to animate this complex motion using only imagination or by designing the action from scratch. So, a good video reference from the parkour expert itself can help a lot.

I then proceeded to find the references online. After searching for several hours, I noticed that there are actually many good parkour videos but some of them are not suitable as animation reference because of shaky camera movements and extreme angles in the video. Most of the videos also are a fast cut compilation of short parkour clips which very hard to follow. For the reference, I’m looking for a video with consistent camera angle. 

I finally found a video by StuntsAmazing on YouTube which has the criteria I wanted. I took a small portion of the video as a reference for my animation.

Credit: Video by StuntsAmazing

Storyboard & Movement Observation

The following are the key poses that I identified from the video.

From the video and storyboard, we can see the person doing 2 jumps that require 360 degree rotation for the whole body in the animation process later.

For the first jump, the person lands with his left hand touching the ground first (pose 5) and followed by his right hand (pose 6). This may require IK control to make the hands stick to the ground while the body still moving during the animation process. There is a follow through and overlapping motion for the legs during the jump. At the end of the first jump, he lands his right foot first (pose 7) and then the left foot (pose 8).

The person continues to make 2 small run cycles (from pose 8 to pose 13). He then makes the second jump which is a roll jump. During the jump, there is a ‘squash and stretch’ happening. The person squeezes his legs to the body (pose 15) and extend them back when he lands with both hands (pose 16), followed by his back (pose 17) and then his left foot (pose 18).

Blocking

For this week task, we need to get the blocking done first and then continue for final animation after we receive feedbacks from Luke.

This time, I used another character called ‘Sam’ because I think his anatomy is much better to practice the body mechanics animation than the previous ‘Thepp’ character. 

Handsome isn’t?

As usual, I begin with placing down all the key poses based on the storyboard using the ‘step tangents’ in the Graph Editor. I think the process was not too hard since the character rigs are quite easy to control even though I just used to this character. The only minor problem was the reference video has some blurry frames because of motion blur. So I had to anticipate and predict some of the body parts placement especially for the hands and foots.

Step Tangents are beautiful

Blocking Video

Feedbacks

These are feedbacks from Luke:
– Fix curve for the body / spines
– Add more overlapping motion to the legs

Polishing

After I received the feedbacks, I begin fixing the original blocking first and followed the poses suggested by Luke. 

Then I started the splining and polishing stage. Right after I converted the keyframes to ‘Auto tangents’, I instantly noticed some problems with rotation animation especially for the arms and foots. They are now doing a funny spinning motion throughout the animation.

I made this mistake during the pose-to-pose blocking where I just rotated each body part without paying attention to their rotation direction. When the body doing a full rotation to positive direction for example, I should rotate the other body parts to the same direction. I didn’t noticed this problem before because ‘Step tangents’ will not show the in-between motion. This is something I should take note of to prevent the same mistake in the future.

I managed to fix some of the problems using the Graph Editor by aligning the curve to have proper increment at each axis direction. But it became a too complicated since the rotation directions are mixed between the axis and keyframes. The easiest way I found was to delete the problematic rotation keys and recreate the key by rotating it back to its intended position through the right direction.

There were a lot of full rotations going on throughout the animation and I spent most of the time to fix them. I think this was the biggest problem happened in this task which I learnt a lot. The other parts were almost the same as the previous assignment like offsetting some keys to create overlapping motion, and changing the animation curves to control the slow in and out.

Final Animation

Camera Tracking (3D Equalizer)

(Term 1: Week 5)

This week we learned a new software, 3D Equalizer (Release 6) from Dom Maldlow about how to do Camera Tracking. In this exercise, we have to track a camera movement and trail of a short video so that we can put a 3d object or character inside the shot.

Below are some notes I took while following Dom’s demo.

Preparation

Interface:

As I quickly noticed while trying to get familiar with the interface, 3D Equalizer don’t use the standard OS design. It can be quite confusing at first. The common menu like open, save, and windows are at the bottom. The open and save windows are using its own proprietary UI, so finding a specific folder to save a document can be very different. I usually save my file directly into my iCloud folder so I can easily switch and work between my Mac & Windows machines, but the interface makes finding the folder very difficult.

You have to dig deeper even to find the ‘Desktop’ folder

In the main interface, there are several working environments. ‘Basic’ is the standard for common panels and tools.

Import footage:

Click on the available camera on the left sidebar (Scene > Cameras > “seq#1”) or add a new ‘Sequence Camera’ from Right-click menu.

Click ‘Browse’ on the right sidebar and select the footages that we want to import and set the start and end frame.

Create buffer for better playback for heavy files by Playback > Export Buffer Compression File…

Not compulsory, but can improve tracking performance

Tracker Point

Create a new tracking point: ‘Ctrl’ + Left-click
Reposition existing point: Left-click

When placing tracking point, select an area with contrast color, sharp edge and does not changing shape. Adjust the tracker size depend on situation to track properly. Put trackers on foreground, middle and background so the software can track the perspective and parallax in the shot.

Select points: Alt + Left-click drag / Shift + Left-click in Point Browser

I do about 40 trackers in this exercise

Tracking

Start & stop autotracking: Click ‘Track’ (button) or ‘T’ (keyboard)
Click ‘End Point’ to end / close the tracking frames

Forward frame by frame tracking: Click ‘>’ (button) or ‘.’ (keyboard)
Backward frame by frame tracking: Click ‘<’ (button) or ‘,’ (keyboard),

Activate ‘Center 2D’ button to center the view while tracking

Change ‘Direction’ to track forward, backward or both depend on the situation when tracking

Tracking directions

Image Controls

Image controls can be used to adjust the brightness, contrast and saturation of the image to help us identify good tracking spot. It should be noted that the adjustment has no effect on the tracking result.

– Open ‘Windows > Image Controls Window…’

– Enable the control by clicking on ‘Image Controls Enabled’ button
– Enable the ‘Control Colors Enabled.
– Change the color, brightness, contrast etc

By adjusting the image brightness & contrast, making it easier to identify good spot for tracking

Calculate the tracked points

After we have enough tracked points, we can finalise and calculate the trackers to check if the tracking is good or not.

Click ‘Calc > Calc All From Scratch…’

Click ‘Use Result’ button

From ‘Deviation Browser’ we can see the tracking accuracy. We should try to stay around 1.0 or lower. If not, its mean there are trackers which are not properly tracked.

I manage to get this results. Not so great but still okay

Camera Distortion

If we know the original camera spec and settings that was used to record the video, we can adjust and match the virtual camera setting so the result will be more accurate.

Select the ‘Lens’ on the left sidebar and go to ‘Focal Length’ on right sidebar to change the camera settings according to the original camera. Change the value and set it to be ‘Fixed’, ‘Adjust’ or ‘Passive’.

Go to ‘Windows > Parameter Adjustment Window…’

Let the software calculate

During this process, I think I don’t get very good results even after several tries. The tracking became quite shaky and not very accurate. I may try again in the future.

After everything completed, the tracking data can be exported to 3d software like Maya, 3Dsmax and Blender.

Final Result

Stylised Walk (Correction)

(Term 1: Week 5)

This week we don’t have any new animation task except to polish and make correction to the previous week stylised walk animation based on Luke feedbacks from Ftrack Reviews.

Feedbacks Summary
– The timing is nice
– Not enough overlapping at the spine
– Add more overlapping to the wrists and the head
– Fix the hip orientation

Feedbacks Screenshots

Spine
Wrist and hand
Head
Hip

My animation is quite weak in terms of overlapping motion and I need to practice more regarding this. To achieve a nice stylised animation, more overlapping and exaggerated poses are required.

I have also made mistakes to the hip orientations and some of them are completely in the opposite direction. The ‘thepp’ character actually does not have a very visible hip and it look almost the same even after I have greatly rotated it. I may want change my character for the next animation task.

So I proceed to fix the animation. Changing the spines and hip rotation does effected the other body parts especially to the arms and legs. It’s not too bad but since all the walk cycle already done, the fixing become a bit tricky. I followed the same step to finalise the body motion first, followed by the legs, to arms, wrists and lastly, the head.

After everything finished, I put some lightings and rendered the scene using Arnold Render.

Final Animation

Stylised Walk

(Term 1: Week 4)

This week we learned about stylised walk. Stylised animation is usually used to show characteristic and emotion of the character such as happy, funny and sad. In cartoon, these actions are exaggerated to make the elements more visible to the audiences.  

The stylized walk can be quite different than the regular walk because the character will have some styles to its movement. This might cause the animation to have irregular timing and poses in each walk cycle. 

For this week task I decided to use the same character as the previous assignment called ‘thepp’ since I already familiar with its rig, so I can focus more on practicing and producing a good stylised walking animation.

Reference & Storyboard

Luke encourages us to record our own acting or find any good video references for the animation and capture the key poses as a storyboard. By looking at actual acting, we will understand more about the proper poses and small details in the movement.

After looking for several references, I decided to do the stylized walking animation based on this video:

Credit: Video by Christopher Browne on Vimeo

It’s a happy style walk that I think very suitable for my character. From the video, I identified and captured 13 key poses for 1 complete cycle. Below are the key poses from the video:

From the reference, we can see the basic poses from regular walk are still there. The foot still lands on heel during the first contact with the ground (frame 1, 7 & 13). The case might be different with another style of walking such as ‘sneaking’ where the toe will touch the ground first when making a step.

There are some interesting arcs and timing in the movement. The upper body motion is quite exaggerated than the lower part.  Some basic key poses are also at different arrangement when compared to the regular walk. The ‘up’ pose (frame 3 & 9) comes first after the ‘contact’ and the ‘down’ pose is combined with the ‘passing position’ (frame 5 & 11). 

Some poses are also slightly different from the first half to the second half of the walk cycle. Certain body parts are moving at irregular timing at the supposedly identical poses. One notable fact is that the person didn’t lift his foot too high when moving forward. I might exaggerate some of the poses during the animation process to make it look more interesting and visible.

Blocking 

I started creating all the key poses for the character based on the reference. The pose-to-pose blocking process is similar to the previous week assignment. I set all the keys to ‘step tangents’ so I can focus on the poses only and not the in-between motions yet.

Usually, I don’t worry too much about timing when doing the blocking since I will tweak them heavily during the polishing stage. What matter most during the blocking stage is to get the right poses. But to get a better sense of the stylised motion, I made a rough timing that similar to the original video. The image sequences in the storyboard are actually 4 to 5 frames different between each other in the original video. I make the character arm swing a bit more and exaggerated some poses for the foot lifting and spine bending. To match with the happy walk, I also keyed a simple smiling and excited face expression to some of the poses.

Splining

After all the blocking done, I converted the keyframes to ‘Auto tangents’ in the Graph Editor. The software will automatically create the curves the animation, so now the character is moving smoothly but the timing is a bit off. 

As I learned from the previous assignments, I think I’m getting better with Maya Graph Editor to read and predict how the motion will come out when I adjust the curve to certain shapes. During this process I mostly spend time tweaking each curve to have either a nice continuous smooth line or sharp shape to control the slow in and out motions. 

Not so confuse anymo… Yep, still confuse.

As Luke keep suggesting during his lecture, to always tweak the main body part first, which is the hip since it will have great influence to the other body parts. I think for this animation, the body bouncing motion is quite hard to imitate. I’m not quite sure but I think in the video, there is a very subtle double bounce each time the person stepping forward. The motion may relate to hip and spines. So I tried to imitate the motion by adding slight bump in the curves and also by bending the spines. But after numerous attempts, the motion become quite weird and at some area it snap, So I decided to ignore the subtle bounces for this time.

Body up and down motion curve

After I’m happy with the body motion, I then focus to refine the curves for the legs and foots first before I proceed with the arms and hands. 

Arm swinging motion curve. Almost identical for both sides.
Foot stepping and lifting motion curve

Before proceeding with the polishing stage, I think the animation is quite slow, so I decided to speed up the timing a bit to make it look more cartoony. I rescaled the timing by reducing all the keyframes distance in the Graph Editor to make the motion faster. Thankfully, most of the splining motions that I’ve done before are still intact and need some minor tweaks only.

Polishing

For the polishing part, I did some follow through and overlapping movement adjustments especially to the head, arm and hands by offsetting their timing. In this case I offset most of the keyframes by 1 or 2 frames behind, so they would appear to move a bit slower than their parent counterparts. Hand would move slower than the lower hand and the lower hand would move slower than the upper hand and so on. I would also add motion to the fingers but in this case it’s not necessary since the hands are in a fist pose.

Before I wrap it up, I added a subtle jumpy motion to the eyebrows when the character bounces his body. I think it’s not very visible but enough to make it look a bit detail for this character.

Final Animation

Full-body Walk

(Term 1: Week 3)

This week we were assigned to make a polished full-body walking animation as a continuation from the previous week half body animation. The full-body animation can be quite tough since there are more body parts that we need to take care off to such as the head, body and arm movements.

The aim is to understand and produce a normal walking animation without any characteristic or stylised movements. So it will have the same four basic walking poses for contact, down (low), passing position and up (high).

This time we can choose any rigged character model from the Luke’s resources share. After checking almost all the characters, I ended up with this guy…

But then I quickly changed to this slim guy called ‘thepp’ which I think has a good rig that I can control.

References

Here are some of the references that I used.

Credit: Walking poses from ‘The Animator Survival Kit’ by Richard Williams
Credit: Male Standard Walk by Endless Reference
Credit: Male Standard Walk by Endless Reference
Credit: Weight shift from ‘The Animator Survival Kit’ by Richard Williams

Animation Process – Blocking

The process is almost similar to the previous week except with the additional poses for the upper body parts. This time also we can proceed to polish the animation with the splining stage.

For the constraint task, I imported an apple model and attached it to the character’s right hand. I tried several methods that Luke showed in his demo such as point and aim, but for the apple I used the simple ‘parent’ method since it’s not moving and just following the hand movement. I also made a simple custom belt model and ‘parent’ it to the character pelvis controller.

I started with blocking all the key poses of the character using the ‘step tangents’. The character begins walking with his right foot at the front and the hands moving in the opposite direction of the foots. I used the same timing as before with 24 frames for each complete cycle.

I set the first ‘contact’ pose at frame 0, ‘down’ pose at frame 3, ‘passing position’ pose at frame 6, ‘up’ pose at frame 9 and then back to ‘contact’ pose at frame 12. I then continued the motion for frame 15, 18, 21 and 24 by manually mirroring the opposite pose.

I used the same method as before to refer the opposite poses for the second half of the walk cycle using the ‘translate’ and ‘rotate’ number in channel box and also by back-and-forth comparing between the key poses, . I don’t want to copy the exact number so I can still make all the opposite poses in the walk cycle look identical but organic at the same time. I managed to complete 5 cycles or 10 steps that ended at frame 120.

Frame 0 (contact)
Frame 3 (down)
Frame 6 (passing position)
Frame 9 (up)
Frame 12 (contact)
Frame 15 (down)
Frame 18 (passing position)
Frame 21 (up)
Frame 24 (contact)

The hip and upper body will always twisting and moving to the left and right trying to balance its weight and center of gravity according to the legs position.

Animation Process – Splining

After I satisfied with all the key poses, I converted all the keyframes in the Graph Editor to ‘Auto tangents’. Right after the changes, the character is now moving smoothly. But.. too smooth until it looks unnatural. The timing is quite off since the software will automatically create the curve without knowing where it should slow in and out properly.

I begin tweaking the animation curves by adjusting the main body part first, which is the hip. The final curves are smooth when the character lift its body at the highest position (‘up’ pose) and sharp ‘V’ shapes when the character at the lowest position (‘down’ pose). I converted all the lowest keys using the ‘Break tangents’ to have total control of the shapes. The method is also applied for both foots especially for the ‘V’ shape when the foots are stepping or making contact with the ground.

With automatic interpolations, the body movement looks too smooth without proper ease in and out.
Fixed!

All the adjusted curves are to create proper slow in and out and give the illusion of gravity and weight to the body parts.

Animation Process – Polishing

I did some overlapping adjustment by offsetting the timing especially for the head, arms and hands. The arms and hands motion are where I spend most time adjusting. They would move a bit slower than their parent or upper part. So in this process most of the keyframes were offset by 1 or 2 frames behind.

Before I wrap it up, I made small adjustments to make the animation a bit more interesting; the character give some reaction to the viewer by turning his head and eyes to the camera.

Final Animation

Tail Ball & Half-body Walk (Blocking)

(Term 1: Week 2)

Task 1: Tail Ball

As continuation from the last week bouncing ball animations, this week we were assigned to make a bouncing tail ball animation. There are some similarities in term of movement and principles for the body. The significant different this time is the character has an additional component attached to the body which is a tail that require follow through and overlapping action animation.

Follow Through and Overlapping Action are two closely related principles which help to give the impression that characters or objects follow the laws of physics. Follow through is when connected body parts or objects will continue moving after the main body has stopped. Overlapping Action is how different parts or object tend to move at different rates.

References

Here are some references I found online for the tail movement.

Credit: ‘Cartoon Animation’ by Preston Blair
Credit: From ‘The Animator’s Survival Kit” by Richard Williams

Familiarization

In the previous week task I don’t use any controller to animate the bouncing ball, but this time the character is already rigged with controllers for the body and tail.

All the controllers for the character

The tail consisted of 3 segments which has 4 controllers to control its bend. The body has an additional controller for squash & stretch while the ‘Root’ controller at the bottom has a ‘hidden’ option on the right panel to change the plain character’s face to fox or beaver. These are some of the new things I learned about how the rig and UI work in Maya. 

Setting to change character at the ‘Root’ controller
Now it’s a fox!

Before start animating, I played around with all the controllers to identify their potentials and limitations during the animation process.

Animation Process – Body (Primary)

My plan is to animate the body (primary) movement first before proceeding with the swinging tail (secondary) as the tail will follow and react to the body motions.

I made the jumping motion to have some variations in terms of height and timing. At some parts, I let the fox to quickly jump again after it lands and stop for several frames at some other parts to make the movement looks more realistic and natural.

With automatic interpolation

Without any adjustment to the animation curve, the fox movement will looks floating and wavy. I then proceed to fix it in the Graph Editor. The final curves are quite identical to the bouncing ball which has smooth wide curves when the character in the air and sharp ‘V’ shapes when the character hitting the ground to create proper slow in and out motion as the character being pulled by gravity.

The final animation curve for the fox’s body

After I satisfied with the main jumping motions, I then added the squash and stretch motion using the controller at the top of the character which can only move up and down (y-axis) parallel to the body. I tried not to overdo it, but I did add a bit of exaggeration to the squash shape to make it more obvious during the fast motion. The final part is to add overlapping motion to the squash & stretch by offsetting the keyframes for one or two frames late than the body motion.

Animation Process – Tail (Secondary)

The next step is to animate the tail which I think is more challenging and complicated than the body motion as the tail has several parts that move at different rates and directions. I think arcs play an important role here as my lecturer, Luke pointed out during his demo, the tail must follow the trail of the body and its tip must always try to point to its last position.

The tail should look soft, light and flexible towards its tip like a hair but with some controls towards its base. To do this, I used the keyframe overlapping / offset method for different parts of the tail combined with some manual frame by frame adjustment for better control of their directions. I spend most of the time perfecting (and also redoing) the tail motion.

I learned a lot during the whole process in terms of animation principles and technical. There are some back and forth process / try and error when controlling the curves and character controllers.

I also getting more comfortable working around in Maya except for some UIs suddenly disappear and my muscle memory keep directing me to press the Blender shortcut!

Final animation

______________________________

Task 2: Half-body Walk (Blocking)

In the second task of this week, we were assigned to animate a walking animation of a half body character to practice the layout and blocking stages.

Character walk cycle can be considered as one of the most important things for animator to learn and know. That being said, it is also one of the most difficult basic animations to master. Referring to the The Animator’s Survival Kit by Richard Williams, each step is broken down into four poses, which are contact, down (low), passing position and up (high).

References

When animating, there are several steps or stages to follow to make the process especially complex motion much easier to work on. Some of the steps are; previs / layout, blocking and splining.

Previs / layout – This is where animator will define the position and movement path of the characters and cameras from position A to B in the shot. Some important key poses also can be added as planning for the scene.

Blocking – Animator will add all the key poses for the characters. During this process, usually a ‘stepped curve mode’ is used so that the animator can focus on the poses and not distracted by the in-between motions.

Splining – This is actually a 3D animation term where animator will convert the keyframes interpolation from stepped to spline so the transition between one pose to another pose will look smoother. But the automatic interpolation will not usually give the best result, so the animator will have to tweak the animation curves to make the motion looks more realistic and believable.

Here are some of the references I found online:

Credit: From ‘The Animator’s Survival Kit’ by Richard Williams
Credit: ’24 Frame Walk Cycle’ by John McMurrough

Animation process

As pointed by Luke, we will need to animate the character and its legs to actually walking forward without moving the root as it will produces more accurate motion and position for the footsteps.

I primarily used the reference from John McMurrough since the character and structure is the same. Based on that, the timing is 12 frames for the first half of the cycle and 24 frames for the complete cycle.

I started the walk cycle pose with left foot at the front. I set the first ‘contact’ pose at frame 0, ‘down’ pose at frame 3, ‘passing position’ pose at frame 6, ‘up’ pose at frame 9 and then the second ‘contact’ pose at frame 12. This is only the first half of the cycle so the right foot is at the front now. The complete cycle is when the left foot is back to the front position.

frame 0 (Contact)

frame 3 (Down)

frame 6 (Passing Position)

frame 9 (Up)

frame 12 (Contact)

I then continued blocking the character poses for frame 15, 18, 21 and 24 by manually mirroring and referring the first half cycle poses. I used the ‘translate’ and ‘rotate’ number in the channel box and also by comparing the opposite key poses back and forth. I don’t want to copy the exact number so I can still make all the opposite poses in the walk cycle look identical but organic at the same time. After the first cycle finished, I continued to complete 4 more cycles that ended at frame 120. This time I also used the grid to estimate the location of the character body parts for each step.

frame 12 (Contact)

frame 15 (Down)

frame 18 (Passing Position)

frame 21 (Up)

frame 24 (Contact)

During the whole proses I used the ‘Step tangents’ to all keyframes so I can focus on blocking the poses. I also made some adjustment to the hip, legs and foot postures after the 5 cycles completed. Regarding the character rigging, I found that it has all the necessary controllers, including all the detail parts such as foot roll, foot break, and toe roll which are great for me to pose the character properly.

Step tangents make focusing on blocking poses easier

Final animation

Bouncing Ball and Ball Maze

(Term 1: Week 1)

During the first week class of 3D Animation Fundamentals, I was reintroduced with the 12 Principles of Animation. It’s been a long time since I first learned about the principles during my diploma time and it is a very good reminder to revisit the basic to strengthen my knowledges and skills in animation.

______________________________

Task 1: Bouncing Ball Animation

The first task is to animate a ball bouncing on the floor several times until stop.

I was informed that Maya will be our main 3d software to do assignments at UAL. To be honest, I am very new to Maya (I was a long time 3dsmax user that recently switched to Blender), so this task was quite a technical challenge but also very important to help me to get familiar and comfortable with the UI and tools.

I began by creating a simple ‘polygon sphere’ as the ball & ‘polygon box’ as the floor and scaled it up to make it larger. I immediately noticed that I keep hitting the Blender shortcuts when moving around in the viewport and switching tools. I need to train my muscle memory fast so I can focus more on the assignment, which is very important.

My first achievement with Maya

Based on Luke’s demo, I need to change some animation settings in Preferences before I start animating to make controlling tangents and curves in Graph Editor much easier.

The plan is to make the ball drop from height and have several jumps while moving to other side of the screen. Each jump will decrease its height (Y-axis) and distance (X-axis) because the ball will loose momentum and energy during the process. Below is a quick reference I found online as a guide. But I primarily refers to Luke’s demo as I learn the technical of the software as well.

‘Bouncing ball reference’ by www.angryanimator.com
Rough plan for the bouncing path

I placed the ball right on top of the floor and then freeze its transformations so I can revert the ball to its original position, scale & rotation whenever I need especially to quickly put the ball back on the floor for each drop. To animate, I set the first key at the object translations that I want to use and turn on the ‘Auto Keyframe Toggle’, so any change to the ball transformation will be recorded automatically.

Set key at object translations
Autokey Toggle (red color)

The ball started from 10 unit height (Y-axis) at frame 1, then hit the floor (0 unit) at frame 12, and jump to 8 unit at frame 24, hit the floor again at frame 34, 6 at frame 44, 0 at frame 52, 4 at frame 60, 0 at frame 66 and continue until the ball reach at 0. With this calculation, the ball decreases its height by 2 unit each bounce and decreases 2 frames from previous timing each time the ball falling.

The first draft of the animation with the default ‘Auto Tangents’ make the ball movement looks floating and unrealistic without any sense of weight and gravity.

With ‘Auto tangents’

To fix the motion, I changed the curve shapes as the image below. I used ‘Break Tangents’ at some of the keyframes to have more flexible controls especially to create the sharp ‘V’ shape tangents when the ball hit the floor. The smooth curves are applied each time the ball floating in the air to create slow in and out illusion as the ball being pulled by the gravity.

Fixing the curves with ‘Break tangents’

The ball is now bouncing with more realistic motion. It will slowing down when moving upward and faster when falling.

Fixed!

I added the horizontal movement along the X-axis from left to right which move past the bounce animation and slowing down gradually before stopping at the end of the animation. To make the animation more realistic, I manually added a rotation animation to the ball but since it has flat color without any texture, the motion is not really visible. I tried to put a texture but since I’m very new to Maya, I can’t properly add a UV texture to it. So the quickest solution I found is to lower the polygon segments of the ball and… voila! The ball is now obvious rolling!

I don’t apply a squash and stretch since it will have a weird motion because of the rotation.

Final animation

______________________________

TASK 2: Ball Maze Animation

The second task is still about a bouncing ball but this time within a maze or puzzle. Since this is the first week of class at University of the Arts London, I thought something that related to UAL would be great. So I quickly made a simple maze with basic geometries and a big UAL text at the center.

The UAL maze

I want the ball to move like its alive this time and not just simply falling and moving by the gravity only. The ball can now jump and moving by itself.

I started the animation process by posing the ball at all the key positions; the place where it will land and jump. Without making any adjustment to the animation curves, the ball will move through the floor and wall at some areas.

With automatic interpolations

Some of the principles for the curve are still heavily applied here like the previous task. The smooth curve shape is used when the ball is in the air and sharp ‘V’ shapes when the ball hit the floor to create a proper slow in and out.

The highlighted areas are where the ball jumps and falls on the floor

I think the most difficult part in this task is to control the ball position and timing when it’s rolling at the curve surfaces like at the bottom of the ‘U’ text and the half tube shape at the bottom. The ball will keep moving through the surface every time I change the timing or position of some keyframes. Even a slight nudge at the tangents controller in Graph Editor will change the path of the ball. So I had to be very careful when adjusting the animation curve so that it will move like I intended it to and stay above the surfaces.

Final animation