# Material Animation Sequence Setup
This guide outlines how to define animation sequences in Blender for export to
**tmmokit** via material-based animation tags. Proper setup is critical to ensure
animations trigger correctly in-game.
---
## 1. General Guidelines
- **Looping Animations**
- Use the `cyclic` tag to make animations loop smoothly (e.g., idle, walk, run).
- **Sequence Matching**
- Animation sequences **must** match the expected skill or action names used by
the in-game actor.
- If a sequence is missing or mislabeled, the game may **fail to animate** or
**crash** during the related event.
---
## 2. Sequence Syntax
Sequences are embedded as material names or object data strings using the following
syntax:
### Examples
| Sequence Name | Frame Range | Cyclic? | Notes |
|---------------|---------------|---------|------------------------------|
| `idle` | 10–73 | Yes | Standard idle loop |
| `cready` | 89–104 | Yes | Combat-ready idle loop |
| `pain1` | 120–135 | No | First pain reaction |
| `pain2` | 151–166 | No | Second pain reaction |
| `walk` | 182–201 | Yes | Walking loop |
| `run` | 217–226 | Yes | Running loop |
| `attack1` | 242–257 | No | First attack animation |
| `attack2` | 273–288 | No | Second attack animation |
| `attack3` | 304–319 | No | Third attack animation |
| `death` | 335–360 | No | Death animation |
---
## 3. Summary
When defining material-based animation sequences:
- Use correct names that map to the game logic (idle, walk, attack1, etc.).
- Use the `cyclic` flag for looping animations.
- Double-check frame ranges to avoid mismatches and ensure smooth transitions.
- Consistency between Blender setup and the game’s animation system is key to
avoiding errors or missing behaviors.