One of the reasons why indie devs stop their adventures at simple 2D games is because they don’t know how to make 3D animations. Even if few of them tried it, they would’ve failed. That’s because creating movement animation for your character model is real challenge. It’s actually easier to code gameplay than to make natural animation of walking humanoid. However, there’s a way to create pixel-perfect animations without being a genius.
This character animation design chapter is part of bigger tutorial to making your first video game with Blender & Unity. If you want to learn how to code C# Unity scripts, use components, make models in Blender, and create 3D role playing gameplay, then go read the full tutorial about how to make a game, it focuses on 3D RPG, but knowledge could be helpful in making any kind of game, as Unity and Blender are mainstream general-purpose game design tools with infinite uses.
This chapter covers everything you need to know about animation, animating tools, and tutorial how to create animation for our model. In previous article I went through creating humanoid 3D character model in Blender (stickman figure) that we will be now animating. If you don’t know how to use Blender or how to create 3D humanoid character model for our player object, then go give it a read.
We went through Blender basics, made a character model, and even gave him a neat black color. Now its time to create animation files that we will later import to Unity. The animations we need are:
Best Animating Software & Tools
So let’s get started. You can animate in majority of the modeling tools that I mentioned before. You can also do it in game engines and third party programs that are not modeling tools per se. However using foreign not-so-battle-tested programs may be actually counter-productive.
That’s why i narrowed the list and picked three most suitable programs for you to use, that are not only completely free but also can create top tier animations. There are few choices that I didn’t include on the list, that’s because they’re not better, or are behind huge price.
You can pretty much do the job using Unity’s Animation window. It lets you manually change position of every bone each frame. So you could move the leg a little bit every frame till your animation resembles running. But before you start, you need do these things:
- Make sure your character has all the needed bones.
- Make sure its in T Pose (legs straight, body straight, hands going to the sides, thus “T”).
- Name your bones correctly.
- Import your model to Unity.
- Set it to humanoid and check if Unity got your bones right.
And these are the steps you need to do before you start animating in Unity. Unity does this animating well in comparison to other game engines, but not so good in comparison to best animating tools.
Animating in Blender is so much easier and more comfortable than in Unity. It also produces better results.
It is most preferred solution among game designers, and this is why:
- We are using the tool that we’ve learned before, so there’s less learning involved.
- We will be using one program for creating models and animating them, which is comfortable.
- Its completely free to use, and we can even sell our models or use them in our game (that we will later sell) 100% legally.
- Is easy to use.
- Produces top tier animations.
You may think Blender is the winner right? And you are right, Blender is the winner for creating animations, but creating is not always required. Would you create your own engine for your game when there are many good ones already available for free?
The answer hopefully is no. Not that creating an game engine is a bad idea, its just not very good time investment to make one when the main target is creating successful game, that takes a lot of time on its own.
What Mixamo does
Mixamo is an browser-based application that consists of huge database of animations and a dashboard used to retrieve them. More specifically, you create model in any program, then either rig it or not (Mixamo has automatic rigger), then upload it to Mixamo, and you have ready animations for download, 100% free. This is how Mixamo works.
Why Should You Use Mixamo
Some people think it simplifies job too much and they prefer to create their own animations. Or they don’t want to use it because whenever you use free assets, there’s a chance they won’t have consisting style with our current or future assets.
IMO you should do whatever simplifies the job and saves us time. You may be getting top tier quality animations for free instead of creating them on your own, but does that matter? There’s a lot of space left for you to show off your creativity!
Sometimes using third party assets is indeed a bad idea, however in case of Mixamo, their database is so huge that we will never run out of animations! So you don’t have to worry about situations that would occur e.g. when you used free tree pack from internet, ran out of trees, then decided to create one tree on your own, and it would look completely different.
Making Player Movement Animations
And imagine how many months we’ve saved that would be spent on learning how to animate (which is hard) but instead will be spent on creating our game!
Mixamo was acquired by Adobe, seems they are following the “buy out all of our competition” marketing method. Whether it works for them or not, I don’t know. However Mixamo is still on its old address, so head to their website and register an account. There’s a button in right top corner:
It will take you to Adobe. With Adobe account, you can use any of their services. Fill these fields:
Then Press “Sign Up” and activate your email. After you’re done, head over to Mixamo again and login.
Click this button on the right side of dashboard:
And upload the model we’ve made before in Blender. “Character.fbx” should be on your desktop, unless you saved it somewhere else. It may take from few seconds to minutes to process it. Then such window will appear:
Then Click Next. Now we need to drag these circles to proper places:
And Click Next again. Now the automatic rigging attempt will happen. Sometimes the tool fails at this moment. That means something is not right with our model, perhaps its missing some body parts or they are too close to each other? The process should take from few seconds to minutes. After its done, Click Next again.
Downloading Rigged Character Model
Your model should be added to Mixamo now and you can choose any animation you want! If you want you can also download the rigged model (without any animations) but that’s not necessary.
Finding & Saving Player Animations
If you got a bug and your character is partially under the ground level, then refresh the browser and click random animation afterwards, it should disappear. A reminder, we need to make our character:
- Be idle.
So get one animation for each of these three states. I think running is more suitable than walking for majority of games. No reason to annoy players with slow movement speed of walking animation. Search for our animations there:
Then choose the preferred one and download. I recommend to use default settings for now, but you can always adjust them afterwards. If the model is changing position, then there should be an option to make it not. Always make sure to click it if it’s there.
That’s because we will add our own movement script later, and if the animation was changing position on its own, it would be colliding. Do this for every state we need. Save them on your desktop.
Should Game Developers Take Shortcuts?
I am die-hard fan of learning, improving, and doing the work on your own. But I am even bigger fan of working smart, seeing the bigger picture, and not wasting too much time whenever it can be avoided.
We weren’t making animations on our own, but we used a public database to assign our model to them, and saved ton of time. And obtained really high quality animations!
The time we saved will be used to further develop our game. Think of cutting corners wherever rational as of investments. In the end, time is our most valuable resource.
In this chapter we created (or rather, downloaded) animations for our humanoid character. Our stickman model now can run, jump, and he even has idle animation. Now its time to import all these movement animations to Unity, create Animation Controller, and set proper state machine transitions between animation clip nodes. So head to next chapter about setting Unity’s Animator & State Machine transitions.