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…).
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.
In this lecture you will be able to download additional resources.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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).
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.
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.
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!
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.
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.