In a far world, deep in the ocean, without any rules there will be no mercy, no retreat and no second chance. Submerge is highly ambitious, involving some complete new game mechanics in the real time strategy sector. No other strategy game allows you to connect in a running session without having some huge disadvantages ingame. Submerge offers you no more waiting time in the lobby and no more searching for players. If there is a running game you can just join without handicap. Play the way like it still exist in many third person shooters. Use this chance to support a highly innovative tactical-action-survival game.

Report article RSS Feed [Submerge] Tutorial - Animations for Unity 4/7 (Update)

In this Tutorial we explain the workflows for Unity 3D of our art department in seven steps. We hope this article could be useful for other game dev teams and modding groups. We will describe what advantages we got and what problems we solved. We try to give you a view insight the whole pipeline and show you some tricks. Feel free to ask questions. This is the fourth article. It's about animations for Unity 3D with 3DS Max.

Posted by Meister_Wolo on May 27th, 2012
Intermediate Animation.

1. Overview at our Wiki

First we need an overview of our guidelines. There are naming conventions and descriptions for every mesh, animation, bones and dummies which are to be created. 

Default Animation Parameter:

Bones

All bones got unique names. Examples:
->Head
->Neck
->RightShoulder->RightArm->RightForeArm ->RightHand
->RightHandPinky_Base->RightHandPinky_Mid ->RightHandPinky_Tip ->RightHandPinky_End
->RightHandRing_Base ->RightHandRing_Mid ->RightHandRing_Tip ->RightHandRing_End
->RightHandMiddle_Base ->RightHandMiddle_Mid ->RightHandMiddle_Tip ->RightHandMiddle_End
->RightHandIndex_Base ->RightHandIndex_Mid ->RightHandIndex_Tip ->RightHandIndex_End
->RightHandThumb_Base ->RightHandThumb_Mid ->RightHandThumb_Tip ->RightHandThumb_End
->LeftShoulder->LeftArm->LeftForeArm ->LeftHand ->LeftHandPinky_Base
->LeftHandPinky_Mid ->LeftHandPinky_Tip ->LeftHandPinky_End ->LeftHandRing_Base
->LeftHandRing_Mid ->LeftHandRing_Tip ->LeftHandRing_End ->LeftHandMiddle_Base
->LeftHandMiddle_Mid ->LeftHandMiddle_Tip ->LeftHandMiddle_End
->LeftHandIndex_Base ->LeftHandIndex_Mid ->LeftHandIndex_Tip ->LeftHandIndex_End
->LeftHandThumb_Base ->LeftHandThumb_Mid ->LeftHandThumb_Tip ->LeftHandThumb_End
->Spine ->Spine1 ->Spine2
->RightUpLeg->RightLeg ->RightFoot ->RightToeBase
->LeftUpLeg->LeftLeg ->LeftFoo->LeftToeBase
->Hips
->Root

Controller

All bones got connected to controller (dummy). Every controller got an unique name.
Example :
-> LeftHand_Control
-> RightHand_Control 
-> Root_Control
Attention ! With this controller you can rotate, move and scale the whole unit.

Upgrades

The upgrades even got unique names: 
-> Upgrade_

Description

Every mesh with animation got an description mesh_name.xlsx in the final folder.
We need this  information for Unity.

Example:
Name of animation  :     Start:     End:      Loop:
Swarmfish_idle       :    1            100        yes
Swarmfish_move     :    101         200        no
Swarmfish_attack   :    201         300        yes
Swarmfish_death    :    301         400        no

Default Mesh Parameter:

  • We describe every animation with a table. 
  • They all got rated by priority .
  • Every animation is described in three sentences. 
  • We describe the start, the loop, and the final pose.
  • It's discussed with our art lead, game design lead, tech lead and with our animator. 
  • During this session they also create some scribbles .

At this step we must always remember that we are creating an RTS Game. We have to deal with animations that were completely exaggerated because the player watches some animations from a camera far away. Animations also provide feedback and information during a game. Animations in Submerge need to be unique and clear.

2. Custom Rig Creation

After the discussion with the leads described above, the animator starts to create the rig. We don't use the BIPED or any CAT animation. Our units are to unique and would need to much adaption.
The rig is only designed for the predefined animations. We need to save time and it isn't necessary to create a rig that allows us to animate everything which could be possible. This is the step where every bone gets his name.



3. Skinning

Usually you create the skin while the unit is keyed to its extreme excursions. This isn't necessary because we got only got a few animations and our animations got only little excursions. So we only create a rough skin. The actual skin will be improved during the animation process to match it only to the few given animations of each unit. 

4. Animations

Here we improve the skinning while creating the animations. We bake all information concerning dummies, helpers etc.. to the bones. There will be no more links at the end. Now every bone got all the definitions for the transformations.
We export the whole mesh (fbx) into Maya for baking. With Maya we got less problems and the animations look like they should look.  We tried also a lot of free 3DS Max Scripts for baking. Most of them got problems with the mesh and the final animation was corrupted or failed completely. (Just hit me up if you got a script that works fine.)

Remember that even the zero frame in 3DS Max is a real animation frame and needs to be counted. This is always a problem while importing some animations into Unity.

After the animations are done we upgrade the timetable in the final folder for the right frames.

The picture below shows the baked unit in Max.

Here you can see some path animations at the middle of the main body.

Please hit me up if you want some more information about some special details.
For all Unity devs im going to explain the Unity integration in another tutorial in more detail. 

Post comment Comments
xalener
xalener May 28 2012, 3:52am says:

nice

+2 votes     reply to comment
themaster6666
themaster6666 May 28 2012, 6:44am says:

are you going for a realistic look or a stylized one?

+2 votes     reply to comment
Meister_Wolo
Meister_Wolo Jun 9 2012, 12:33pm replied:

We want to create a solution between those two. The realistic look has a huge disadvantage concerning real time strategy games. You need to recognize changes in a very short time to react as fast as possible. We discovered, that if we stylize the look only a bit, most of the players played faster and better. We now manage this problem with the good old slogan: Form follows function.

+1 vote     reply to comment
Zavenhax
Zavenhax Feb 12 2014, 3:24pm says:

wow that is awsome

+1 vote     reply to comment
Post a Comment
click to sign in

You are not logged in, your comment will be anonymous unless you join the community today (totally free - or sign in with your social account on the right) which we encourage all contributors to do.

2000 characters limit; HTML formatting and smileys are not supported - text only

Icon
Submerge
Platforms
Windows, Mac, Linux
Developer & Publisher
Aesir Interactive
Engine
Unity
Contact
Send Message
Official Page
Aesir-interactive.com
Release Date
TBD
Game Watch
Track this game
Tutorial
Browse
Tutorials
Report Abuse
Report article
Related Games
Submerge
Submerge Single & Multiplayer Real Time Strategy
Related Engines
Unity
Unity Commercial Released May 30, 2005
Related Groups
3D Artists Group
3D Artists Group Arts & Literature group with 1,154 members
Aesir Interactive
Aesir Interactive Developer with 12 members
Global Union of Arts
Global Union of Arts Hobbies & Interests group with 69 members
Indie Devs
Indie Devs Hobbies & Interests group with 1,091 members
Unity devs
Unity devs Hobbies & Interests group with 1,175 members