Tuesday 1 December 2015

Lesson Learnt 007 - Walk cycle methods

I was giving a lot of feedback, for class 1 students in Animation Mentor, on animating Vanilla Walks. Got inspired i had to do a practice on this. When do we actually attempt past assignments again right.

While animating i realised 2 things.
1. I it took way more time then i thought it will take me.
2. There are new mistakes that i encounter.

This are the stages in animating the Vanilla Walk using the Monsterball Rig from Animation Mentor.




There are basically 2 methods to animate a walk.
1. Animate the walk forward in respect to a stationary ground, leaving the Root Control untouched.
2. Animate the walk on the spot, as if walking on a treadmill, after which translate Root Control forward to create a walk on normal ground.

Both methods have its advantages and disadvantages.
1. Easier to animate together with other sequence or actions. Don't have to worry about the Root controller. Difficult to copy the exact displacement to the last frame to create a cycle.
2. Usually used in games where a cycle of a action is needed. Easier to create cycle because the exact displacements can be easily copied over. Need to ensure the displacement is the same as the displacement of Root Control to prevent sliding on the ground.

In this practice i used method 1. The mistake became apparent when i translated the Root Control. So the mistake is, while animating on the spot, the rear kick off was also done on the spot instead of constantly moving backwards. It can be clearly seen below.


It may not be visible playing in real time. But when the Root Control was translated the kick off foot slides forward.

Make sure in graph editor the curve looks like the image below. The foot kick off is from f12 - f15.



Instead of the image below, where the translation is almost none.



Make sure the Root Control translation curve looks like this.





And the feet will not slide anymore.





Saturday 7 November 2015

Maya tips 009 - Update on Constraints

This is an update to an earlier post where the constraints are simply parented to the locators separately. This causes problem if the object itself is to be animated, or when a reposition of the constrain is needed. This method is clearer and is much more flexible to use.

Assuming the weapon (Stick) is already created.
1. Click "Create" from menu
2. Click "Locator"
2. Scale Locator to appropriate size



1. Press "ctrl d" to duplicate 2 more Locators and rename the Locators
2. Reposition them equally on the object



1. Highlight the Locators and the object Stick
2. Click "Edit"
3. Click "Group"



Rearrange the Locators and Stick to this hierarchy sequence below by using middle mouse drag.



Click "Freeze transformation" for the whole group so that the values are zeroed and can come back to original position easily.

Load in a character Rig, pose the hand, and position the Stick to the hand using the "Back" Locator.



1. Select any of the the "Finger cup control" (because it is almost never used to animate, except maybe for smear frame effect)
2. Shift select the "Back" Locator
3. Click "Constrain"
4. Click "Parent"



The other hand can also be constraint and they can be switched around.

1. Make sure all attributes are keyed
2. Switch off the constrain to the right hand
3. Similar to the right hand, select any "Finger cup control"
4. Shift select "Back" Locator
5. Click Parent constrain
6. Now there are 2 switches to change between constrain to right hand or left hand. Key it too.
*Note - Make sure when 1 switch is On the other must be Off. Make sure "Blend Parent 1" is on "1".





With this set up the "Middle" Locator or the "Front" Locator can be used to reposition the Stick for a different grip, and it can be used to animate itself.




If the Stick is needed to be constrain to the belt, like in the video, simply repeat the same step as constraining the hands. Then there will be 3 constrain switches in "Back " Locator..



One very important note regarding the "Blend Parent" in the Locator attribute. When any constrain switch is at "1" make sure  "Blend Parent" is also at "1" in order for the constrain to work.

When "Blend Parent" is at "0" it will go back to the position that is last keyed. So in order to be exactly where it is before turning constrain off, and start animating the Stick follow the steps below.

1. Select the "Back" Locator
2. Press the "S" key so that the current position is now keyed
3. Switch "Blend Parent" to "0"
4. Switch constrain to "0"
5. The constrain on the hand is turned off and now the Stick can be animated from where it last stops.







Saturday 31 October 2015

Animation Test 001 - 4 days Workflow

The 1st Animation Test was for another company, a dialogue shot, which was not really done well because of my inexperience. I will post that one up when i have the time. So the one here is actually the 2nd Animation Test for me. For this one, its a Body Mechanics shot (which i really love!), with a fixed Set given and general guidelines on what to animate, while i can use any Rig or additional Props and there is no limit on the shot's length.

So without revealing too much on the details of the test (it may be confidential), this post will focus on the workflow process.

I was given 3 days to do a Splined shot and 1 day to do Polish.


Day 1 (8 hrs):

Since Planning is one of the most important, or The Most important for some, i gave 1 out of 3 days to do this. After reading the requirements, the best part of planning came. Watching lots and lots of videos from Youtube. Thought about the Theme while watching, and slowly streamlined the videos i watched.

Downloaded all the videos that may be used for reference later. Went through them again for more inspiration to generate ideas.

The Theme i chose was Parkour style.



After soaking the mind with tons of actions and ideas, i sat myself down on a cosy chair and started imagining the shot. And watched more videos when necessary. Somewhere in there i decided to use a sword.


Drew some Thumbnails of the rough idea of the shot.



Took my own Reference videos for the actions that were missing from the previously gathered videos.
*Sorry about the messy house*



Using Grease Pencil in Maya i quickly Blocked out the actions to get the feel and rough timing of the shot with the set prepared.


Now i can download any Props or Rigs needed for the shot or customise the Rig if really neccessary. In this case i used Jules Rig from Animation Mentor, and a free sword Rig that Carles Vallbona from FB recommended. The sword Rig was done by Carlos Contreras


Day 2 (9hrs):

Its Blocking time! Using the Reference videos and the Planning i did the 1st Blocking in Stepped Tangent. Added in breakdowns where neccessary especially on spins. Adjusted the timing. At the same time tried out different camera angles or movement. 


Due to time constrain, i shortened a part from the beginning. I took out the kicking of the sword into the air spinning before grabbing it to throw. Thinking about it now, it may actually be a good idea, if not there will be too much sword spinning. Also took out the run before the jump onto the wall.


Day 3 (11hrs):

Added in anticipations, overshoots, eases, holds, and more breakdowns for Blocking Plus. Adjusted the timing again. Splined it in Auto Tangent, and done final tweak to movements like kick-off or grip. 



Day 4 (12hrs):

Last day for Polish, based on some feedback from the company after submitting what's done by day 3. The critique, which included adding back the run, was brutal, but it made the shot alot better. Also added in the stuff that i did not have time to complete before, like the landing on the ground and the sword wobbling on contact. Since there is a run, i also created some camera movement.



Overall it was a great experience. What i would improve is the Planning or more Thumbnails, so that my Blocking can be faster. With the time saved i could have done hair movement, add more facial expressions and some squash and stretch to the limbs, have another Overlapping Action pass and Path of Action pass.









Saturday 24 October 2015

Maya tips 008 - Euler Filter

Sometimes in the middle of the splined animation the arm or legs just go haywire, rotating massively around before getting to the next key pose. Usually this occurs when there is a lot of action, having to key a wide range of poses.

So do a check on the Graph Editor.


I realised the graphs seems very extreme from one another. And if i manually adjust the curves, all my keys and poses will be off. And if i leave it alone, i may have to correct those weird frames by editing every frame. The Euler Filter will helps solve this problem. It can be found under Curves menu in Graph Editor.


Basically what it does is it shifts all keys highlighted to the closest value to 0, still maintaining the exact position in space. Its like magic! All poses are exactly the same, but the graph looks normal now! This is how much it has moved looking at buffer curves.




And the result is this.


Sometimes it may just be a few keys that go extreme. Just highlight the whole curve and click Euler Filter!

Lesson learnt 006 - Walk vs Run cycle

We all know walk cycle is. What about a run cycle? Is animating a run cycle the same way as a walk cycle but just different pose? Well i tried doing just that and it took so much more time to tweak it to look like a run. The problem here is the additional air time with both feet off the ground in run a cycle.

So this is a faster and easier way to start a walk and run cycle before going into polishing the foot and offset some of the timing.

Lets look at walk cycle 1st.
12 frames per step, 24 frames a cycle, Auto Tangents.
5 key frames, 5 poses.
Contact (2 feet), crossover (1 feet), contact (2 feet), crossover (1 feet), contact (2 feet).






Run cycle is a little different. I can't remember where i've seen this but i tried it and it works!
6 frames per step, 12 frames a cycle, Auto Tangents.
5 key frames, 5 poses.
Push-off (2 feet), crossover (1 feet), push-off (2 feet), crossover (1 feet), push-off (2 feet).



Note: Crossover pose must be exactly like this, with the front feet fully flat, rear feet at its highest TY. Push-off pose, front knee is at highest TY, rear leg is fully extent, rear feet slightly off the ground with toes straightened.


With just these 5 poses and auto tangent, the run almost looks complete. And there is a bonus air time created when splined.

Saturday 9 May 2015

Lesson learnt 005 - Customizing Bishop Rig with Extras

Easier way to customise Bishop Rig with what's available in Animation Mentor's AMP and AM shelf. Or i should say easier then customising Aia Rig.

So here it is:

1. Double click Bishop file in AMP to open, or click "Open in Maya..."


2. Import Extras into Maya.


3. Click Extras button in AM shelf.


4. Follow steps from 2 onwards.


5. Save the file on Desktop, name it, and drag it into the AMP Assignment folder.


Now it can be referenced into the shot for animation.

That's it!!






Saturday 28 March 2015

Hand poses practice

After watching an Animation Mentor lecture on the importance of Hand animation i decided to do some practice with Hand Poses.

It is very important that the hands have an appealing look or pose. It tells a story all by itself. So after taking some reference hand photos and using Aia's hand to do the pose, this is the result.


Take note a lot of time spent after posing, is actually getting a good camera angle on the pose. Some angle just don't look good and some does. And depend on the rig used, Aia's fingers are really long and thin, so it is really a challenge. I can't fully copy my hand pose, i have to tweak the position of the fingers a little to look good.

Saturday 14 March 2015

Lesson learnt 004 - Vanilla walk cycle

This is a simple walk cycle or vanilla walk cycle assignment from Animation Mentor.

The Vanilla Walk

A typical Vanilla walk or a relaxed walk will have a speed of 24 frames per cycle.




Concept

So, what makes a walk possible? What is a walk?

A walk is a series of controlled falls. When a body's Centre of Gravity (CG) is tilted by leaning forward, it should fall forward. While the body falls, a feet moves forward and contacts the ground, which balance the weight shift or CG. But not totally balanced (if not the walk will stop), still leaving some CG tilt, the body continues moving forward and the next feet takes over the balance. Therefore one importance note is that the body continuously tilts forward throughout the walk. The diagram below illustrates from left to right.
But of course if it is a Characteristic walk then the concept will be different. Below is an example where the legs are the driver of the CG forward instead of the body.

Breakdown

The Concept above is a basic description of a walk. For more detailed and complete analysis, lets get into the breakdowns.

Each cycle of 24 frames starts from one foot forward, transit to the other leg and back again. So each 12 frames is actually a symmetry of the other leg cycle. In this 12 frames there is a the ground Contact of one foot forward and one foot backwards, follow by a Passing of the rear foot to the front and then another ground Contact of that foot. It is further break down into in-betweens namely Extreme High and Extreme Low. Take note on the Extreme Low, the legs bend so the body actually dips in height a little. While at Extreme High, the leg is straightened and the toes are tipped and so the body raises.
This is just the beginning, as if it is not complicated enough..

If the character that is animated has both legs starting from one same point then this animation would sufficient. But if the legs starts from 2 different points, as in a hip, then there is more to go.

Weight Shift

When the body is supported by both legs, in Contact pose, the weight is distributed equally to both sides, so the hips is flat. 

During the transition to the Passing pose, where one leg is lifted up, all the weight is now shifted to the other leg and to the hips. So to balance and not fall side ways, the hips shifts sideways, bringing the CG back to the centre (may not need to be totally back to centre because soon the other leg will contact), as well as tilt up one side because of weight acting on it.


More Hips Rotation

Other then the hips raising and dropping from the side by RZ to take the weight, there are 2 more rotation axis. 1st is RY axis, where turning the hips will result in opening the legs less to get a bigger stride, saving energy. 2nd is the RX, where every time the body drops and raises in height at Extreme poses, it will also drag forward and backwards


Notice most of the above happens because locomotion in a human body is very efficient, and those movement actually saves a lot of energy.

Finish Up

Lastly its Splining and adding more in-betweens to create the kick-off for the rear feet. And also adding in some drag for the toes. 

The most tricky part is finding out when to start tipping the toes and also when to lift foot from ground. Studying reference videos will greatly help!

Below is Ghosting for the curves to track the motion.


Monday 2 February 2015

Lesson learnt 003 - Ball bounce concept

Lets go back to the very 1st animation assignment from Animation Mentor. 

The Bouncing Ball.

Yes it seems really basic, and simple. But it is nothing close to that. In order to make it look real requires deep understanding. And everyone starts with this practice.

The Bouncing Ball is a start to learning what it requires to be able to animate realistically. It teaches me to study reference videos closely and understand the physics behind it before even planning the shot. It teaches me the concept of Timing and Spacing in animation. It teaches me squash and stretch motion which is applies to any other rig. It teaches me the importance of path of action. It lets me use the graph editor to see what the translation curve looks like and edit it correctly. 

Concept

So this is what i understand from my research. May vary slightly from other people.

First the physics part -

According to Galileo, two bodies of different masses, dropped from the same height, will touch the floor at the same time in the absence of air resistance. And that is because the force acting on any object is the same, being gravity. From experiments done in a vacuum tube, where there is zero air resistance, a feather drops as fast as a coin. But in a normal environment, the feather gets so much air resistance it just stops accelerating so much sooner then the coin. Which means if 2 balls of the same shape and size but with different weight, drops from the same height, would contact the ground at the same time. Because both has the same air resistance.

So then why do they still seems so different after they are dropped? Because they bounce and roll different. And the thing that caused that difference is Inertial. The more the weight, the harder it is to move it or stop it, vice versa. Therefore the height reduction of a heavy ball, after it bounces off the ground, will be a lot more then a light ball. Most of the energy is used up to propel the ball in an opposite direction. Resulting in lower and lesser bounce. Likewise for distance travelled during the bounces or how far it will roll. And it is due to friction too. More force is needed to push the heavy ball against the friction on the ground, resulting in shorter distance.

An example of 2 balls with different weight :



An example of 1 bouncing ball :



This is a graph for Y-Axis translation :


This is the most tricky curve where timing and spacing is very important here. Timing is where the number of frames for each arc gets reduced after each contact. Spacing is how much the apex is curved so that the motion is slowed down near apex for hang-time, and on contact the curve is a V shaped so that the motion is fastest here. Each bounce height will reduce about the same amount, 40% in this case, throughout till it reaches those tiny bounces where the height reduction is minimal.

This is a graph for Z-Axis translation :


Because the ball hasn't come to a stop at frame 83, the curve is still somewhat steep. After changing direction then the curve gradual and comes to a stop.

This is a graph for X-Axis rotation :


Make sure when the ball starts rolling, it matches the ground contact.

This is the graphs together :


Depending on the ball materials. Assuming the ball is hard material and the ground is hard. There will be many tiny bounces at the end. Similarly a light ball will have many tiny bounces, whereas a heavy ball will have very few.

Take note to correctly curve in the right direction especially when it hits a wall and bounce back.

If the ball were to bounce off the wall in mid-air, the bounce height off the wall will still be lower then the previous bounce. There is just not enough energy to go any higher. The path of action will like something like this:



For squash and stretch, i did a test and found 3 possible variation. Slight different but its personal preference.



This is its graph:


Green curve is Y-Axis translation, Grey curve is Squash and Stretch.

The slight difference in 1st and 2nd jump is at the apex, where the one is neutral and the other has a little squash. 3rd jump differs with the extended stretch till almost the apex before it returns to neutral. 

Just realised i can add in some ease in and ease out for the squash and stretch to improve this shot.



Friday 16 January 2015

Lesson learnt 002 - Customizing Rig with extras.

This is the 1st time i use the Aia Rig from Animation Mentor. And also the 1st time i customize the any Rig with the Extras provided.


Apparently it is not so straight forward. But after doing it once it is quite easy.


1. Get the latest version of Aia and Extras from AMP. Open the Aia file.



2. Right click Extras file and click "Import into maya"



3. The Extras control will appear to the left side of the feet.


4. Select the Root Control
5. Change "Body Selectable" to "on".



6. Select the Clothes, shoes or Hair to change. And press delete!



7. Select through each Extras control Letter and click the preferred "show".

H-Hair  T-Top  B-Bottom  S-Shoes  A-Accessories



8. Select the Top.
    * See updates on "Wrapping clothes to Skin" at the bottom of the post before doing this step.
9. Shift select the body.
    (For Rigs that cannot select the body by clicking like Bishop, go to outliner and ctrl select the body       geometry.)
10. Click Wrap. Repeat for Bottom, Shoes and Accessories. For the Hair go to the next step
      * See updates on "Wrap" at the bottom of the post before doing this step.



11. Select Head Curve.
12. Shift select Hair Curve or Hair geometry.
13. Click Parent constrain.
      (Basically anything i want it to deform when the geometry is bent or stretched i wrap, anything i only want it to move together but not deform i constrain. Example: For Bishop, top, bottom, shoes, eye brows - Wrap. Hair, ears - Constrain. Accessaries - Depends how i want it to be.)



14. For clean-up and also to reduce the Rig file size, delete everything that is not needed. Including the Extras Control and all the Extras that are hidden.



15. Lastly save into the Shots directory in AMP. Reference into Maya when needed for the shot.


*Last note if the Customised Rig becomes very lag when moving the body around, go back to the original Rig file and set the geometry to Low quality display. Select the geometry and press 1 - Low quality display, 2 - Medium quality display, 3 - High quality display.



Updates (28/1/2016)

Wrapping clothes to "Skin"

A new trick found by Justin Owens from Animation Mentor. If the clothes is wrapped to the body geometry when it is at Low Resoution, when switching to High Resolution the clothes will not work. That is because when selecting the body geometry during the wrap, the current visible body geometry selected is under "aia_anim_geo_grp". In order for the clothes to work in both High and Low Resolution, the clothes have to be wrapped to the body geometry under "aia_skin_geo_grp" which is hidden. Follow steps below.
*If this is too complicated to do and there is no need to switch between High and Low Resolution then skip this method.

1. Open outliner
2. Select clothes
3. Find "aia_skin_body_geo" and ctrl select it
4. Click option for "Wrap"
5. Click "Create". (Make sure "Exclusive bind" ticked)



Wrap

1. Click "Wrap"
2. Make sure "Exclusive bind" is turned on.
3. Click "Create"