A pre-made method for incorporating a large number of highly performing animated characters into your scenes is Crowd Animations.
Please sign in to contact this author
Unity Version - 2019.4.0f1
built-in – Compatible
URP - Compatible
HDRP – Compatible
Crowd Animations can't work as an extension without GPU Instancer.
Currently under development is the GPU Instancer Pro plugin for Crowd Animations. It will be made available as a separate asset and is currently undergoing redesign and improvement for the Pro edition. For this reason, GPU Instancer Pro is not yet compatible with Crowd Animations.
Crowd Animations adds GPU skinning capabilities to GPUI's indirect instancing solution and GPU culling techniques by leveraging the GPU Instancer core.
This is a combination that will enable you to maximize the performance of Unity's GPU Instancing for your animated figures.
Features:
- GPU instancing indirectly using skinned meshes.
- Occlusion, distance culling, and GPU frustum.
- VR compatible. compatible with rendering modes of single pass and multipass.
- Compatible with Universal, HD, and Standard Render Pipelines.
+ Support for custom shaders (manual setup required).
- Blending up to four animations together.
Support for multiple submeshes and skinned mesh renderers.
- Support for LOD Groups (every LOD mesh needs to utilize the same rig).
- Attachments to the bones.
- Root Motion assistance.
- The option to select the LOD to render shadows with and apply a custom shadow distance for each prototype.
- Removed and added instances are automatically detected without the need for extra code.
- Support for rigidbody and physics.
- A unique event mechanism for animation.
- An intuitive UI.
Two distinct animator workflows are supported by Crowd Animations:
Mecanim Animator: GPUI will read the animator states from the Mecanim Animator, so you can continue to utilize the Unity Mecanim Animator to manage the state machine for animations. This will let you to use indirect GPU instancing out of the box with all the GPUI features, including GPU frustum and occlusion culling, and will allow you to use your current animators and scripts with crowd animations.
This method improves GPU efficiency while rendering skinned objects, but since the Mecanim Animator still generates an overhang for every instance, it won't be the best choice for CPU-bound projects.
Crowd Animator: Using the GPUInstancer API, you can utilize the Crowd Animator to manage your animation clips and select which animation to play at a particular moment. This method will let you take full advantage of GPU Instancer since there won't be any overhang produced by the Mecanim Animator, however you will also need to manually handle the animation states by writing your own scripts or using visual scripting tools.
Present Restrictions: - Masks and Layers for animation are not supported.
Blend Shapes can't be used.
IK is not given support.
- High-end devices are the target audience for mobile support.
Because animation blending employs linear matrix interpolation, mixing animations with significant differences may result in inaccurate skinning.
Supported platforms include DirectX 11 or DirectX 12 (Windows) and a GPU using Shader Model 5.0.
- Metal (iOS and macOS)
- OpenGL Core 4.3 for Linux and Windows
- Current Consoles: Xbox One, PS4, and PS5.
- OpenGL ES 3.1 or Vulkan (Android 8.0 Oreo or later)
Note: PlayStation VR (any version) and Android VR devices such as Oculus Quest or Pico are not supported.
Note: You can use the files to test before you buy or for educational purposes. NOT FOR BUSINESS USE.