Skip to content

Vertex animation baking tool, shaders and animation system for Unity DOTS/ECS.

License

Notifications You must be signed in to change notification settings

maxartz15/VertexAnimation

Repository files navigation

TECH ART OUTSOURCE - Vertex Animation

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.

Features

  • 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

Model Baker

Artist friendly GUI for converting models.

DOTS Animation System

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();
}

Shaders

Lit example shader (build in shader graph).
Full shader graph support.

Install

Installing from a Git URL

Documentation

Used By

LICENSE

Overall package is licensed under MIT, unless otherwise noted in the 3rd party licenses file and/or source code.