# MoeMate Animation Notes
## Breakdown
* currently all animations are designed to target primarily the upper body
* designed in such a way as to allow blending of lower body animations for potential future use cases
### Idle Animations
* idle animations are broken up into two types the basic idle animation and 'flavor' animations that can be played right after an idle animation finishes, they are able to do this because the start and end pose of all idle animations are the same.
* also currently only targetting upper body to allow for future use cases
### Emote Animations
* emote animations are all the other animations that will be used by the MoeMate to express its emotions
* these also start and end with the initial idle pose so that they can be played together linearly with the idle animations such that they all match up.
### Animation System
* The animation system plays animations one after the other and it is up to the ai to choose what flavor and emote animations to use.
* we use an emotes.json file to give the ai options to choose from
### Emotes.json
```
[
{
"name": "agree",
"animation": "agree",
"emotion": "joy"
},
]
```
the main points to understand is that the animation : agree represents the file upper_agree.fbx the emotion described 'joy' will be what the ai chooses. when the ai responds to a prompt it will periodically choose to have an emotion, it then goes into emotions.json and chooses one depending on the prompt, essentially deciding how the prompt makes it feel.
the words for emotion can be completely arbitrary and the llm will choose amongst this list arbitrarily. this gives content creators incredible freedom in how they name there emotions and what types of emotions they want to create for moe mate.
### Asset Packs
A possibility to produce more and more animations to allow moe mate further creative freedom and expression would be asset packs.
In each asset pack there would be a set of animations with a similar naming scheme, so upper_emotion1 , upper_emotion2. There would also be an emotes.json file with the appropriate json to describe the emotion animations in the asset pack.
Asset packs can be a few different types :
* **Personality Asset Packs** - these would have new idle, idle_flavor and emotion animations , the characters whole posture would change to reflect the specific new personality of this asset pack.
* **Idle Flavor Animation Packs** - these would extend a specifc set of idle flavor animations
* **Emotion Animation Packs** - these would extend a specific set of emotion animations