Animating Beasts Using The Procedural Way in Unity
Events
Subscribe:  iCal  |  Google Calendar
Los Angeles US   27, Sep — 1, Oct
Moscow RU   4, Oct — 8, Oct
Prague CZ   5, Oct — 7, Oct
São Paulo BR   10, Oct — 15, Oct
Latest comments
by vijaykhatri96@gmail.com
46 min ago

Great! If a beginner wants to learn Houdini then they needs to click here: https://hackr.io/tutorials/learn-houdini

why Hellblade didn't come on ps4 yet ?

by daria
2 hours ago

Thank you for noticing, alfred, we've swapped them

Animating Beasts Using The Procedural Way in Unity
15 August, 2018
Animation
Interview

A couple of days ago, we’ve shared on Twitter a mind-blowing video by Makan Gilani that features an epic boss fight with a marvelous robot dragon set up with the help of procedural animations in Unity. The thing is that the sequence is made of pure animations with no textures or other some other details, but the artist managed to make it look like something from AAA game. We had to talk to the artist about his experiments with animation, so today we present to you our talk with Makan Gilani about the way you can make your 3D beasts break the Internet. 

Introduction

Hey! I’m Mak from Toronto, Canada. I’m a designer with a background in programming. I like to mess around and experiment with weird and interesting game concepts. I don’t have any formal education, I’m completely self-taught when it comes to programming and game dev. I’ve only just finished my first year of computer science at University. I haven’t worked for any companies or on any projects that I can refer to. I’ve mostly spent time experimenting and trying to recreate things I’ve seen in AAA games.

Procedural Animations 

It started out as part of this 30-day project held by Day9. The premise was to set yourself a goal with milestones you hit every week. The project I chose was to design a boss battle every week. My biggest problem is that I am an absolutely TERRIBLE animator. I’m very impatient when it comes to animating characters in the traditional way, and the results are usually not that great. So instead I decided to create a procedural animation system to help bring the creatures I design to live. I spent the first week of the challenge, creating the animation system and the biped mech. After that, I pushed myself to improve the system and design unique characters.

Inspiration

I definitely take inspiration from film and animation to come up with creature concepts. I think I’m one or two more videos away from Disney lawyers knocking at my door. But I always try to be inventive with how I use movement and shape with my creatures. That’s another reason why I don’t focus as much on the visuals for the creatures. All the creatures use the exact same primitive shapes, and this forces me to create interesting shape and movement since I can’t
lean on the beauty of the models. I also try to have a wide range of creature styles. This allows me to stretch the boundaries of the procedural animation system and add new functionality. The first one had 2 legs, then 3, then 4 and I had to adjust the system to account for all these different types of movement. So that’s my advice, just keep adding legs.

Unity

Unity is just the engine I always use, but I do like how quick it is to get an idea off the ground and start fiddling. That being said, you can recreate these in any engine.

My process for setting up these animations is set up around the system I created in the first week of my project. The first step is to design your creature then give yourself the points to manipulate, something like a limb. The key is to find a balance in the number of points. You don’t want so many that it overcomplicates things, but still enough to get your idea across.

After that, I built a series of tools to dictate how the points manipulate the portions of the creature they control. For example, with the dragon’s wing, there is only one manipulation point, and that is at the point where the wing connects to the torso. Then I use a series of tools to dictate how much each joint moves during the flaps, whether they stay tight or loose. This applies to other things like how the tentacle bends or how the torso of the dragon twists.

When animating the creatures, the system piggybacks off this idea. I select a series “Manipulation Points” then tell the system what sort of point they are, whether it’s a leg, tentacle, cannon, or a snake thing that attaches to the side of your neck. Then I use a series of tools such as the one I described to make sure the rest of the body reacts in interesting ways when I manipulate the points. The system takes all this information and animates the creatures on the
fly.

Creating Monsters

Before starting each creature, I try to see what kind of functionality I want to add to the system and what new ideas I want to explore with procedural animation. Then I try to see if I have an interesting idea around that new tool. The biggest challenge is to create a tool that helps the specific creature I’m working on, but still have it be general enough so that I can use it for the next creatures.

Other than the tools I developed, the only 3rd party tool I use is Final IK. It would probably be a better idea to create your own IK system to have ultimate control, but I’ll leave that to the people who are smarter than me.

As for time costs, that’s my favorite bit of the whole thing. My whole philosophy around making games is to design things in a way that makes them easily reusable and helps cut out a lot of the “non-design” things. That way I can spend more time designing the creatures and the particular mutation for that week. To put the time into perspective, the first 3 creatures were done one week after another. As I said before, the first week I developed the system and design a mech. The second week I just tweaked it a little to account for 3 legs instead of 2. For the self-assembling lizard, it was a little tight to meet my deadline. I had 2 final exams that week so I only had 4 days to work on it. That week the only thing I had to add was the self-assembling logic. Making sure those little fingers(?), robot sausage links found their way to their positions. The animations for the lizard were pretty plug-and-play.

Challenges

The toughest part is making sure the rest of the body reacts well to your manipulation points. You have to make sure you set the correct limits and weights for your joints to avoid any unpredictable outcomes. Finding the balance between getting the type of motion that you want, while not making it stiff and non-reusable for other creatures is one of the key challenges when making a system like this.

Advice

Unfortunately, there aren’t any resources I used to share with you. I would recommend fiddling with some of the concepts that I shared and using other games as a visual reference. When I made this system I tried to do as much as I could on my own and whenever I got stuck, I would look at other games and try to pick apart how they handled those situations.

Plans

Like I said earlier it all started as a 4-week challenge, but the whole things sort of blew up! At the moment I’m just taking my time and evaluating some of the options that I have. In the meantime, I’m going to keep working on this project and share any updates I have on my Twitter. While I’m not sure how long it’ll be
before the game is in your hands, I hope you’ll be patient and enjoy weekly 30 second clips of a stickman running for his life.

Makan Gilani, 3D Artist

Interview conducted by Artyom Sergeev

Comments

Leave a Reply

4 Comments on "Animating Beasts Using The Procedural Way in Unity"

avatar
Tarnis
Guest
Tarnis

PLZ,need tutorial

Krystian
Guest
Krystian

It’d be great to see some kind of tutorial with tips how you made it.

Vojtech
Guest
Vojtech

Really cool.

Borjka
Guest
Borjka

This is literally insane, I’m in love with the job you’ve done and would love to recreate the system but I guess my skills ain’t up yet for it. I’m looking forward to having a possibility to create something similar or better xD

wpDiscuz
Related
Partners’ project
Partners’ project
Environment Art
Interview
Partners’ project