Simple and Advanced Topics of Animating 2D Characters
4.4 (20 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.
4,716 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Simple and Advanced Topics of Animating 2D Characters to your Wishlist.

Add to Wishlist

Simple and Advanced Topics of Animating 2D Characters

A comprehensive and easy to learn guide to make 2D bone-based characters from scratch.
4.4 (20 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.
4,716 students enrolled
Last updated 2/2017
Curiosity Sale
Current price: $10 Original price: $200 Discount: 95% off
30-Day Money-Back Guarantee
  • 3.5 hours on-demand video
  • 1 Article
  • 1 Supplemental Resource
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Create custom bone-based animated characters in Unity 3d
  • Work with sprite sheets in Unity. We'll cover importing, slicing and setting up the pivot points.
  • Assemble bone based 2D characters, organize all the body parts in Hierarchy and prepare for animating.
  • Create Idle, Walk and Jump animations for your character. We'll make a Jump animation with an interesting technique that involves Blend Trees.
  • Configure transitions between animations in the Animator component.
  • Write a simple controller script that will let our character move on the level and jump.
  • Use ScriptableObject assets to store outfits of your character.
  • Apply outfits from your custom-made assets to your character changing the way he looks.
  • Display extra clothing and decoration items like bracelets, necklaces as a part of your character's outfit.
  • Make characters with joints that will be able to “turn into” differently shaped characters while using the same animations.
View Curriculum
  • This course is very beginner friendly. We spend most of the time working in Unity Editor. All the scripts that are used in the course are pre-made and explained line by line in lectures. We do not use any paid assets, all the art is free and allowed for commercial use. You will get access to a couple of projects that I've saved during development as well as the final project with all the advanced features.
  • You should install the latest version of Unity3D to work on this course and open example projects that are provided with this course (the final project was saved in Unity 5.5.1f1).

Making a 2D platformer game is a nice way to start learning about Unity game development. In this course you will learn how to create so-called “bone-based” 2D characters - characters that are made out of separate body parts. The material in this course is divided into 3 Sections. Section 1 features a short introduction to the course.

In Section 2 we will focus on making a simple bone-based character from scratch. We`ll go through the whole process of character creation from setting up an empty Unity project and importing sprite sheets with art to assembling a bone-based character the right way and animating it using Unity`s built-in mechanim animation system. By the end of this Section we`ll have a simple bone-based character that can walk and jump on our improvised level.

In Section 3 we will talk about some advanced techniques of working with 2D animated characters. For bone-based characters correct sorting order in the scene is very important, so in our first couple of lectures we`ll talk about resolving all the sorting order issues. Then we`ll discuss how to apply different looks and different clothing items to your character. This approach is very convenient, because you can have all the characters in your game made from a single character prefab, but they can all use different outfits and look differently. It`s also much easier to dress your characters or re-skin your game if you need. We`ll also talk about displaying some unique items on your characters such as bracelets, necklaces, belts, other decorations. The same approach can be used to display other clothing items. We`ll finish this section by making a more complex character that will have “joints”. Joints will allow us to use the same animated model for characters that are differently shaped (wider shoulders, shorter legs, longer arms, etc…).

Who is the target audience?
  • This course is for people who are starting out with Unity development and want to know more about making 2D platformer characters. It provides some basic info as well as some advanced techniques for making interesting animated 2D characters. You should be familiar with basic C# to read and understand the scripts that we use in this course.
Students Who Viewed This Course Also Viewed
Curriculum For This Course
20 Lectures
2 Lectures 08:11

This Course presents an in-depth guide on making 2D animated bone-based characters. We'll start by importing sprites into an empty Unity project and gradually work our way towards having several animated characters that can easily change their outfits even while the game is running.

Preview 08:09

In this lecture you will be able to download additional resources.

Downloadable materials
Making a bone-based 2D character in Unity
8 Lectures 01:22:35

In this lecture, we will create an empty Unity project. Make sure that you create a 2D project because this will affect the way your sprites are imported into the project. We`ll import the character sprite sheets and slice them with Unity's Sprite Editor tool.

Preview 08:36

In this lecture, we'll discuss the logic behind setting up the pivot points for each of our sprites in the Sprite Editor. We'll start gradually bringing in all the sprites from our Assets folder into the scene and assembling our character.

Preview 09:09

In this lecture, we'll organize all the body parts of our character in Hierarchy in the most appropriate way for animating our character in future. We'll also apply correct Order in Layer for each of the body parts to get them correctly sorted and displayed in the scene.

Preview 10:04

In this lecture, we’ll start by adding a simple background to our scene and a simple platform for our character to walk on. You will learn how to add new animations to your character. We'll make the first super simple Idle animation.

Background and Walk Cycle Animation - Part 1

In this lecture, we’ll make a more complex Walk cycle animation for our character. It is best if you find some reference on the internet for “cartoon walk cycle” to recreate the same movements for your character. Our Walk animation will consist of leg and arm motions. We will also move our FrontView game object to simulate the natural motion of out character’s head and torso during walk cycle.

Background and Walk Cycle Animation - Part 2

In this lecture, we will attach all the other components that are required for our character to start moving and walking in the scene to our character game object. To achieve this effect, we'll need a Rigidbody2D, we’ll use two colliders and we’ll need a simple controller script that will handle our players` keyboard input and transform it into the movement of our character.

Controller Script and Animator Configuration - Part 1

In this lecture, we’ll finish inspecting our controller script. We’ll spend some time talking about the Animator component and configuring the transitions between animations on our character.

Controller Script and Animator Configuration - Part 2

To make our character more functional and exciting, in this lecture we’ll create a new jumping animation or a jumping state that will actually consist of 7 different animations that are blended using a Blend Tree.

Bonus - Making a Jump Animation
Advanced techniques of working with bone-based 2D characters
10 Lectures 02:01:08

In this Section we will add more visual elements to our battle scene: player portraits, mana pools, a rope to measure time until the end of the turn, a simple background image. We’ll create one more prefab that will represent creatures in our game. We’ll have our first discussion on how dragging of cards and creatures works in this game. And we’ll use a tweening engine (in our case – DOTween Engine) for the first time.

Introduction to Section 3

For bone-based characters correct sorting order in the scene is very important. This becomes apparent as soon as you bring more than one character into your scene. Your characters might get interlaced in a number of weird ways when they walk on top of each other. In this lecture, we’ll discuss several ways of fixing these issues.

Resolving Sorting Order Issues

In this lecture, we’ll take a look at a script that helps us resolve sorting order issues if all of your characters are on the same Sorting Layer. At the core of this script there are two methods. One of them recursively searches for all the game objects that our character consists of, another method searches the list of game objects that we can obtain with the previous method for all the SpriteRenderers.

Sorting Order Fix Script - Part 1

In this lecture, we’ll continue inspecting the SoringOrderFix.cs script. Now that we know how to obtain the list of all the SpriteRenderers that our character has, fixing the sorting order is relatively simple. We have to modify the Order in Layer by adding a certain value to it.

Sorting Order Fix Script - Part 2

In this lecture, we’ll take a look at an interesting technique that will let you create your own custom assets in your Unity project that will help you hold some data (for example, stats of your characters or – like in our case – all the information about their appearance). Using custom assets is very convenient for many reasons. You can easily create them through the right-click context menu in your Assets folder and edit them in the inspector.

Scriptable Object Assets in Unity

In this lecture, we will try to apply the info that is contained in our OutfitAsset to our existing character using an OutfitApplier.cs script. We'll use the most basic functions of this script that might be generally called “character re-skinning”. The inner workings of this script as well as some of the more advanced functions that it provides will be discussed throughout the remaining Lectures of this course.

Applying Outfit from Asset

In this lecture, we will take a look at the most basic functions of our OutfitApplier.cs script that allow to re-skin characters (change sprites on body parts and clothing items that already exist on our character prefab).

Outfit Applier Script - Basics

In this lecture, we will try to add some extra items to our character like necklaces, belts or bracelets - items that were not present on our character`s prefab. We’ll study the part of the OutfitApplier.cs script that is responsible for displaying these extra items.

Displaying Unique Items

In this lecture, we’ll start making a more complex, improved character with “joints”. Joints will allow us to use the same animated model for characters that are differently shaped (wider shoulders, shorter legs, longer arms, etc…). I will show you how to transform our existing character into a character with joints by adding a couple of extra empty game objects in Hierarchy. You’ll find out about a useful script/tool that allows you to re-establish the connections in your animations after you made some changes in the Hierarchy.

Character with Joints - Part 1

This lecture we’ll create an extra OutfitAsset, but this time we’ll use another sprite for the Torso of our character, which will result in him having wider shoulders. We’ll configure the OutfitAsset and our new character with joints to work both for our previous skinny characters and for this new wide-shouldered one. 

Thanks a lot for watching this course. It’s been a pleasure making this course for you. And, of course, good luck with your interesting 2D games and unique 2D characters!

Character with Joints - Part 2
About the Instructor
Sandor Kiss
4.2 Average rating
8,700 Reviews
141,942 Students
74 Courses
Teaching 140,000+ Students, Performance Marketer

Hi, I'm Sandor!

I am passionate entrepreneur and performance marketer with ten thousands happy students.

Let me tell you my story...

At the age of 16, I founded my first online business. After being a full-time CPA marketer for more than 5 years, I decided to shift gears and use my skills to build companies.

Ever since, I have been lucky enough to do what I love the most: entrepreneurship, travelling the world, pushing my comfort zone and discovering things that I couldn't learn in the classroom.

One year ago, I decided to take the next step and share my knowledge with those who are ready to start their own business. This decision brought me to Udemy, where I am able to combine my biggest talents: entrepreneurship, marketing and teaching.

My teaching philosophy on Udemy is simple: I am crafting trainings that I wish I had available to me when I started my first company.

My courses serve a very important goal: helping you to transform your life and becoming a successful entrepreneur and marketer.

I've seen the impact a solid business can have on someone's life. That's why I can only encourage you not to miss out on this opportunity.

As of today, I've sold more than 250,000 trainings, established multiple successful online businesses and coached hundreds of students.

So, that's my story. But now, I just want to ask you a simple question.

Do you want some help?

Do you want to establish your own business, become an entrepreneur or simply generate more revenue from your current business?

Great, because I am sure I am going to be able to help you. Feel free to check out my course portfolio and let's see if we can work together.

Best Regards,

Sandor Kiss

Vladimir Limarchenko
4.4 Average rating
282 Reviews
9,325 Students
2 Courses
Game Developer, Unity3d and C#

I am a Unity3d and C# developer with about 2,5 years of experience in game development. I also have a scientific background. I got a Ph.D. in Theoretical Mechanics in 2014, but then decided to pursue my childhood dream of becoming a game developer. I`m mostly interested in making 2D games. In my opinion, a perfect game should have some tactical or puzzle element to it. 

Over the last couple of years I`ve also worked as an instructor and created several courses on game development. Some of the topics of my courses are: making a 2048 game, building quiz apps, creating a simple virtual pet game, animating 2d characters, building an in-game character customization system.

I`m always willing to experiment and work on some interesting and challenging game mechanics.