mirror of
https://github.com/maxartz15/VertexAnimation.git
synced 2024-11-12 15:35:30 +01:00
Vertex animation baking tool, shaders and animation system for Unity DOTS/ECS.
Documentation~ | ||
Editor | ||
Runtime | ||
Samples~ | ||
Tests | ||
.gitignore | ||
CHANGELOG.md | ||
CHANGELOG.md.meta | ||
Editor.meta | ||
LICENSE.md | ||
LICENSE.md.meta | ||
package.json | ||
package.json.meta | ||
README.md | ||
README.md.meta | ||
Runtime.meta | ||
Tests.meta | ||
THIRD PARTY NOTICES.md | ||
THIRD PARTY NOTICES.md.meta |
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
Getting Started
- Example 1: Mainly used for testing.
- Example 2: Contains an animation system that shows how you could setup animated characters and a spawning system to test performance.
- Example 3: MonoBehaviour example for if you are not using DOTS.
Used By
LICENSE
Overall package is licensed under MIT, unless otherwise noted in the 3rd party licenses file and/or source code.