A vertex animation baking tool, shaders, and animation system for Unity DOTS/ECS.
Render tens of thousands of models at the same time each with its own animation state.
- Vertex animation model baker
- Multiple animations (stored in one Texture2DArray)
- LOD generation
- Prefab generation
- Animation book generation
- DOTS animation system
- Simple API
- Animation library and books
- Shaders
- Lit vertex animation shader
- Interpolation
- Normal encoding and decoding
- Shader graph support
- Animation blending
Artist friendly GUI for converting models.
Sample code to play an animation.
protected override void OnUpdate()
{
float deltaTime = UnityEngine.Time.deltaTime;
Entities.ForEach((Entity entity, ref VA_AnimatorComponent ac) =>
{
// Get the animation lib data.
ref VA_AnimationLibraryData animationsRef = ref ac.animationLibrary.Value;
// Set the animation index on the AnimatorComponent to play this animation.
ac.animationIndex = VA_AnimationLibraryUtils.GetAnimation(ref animationsRef, animationName);
// 'Play' the actual animation.
ac.animationTime += deltaTime * animationsRef.animations[ac.animationIndex].frameTime;
}).ScheduleParallel();
}
Lit example shader (build in shader graph).
Full shader graph support.
Overall package is licensed under MIT, unless otherwise noted in the 3rd party licenses file and/or source code.