For all Unity developers and developers-to-be, both beginners and professionals!
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
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.
All bones got unique names. Examples: The upgrades even got unique names:
->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
All bones got connected to controller (dummy). Every controller got an unique name.
Attention ! With this controller you can rotate, move and scale the whole unit.
Every mesh with animation got an description mesh_name.xlsx in the final folder.
We need this information for Unity.
The upgrades even got unique names:
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
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.
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.
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.
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.