DMotion (DOTS Motion) is a general purpose Animation framework and State Machine for DOTS, built on top of Kinemation.
Important Notes:
- DMotion currently only supports Transforms V1. You will need to add
ENABLE_TRANSFORMS_V1
to your Script Define Symbols for it to work. - Support for Transforms V2 will come the future but no current ETA.
- Kinemation only supports Windows, Linux and Mac. Mobile support is possible but require manual compilation of the ACL library, I suggest contacting the author of Kinemation for further information.
I've built this tool with usability and performance in mind. The runtime is 100% bursted, and it's currently ~6 times faster than Unity's Mechanim, for 10000 animated skeletons on screen at the same time.
- Fully bursted runtime
- State Machine visual editor
- Transitions: Boolean, Int, Enum and End Time
- Simple API for playing clips through code (see samples)
- 1D Blend Tree
- Animation Events
- Root Motion (with WriteGroup support, if you need to override default behaviour)
- Object Attachment
- Support for optimized and non-optimized skeletons
- State Machine Visual Debugging
- 2D Blend Tree (cartesian/freeform)
- State Machine Override (a.k.a Animator Override Controller)
- SubStates
- IK Support
- Multiple layers
- Skeleton Masks
DMotion requires URP or HDRP, and ShaderGraph to be installed.
- Window -> Package Manager -> Click the + button -> Add package from git url
- Paste
https://github.com/Dreaming381/Latios-Framework.git
- Click again to add another git package
- Paste
https://github.com/gamedev-pro/dmotion.git
cd
to your Packages foldergit submodule add https://github.com/Dreaming381/Latios-Framework.git
git submodule add https://github.com/gamedev-pro/dmotion.git
DMotion contains several samples and documentation to get you started. You can check out the documentation here.
I will be supporting DMotion moving forward. Bug reports are definitely appreciated. If you can submit a PR with a bug fix, even better :).
Suggestions and feature requests will be considered. If you have something in mind about how this tool could be better for you, don't hesitate in letting me know.