Blender SCreenshot No Place For Traitors

We had some hard time with the turning-animation of the main character. In the end, it was a kind of silly mistake (the left/right animations where interchanged), but it had us wondering for some time. Nevertheless I wanted to share our approach of how we faced this challenge. Even high-priced productions sometimes have difficulty to do the animations right concerning the walking and turning of the characters. The problem is that you have to do a small number of animations for a big number of possible actions. The turning-animation is a good example. Everytime the player clicks on the ground, our character first turns in the right direction, then starts to move. Of course, the angle our character turns is not set, it can be anything between 1 and 180 degrees. So how do you do ONE animation for an angle between 1 and 180?

The current approach we use (and which finally is working) is, we give our character a linear turning speed as a Constant. This speed matches our animation, which, when fully played, does a turn of 90°. The animation will be looped until the character reached the end of its turn, at which point we do a 0.2 frame-long blending into the walk-animation.

This might still be quite obvious for the most of you. Now comes the tricky part, which might be interesting for some animators: The turn-animation in blender is not one, but two, one for the left and one for the right turn. The final animation has to be without the character really turning, staying on its origin, which is nearly impossible to animate without tricks. Simply rotating the main bone won't help either, because it is quite probable that some of your bones won't copy rotation, so by rotating the main bone, the character might only be twisted in some weird angles. So this is what I did:

I placed a small (temporary) plane under the character and made it turn linear (important!) 90°. Then I parented a camera to the plane, so that in my preview-window to the right it seems like it is the character, not the plane, turning. Then I animated the turning animation, which (simply put) is re-positioning the feet, so that the foot on the ground always moves exactly with the plane. It is crucial to set linear interpolation for the frames (and only for those), when either the left or the right foot are on the ground. The movement in unity will be linear, because it is quite difficult to match movements with beziercurves, so the animation in blender (or any 3D program) has to work with a linear movement.

When you have done your animation, you simply delete the plane and import the character into unity. Oh, and be sure to call the right animation when you are implementing the animations :-)

blog comments powered by Disqus
Serious Monk Serious Monk Serious Monk
Editor | COA | Admin

We are an independent gamedesign studio based in Cologne, Germany.

serious monk
Manuel Schmitt
Maybachstrasse 155
50670 Köln
+49 221 93825101
Write us an Email

About this Webpage:

This webpage is a developer-blog, providing information for the interested about the production of our computer-games. This shall not only serve as a product-show-off, but also as a platform for other developers to read about our problems, our solutions and thoughts during the development.

We will offer tutorials, tests, opinions related to indie-game-development and of course information about the games we are currently working on.

Stay tuned. Happy gaming.