Animation is done in Maya. A Maya scene typically contains a grouping of related animations, for instance all animations for the Stand State.
![](images/MayaAnimation.png)
![](Images/MayaAnimation.png)
From here a seperate clip is exported for each animation, with the help of a custom exporter. Splitting each animation into multiple exports allow for quick export and import times. E.G:
### Avatars
We aim to define the Avatar for a Skeleton once (well once for Humanoid and once for Generic) and let any subsequent model and animation FBX’s copy this avatar:
![](images/AvatarReference.png)
![](Images/AvatarReference.png)
![](images/UpdateAvatarReferences.png)
![](Images/UpdateAvatarReferences.png)
### Avatar Masks
We use Avatar Masks for all our animations for a few reasons:
![](images/DefaultMask.png)
![](Images/DefaultMask.png)
![](images/ClipMask.png)
![](Images/ClipMask.png)
![](images/UpdateAnimationMasks.png)
![](Images/UpdateAnimationMasks.png)
### Import AssetPostProcessor
An AssetPostProcessor is used during animation import, which does just a few things:
With our choice of animation style and having almost purely character specific animations, turning this feature off made the most sense.
Prefab are where Materials are assigned and additional components for game play systems are added and configures. We use Prefab Variants as they allow the prefab to stay up to date as mesh, skeleton and skinning changes throughout production.
![](images/CharacterPrefabs.png)
![](Images/CharacterPrefabs.png)
![](images/ReducedSkeleton.png)
![](Images/ReducedSkeleton.png)
![](images/SkeletonComponent.png)
![](Images/SkeletonComponent.png)
It’s added during import, in order to stay in sync with the model.fbx. Placing skeleton root nodes below a transform/group called “Skeleton” that is a child of the prefab root, will let the skeleton be picked up correctly by the AssetPostProcessor:
Data about procedural bone setup is stored in MonoBehaviors. These also drive the bones in edit mode, so you may interact with the characters skeleton and see the behaviour of the procedural bones.