Black Rose Instanced Animation System
Comprehensive Support for Built-in, URP, and HDRP in Instanced Animation Solutions
Overview
This article introduces a robust system for converting models with skinned meshes driven by the Unity Animator into baked assets known as Instanced Animation Data. This innovative approach supports optimized mesh and material handling and caters to a variety of rendering pipelines, including Unity’s Built-in, Universal Render Pipeline (URP), and High Definition Render Pipeline (HDRP).
Key Features
Advanced Model Conversion
- Baking Skinned Mesh Animations: The system facilitates the conversion of models with skinned meshes into Instanced Animation Data, ensuring pre-configured meshes and materials are readily available.
- LOD and Renderer Settings: Supports models with multiple skinned mesh renderers and up to 4 levels of Level of Detail (LOD) plus a culled state. Essential renderer settings such as layer assignments and shadow modes are preserved during conversion.
Customizable Animation Configuration
- Animation Selection and FPS Control: Users can choose which animations to bake and set frame rates either globally for all animations or individually for specific animations.
Supported Features
- Animator Layer: Full support for the first animator layer.
- Animation Speed Adjustments: Animations respect speed changes for smooth playback.
- State Transitions: Comprehensive support for state transitions and their parameters.
- Sub-State Machines: The system can handle sub-state machines in the animator.
- Culling Mode: Each Instanced Animation Renderer can be configured with specific culling modes.
- Animation Transitions: Seamless transitions between any two animations are supported.
Simple and Intuitive Asset Configuration
- Instanced Animation Data Tool: A dedicated tool assists with configuring LOD settings, bounding boxes, attachments, and previewing animations.
- Easy Integration: Assets can be easily added to scenes with simple drag-and-drop functionality.
Project Settings Customization
- Visibility Controls: Configure the visibility of Instanced Animation Renderers in play, pause, and edit modes.
- Batch Size and Instance Count: Customize the number of instances per batch and the maximum number of instances.
Support for Attachments
- Attachment Instancing: Attachments are batched based on their mesh, material, and parent instance.
- User-Friendly UI: A simple UI tool is provided for creating and configuring attachments.
- Group Configurations: Create groups of attachments with shared parameters.
- Virtual Bone Synchronization: On-demand synchronization for transforms.
- Custom Shader Integration: Includes support for custom shader property block values with integration examples for the Instanced Rendering System.
Render without GameObjects
- Instanced Animation Data Rendering: The system supports using Instanced Animation Data for rendering without the need for GameObjects, boosting performance and flexibility.
Included Examples
- Practical examples are provided for implementation in the Built-in, URP, and HDRP pipelines.
Limitations
- Animator Mask and Layer Blending: Currently unsupported.
- Blend Trees: Not supported.
- Parametric Mirror Mode and Cycle Offset: Unsupported.
- Foot IK: Not supported.
This comprehensive toolset provides a streamlined solution for handling complex animations in Unity, ensuring broad support across major rendering pipelines and enhancing performance with instanced rendering techniques.
Check out on Unity Asset Store: Black Rose Instanced Animation System
Check out documentation for usage help: Black Rose Instanced Animation System Documentation