Mastering 3D Animation in Unity
4.7 (238 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
1,386 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Mastering 3D Animation in Unity to your Wishlist.

Add to Wishlist

Mastering 3D Animation in Unity

Your ultimate guide to the Unity Mecanim system for experienced and newbie animators.
Best Seller
4.7 (238 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
1,386 students enrolled
Created by Penny de Byl
Last updated 1/2017
Current price: $15 Original price: $50 Discount: 70% off
16 hours left at this price!
30-Day Money-Back Guarantee
  • 7 hours on-demand video
  • 6 Articles
  • 27 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • create animations from scratch using the Unity Mecanim system and place them onto game objects.
  • import third party animated assets into Unity and setup animation controllers.
  • write C# code to dynamically control animations through user interaction.
  • explore the use of inverse kinematics in humanoid rigs.
  • create complex animation sequences and blends dynamically controlled by the user at runtime.
View Curriculum
  • Download the free version of the Unity Game Engine.

Mastering 3D Animation in Unity is for seasoned animators and Unity practitioners who want to bring their characters to life in a game environment and want to learn the ins and outs of the mecanim system.  All aspects of animation in Unity is covered from physics, key framing, curves, forward and inverse kinematics, animation state machines and working with third party assets.  Students will be introduced to elementary code, in C#, that is essential for making dynamic animations and triggers to control character behaviour at run time. The course begins with the very basics of the Unity interface and progresses to an in-depth examination of all the mecanim components including the Animation, Animator, DopeSheet and Curve windows. The majority of lectures are follow-along, hands-on workshops in which the student will explore a variety of animation techniques from creating a simple bouncing ball through to a complex animation for a wall climbing character. Animated models and starter projects are included for students who are not confident in creating their own.  By the end of this course, the student will have thoroughly explored the functionality of the mecanim system, under the instruction of an internationally recognised university professor, and be well on their way to developing snippets of code to control all aspects of 3d game animation.

Who is the target audience?
  • This course is for those interested in a thorough understanding of the Unity Mecanim system. It is suitable for beginner game developers and animators as well as well seasoned animators wanting to import their work into games.
  • This course is not for those wanting to learn to program in Unity.
Students Who Viewed This Course Also Viewed
Curriculum For This Course
43 Lectures
Press Play
7 Lectures 40:06

A welcome and overview of this course.


Animation is an optical illusion produced when a rapid succession of images enters the eye.  The brain processes them as though it is seeing movement.  In this video we explore how and why animation works.

Preview 03:05

In 1981, Disney animators Ollie Johnston and Frank Thomas, published The Illusion of Life. In it they discuss the 12 principles required to breathe life in animated scenes and characters.  Although a game is not a film, these principles still hold.  Watch while Granny takes you through each one including:

Squash and stretch:

The deformation of objects in reaction to the laws of physics; for example, a tennis ball hitting a wall squashes on collision.


Presenting short actions or hints to a viewer of what is about to happen; for example, a person about to jump in the air will bend their knees first.


Presenting an idea such that no mistake can be made as to what is happening; for example, viewing an angry person's face gives a better impression of their mood than the back of their head.

Straight-ahead action and pose to pose:

These are animation drawing methods. Straight-ahead action refers to drawing out a scene frame by frame. Pose to pose refers to drawing key frames or key moments in a scene and filling in the gaps later.

Follow-through and overlapping action:

This is the way in which momentum acts on a moving object to cause extra motion even after the initial force has stopped; for example, a baseball pitcher's arm does not stop moving the moment the ball leaves his hand. In addition, his legs and body also move in response to the action. Overlapping action occurs when secondary objects move with the main object.

Slow in and out:

Natural movement in which there is a change in direction decelerates into the change and accelerates out; for example, a car turning a corner slows into the corner and accelerates out. A person jumping will slow into the impact with the ground and speed up as he pushes off the ground with his legs.


Motion in animals and humans occurs along curved paths. This includes the rotation of limbs and the rise and fall of a body when walking. The same curved movement is also found in the trajectory of thrown objects.

Secondary actions:

These animations support the principal animation. They give a scene more realism; for example, a person walking along the street won't just be moving his legs. His arms might swing, he may be talking, and his hair could be flowing with the breeze.


This refers to the speed of actions. It is essential for establishing mood and realism; for example, a fast-moving character will appear to be in a hurry, whereas a slow-moving character portrays lethargy or disinterest. For realism, the correct timing of actions with motion and sound is critical. Slow animated walking characters can look like they are slipping across the ground if their forward movement and leg cycles are not matched. A delay between an action and a sound, such as a bomb exploding and the associated sound effect, adds to suspension of disbelief.


Perfect imitations of the real world in animation can appear dull and static. Often it is necessary to make things bigger, faster, and brighter to present them in an acceptable manner to a viewer. Over exaggeration is also used in physical features of characters for the effects of physics; for example, in Warner Bros.’ coyote and roadrunner films, when the coyote is about to fall from a great height, the time he spends in the air realising his predicament is exaggerated far beyond what normal gravity would allow.

Solid drawing:

This is the term given to an animator's ability to consider and draw a character with respect to anatomy, weight, balance, and shading in a 3D context. A character must have a presence in the environment, and being able to establish volume and weight in an animation is crucial to believing the character is actually in and part of the environment.


This relates to an animator's ability to bring a character to life. It must be able to appeal to an audience through physical form, personality, and actions.

Preview 04:30

The Unity Editor.  This is where all the action takes place and there's no time like the present to get acquainted with it.  In this lecture watch and follow along as I show you how to create a Unity project and explain the purpose of each window.

The Unity Interface: Part 1

The greatest power in Unity is being able to add dynamic content to control the game environment at run time.  This is achieved by the use of code that accesses and manipulates the properties of objects in the scene.  This video will show you how to create a simple script to influence the behaviour of a game object.

The Unity Interface: Part 2

The quickest, easiest and most natural animation that can be made in a game engine is via the use of the Physic's System.  Simply by giving an object mass and placing it under the force of gravity you can instantly create movement.  Watch and follow along as I show you how to manipulate the physics properties of a game object and get it moving with a few clicks.

Animating with the Physics System

This section contains answers to frequently asked questions.

The Mecanim System
6 Lectures 01:13:15

Remember the animation principle of "Pose-To-Pose"?  This is exactly what keyframes in animation are for.  By setting key positions for a game object at set times you can enable a process called "Tweening" in which the game engine takes all the hard work out of animating and automatically fills in the gaps of the animation for you.  Keyframes and Tweening are the fundamental principles underlying computer-based animation generation.  You will find their use in 3D animation tools such as Maya and Blender and you'll also find they are key elements in Unity's Mecanim System.

Keyframe Animation

A thorough understanding of keyframes and curves is crucial for your success as an animator.  Follow along with this video to create a bouncing ball animation complete with squash and stretch entirely with Mecanim.

The Animation Window: Keyframes and Curves

Animation is basically the movement of objects.  Objects can move in two ways; globally or locally.  All objects move in the world when you modify their position and rotation (and sometimes their scale).  When an object is attached to a parent, that object also has a local animation which is said to be the measurements of such with respective to the parent.  For example,  if you swing your arms around like a windmill, the hand on your left hand moves in the world.  Its world movement (position and rotation) is measured respective to some world origin by which all other objects have a world measurement.  Your hand, because it is also attached to your shoulder has a local position and rotation which is measured respective of the position and rotation of the shoulder joint.

Animating in Local and World Positions

In this video you will learn how to setup a simple sequence of animations that open and close a door.  A plan of how the animations play out is given as a type of flow diagram called a state-machine.  In such a diagram the animations are known as states and the pathways from one state to the other are called transitions.  By the end of this lecture you will have learnt how to construct a simple state-machine from several animations that will open and close a door.

Preview 12:56

Extending on the state-machine of an opening and closing door, we will examine how to control when the door opens and closes using triggers.  These will allow you to walk a character up to the door which will then trigger the door to open.  After the character walks through, the door will close.

Triggering Animation States Part 1

This lecture completes the opening and closing door exercise allowing the door to be triggered to open when the player walks through and closes after they've moved on.

Triggering Animation States Part 2
The Bare Bones of Animated Models
8 Lectures 01:14:57

While you can animate all mater of objects and properties in Unity, nothing is more interesting and fun to work with than rigged models.  This video will explain the basics of a mesh, its skeleton and rigging.

Complex animations of models are best achieved in dedicated modelling and animation packages such as Maya, 3DS Max and Blender.  If you are not a seasoned animator and have no experience animating, the best place to start learning is to download a free version of Maya or Blender and consult the respective manuals.  Keyframes, tweening and curves are employed in these packages to create sophisticated actions.

If you are not quite ready to launch into the creation of your own rigged characters - DON'T PANIC - all model resources for the following lectures are supplied.

Understanding Bones, Joints and Rigs

This short lecture provides experienced animators with the instructions for preparing their models for FBX export formats that are supported by Unity.

Importing Animations from 3D Software
01:06, owned by Adobe, is an excellent resource for getting hold of characters and attaching a plethora of animations to their rigs.  Through 4 or 5 clicks you can have a fully rigged and animated character ready to import into Unity.  This video will take you through the steps to obtain a Mixamo character complete with animations of your choosing.

Creating An Animated Character with Mixamo

The native 3d model and animation format used by Unity is FBX.  You can export to this format from all 3D software packages and Mixamo.  In this video you will learn how to deal different types of animated files from a single file including all the character animations to multiple files each containing one animation.

Importing FBX Animation Files into Unity

Finally we have a character in Unity.  Things are going to get interesting and by the introduction of code you will be able to control the animation state-machine and create a character with dynamic animations that change according to key presses.

Creating Walk/Idle Controls for a 3rd Person Character Part 1

This lecture completes the walk and idle animation states and code added to the character.

Creating Walk/Idle Controls for a 3rd Person Character Part 2

There are two basic types of rig in Unity; generic and humanoid.  While the generic format is used for simple objects, the humanoid rig is far more powerful, besides allowing for compounding animations, control of animation transforms and supporting inverse kinematics, humanoid based animations can be shared across multiple models.

Rig Types: Generic versus Humanoid

What is a third person game character if they can't jump.  We all know that pressing the spacebar should result in our player character leaping into the air.  Here we building on the walking and idle states to include a spacebar jump.

Adding a Jump Animation to the Walk & Idle
Working with Humanoid Rigs
5 Lectures 55:23

One powerful aspect of using humanoid rigs is that you have a wider range of control over root motion.  This dictates whether or not the animation actually moves the characters transform in the world space.  Allowing an animation to control the movement of a character, rather than relying on key presses that run translation code, if we let the animation move the character in world space we can achieve more fluid results.  This functionality also allows for the joining together of multiple complex animations in which the character is moved and rotated a lot.

Understanding Root Motion in Humanoids

Time for a bit of fun.  Let's make some machinima for a music video clip.  The perfect way to practice the creation of an animation state-machine and work with root motion.

Preview 09:49

Now that we've had some experience with root motion, its time to revise the old character control script used previously.  Instead of programming translations to move the character around we will employ the root motion contained within the animation itself.

Creating a Drive Script Incorporating Root Motion

Sometimes a more natural animation may better be shown as a blending of several animations.  In this video you will learn how to use the characters speed to smoothly blend between a walking and running animation using a blend tree.

Creating a Blend Tree Animation and Controlling it with Code

Its one thing to move a character around with root motion.  It all works well until the character starts walking through walls!  In this video we bring back the physics system and combine it with a root motion drive script to control the movement of the character but to also build in collisions.

Including Physics with Animations
Triggering Animations
10 Lectures 02:02:53

In a previous lecture we created a door with a trigger that would open and close as the player walked up to it and through. We now revisit this idea and add a trigger object into a scene in which the character is allowed to walk around the environment, but when they bump into something the death animation is triggered.

Preview 14:51

Interacting with other objects in the game scene are critical behaviours for a third person player character. Depending on the object the player is going to interact with a different animation may be required.  In the game, The Sims, such animations are triggered in the characters by the actual object.  For example, a chair is for sitting while a guitar is for strumming.  In this video we will create a chair object that informs the player character that the appropriate animation to play when interacting with the chair is to sit on it.

In part one you will setup the characters animation and movement controllers.

Triggering Animations By Clicking On an Object

In this second part of triggering a character to sit on a chair, the trigger component will be added to the chair object.  When a player clicks on the chair it will automate the character to walk over to the chair and trigger the sitting animation.

Triggering Animations By Clicking Part 2

In the final part of this tutorial you will learn how to line up the character's sitting animation with the chair to make the action look more believable.  We will also add in code that will allow the character to stand up and walk away.

Triggering Animations By Clicking Part 3

In this series of lectures you will follow along as we create a character that can jump up and grab a ledge.  It will then be able to shimmy along the ledge from left to right and also climb up onto of a container.

Out On A Limb: Jumping and Climbing

This video continues the step-by-step climbing up character actions controlled by the keyboard.

Jumping and Climbing Part 2

Editing Read Only Animations

This video continues the step-by-step climbing up character actions controlled by the keyboard.

Jumping and Climbing Part 3

This video continues the step-by-step climbing up character actions controlled by the keyboard.

Jumping and Climbing Part 4

This video continues the step-by-step climbing up character actions controlled by the keyboard.

Jumping and Climbing Part 5
Blend Shapes
3 Lectures 13:03

Blend shapes allow you to morph the same of a mesh from one state to another.  The technique uses copies of the same mesh in different states and tweens all the vertices at once from one location to another.

Introducing Blendshapes

This article provides some advise on where to find further assistance for creating blendshapes in third party software.

Creating Blendshapes

This project uses the free Boris model listed with other free rigged assets listed at:  The model of Boris' head is used to create an open and closed mouth as well as eye blink animation.

Blendshapes for Facial Animation
Inverse Kinematics
3 Lectures 39:08

In this lecture we begin our exploration of inverse kinematics.  We program and animate a character's hand to move on top of existing animation and examine how Unity calculates inverse kinematics.

Using Inverse Kinematics to Manipulate Humanoid Joints: An Introduction.

In this video we will use the inverse kinematic system to program a character to look at an object.  This dynamic animation is added on top of the existing animation allowing for a blend of motions to naturally occur.

Making an animated character dynamically look at an object

Using inverse kinematics we will customise a picking up animation to reposition the characters hand to the exact location of a game object that it wants to hold in its hand.

Using IK to Pickup and Hold an Object
1 Lecture 00:02

Here you will find solution files for the final projects from some of the hands-in exercises from throughout this course.

Solution Files
About the Instructor
Penny de Byl
4.7 Average rating
417 Reviews
2,284 Students
4 Courses
Professor of Computer Science, Games and Procedural Art

Hi, I'm Dr Penny de Byl.  I'm a full stack developer of most things computer sciency and academic with a true passion for teaching.  I've been teaching others about games development, programming, computer graphics, animation and web design for over 25 years in Australia and Europe. My best selling textbooks including Holistic Game Development with Unity are used in over 100 institutions world-wide.  My graduates work at companies like Apple, Ubisoft, LinkedIn and Deloitte Digital.

I've won numerous awards for teaching excellence at the state, national and international levels including the Australian Learning and Teaching Council's Excellence in Teaching Award and the Unity Mobile Game Curriculum Competition. My approach to teaching computer science and related fields is project-based giving you hands-on workshops you can immediately get your teeth into.

I want you to leave my virtual classroom fully armed with a toolkit of skills for life-long learning.  I'm excited to now be focussing my efforts full-time on Udemy to bring my years of knowledge and experience to those eager to learn about technology.