chenjd / Render-Crowd-Of-Animated-Characters

Animation Baker and Instancing for Animated Characters: Using GPU to implement large-amount animation characters rendering. The animation map for vertex shader to modify the vertex position of the mesh at runtime. Using GPU instancing to reduce draw calls.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

AnimMap Baker For Animated Characters

GitHub

BlogPost

How To Render 10,000 Animated Characters With 20 Draw Calls In Unity

Description:

Using GPU to implement large-amount animation characters rendering. The animation map for vertex shader to modify the vertex position of the mesh at runtime. Useing GPU instancing to reduce draw calls.

Supporting Shadows

Using Unity’s AR Foundation to create 10,000 toy soldiers in the real world on an Old iPhone 7.

The initial version was released on GitHub on 30 Jul 2017, and of course, it is still on GitHub. However, if you can buy me a cup of coffee, I will be very happy :-).

❤️ Sponsor

❤️ Animation Baker and Instancing for Animated Characters on Asset Store

Recently I added support for Unity 2023 and the Universal Render Pipeline (URP), so it can be used from Unity 5.X to Unity 2023.

And I will create a video tutorial to demonstrate how to use it. If you want to know more about the implementation behind it, you can read this article I wrote.

Features:

✅ Support Unity 2023.

✅ Support Shadows.

✅ Using the animation map to modify the position of vertices of your characters at runtime to avoid a lot of cost of skin calculation.

✅ Using GPU Instancing to reduce the number of draw calls, only 20 draw calls are needed to render 10,000 soldiers playing attack actions in the demo scene.

✅ Using the animation map to modify the position of vertices of your characters at runtime to avoid a lot of cost of skin calculation.

✅ Using GPU Instancing to reduce the number of draw calls, only 20 draw calls are needed to render 10,000 cats playing idle actions in the demo scene.

✅ Support AR Foundation.

✅ Support URP(SRP Batcher)only 7 draw calls are needed to render 10,000 cats playing idle actions in the demo scene.

Model Resource Link:

RTS Mini Legion Footman Handpainted


Bake legacy animation info into anim map:

1201111111111111.gif

120111111111111.gif animated characters without animator & skinnedmeshrender.

GPU Instancing & mesh render for large number of animated characters:

1372105-fa2cb8df2d12c0b3.gif 10,000 animated characters with 22 drawcalls.

About

Animation Baker and Instancing for Animated Characters: Using GPU to implement large-amount animation characters rendering. The animation map for vertex shader to modify the vertex position of the mesh at runtime. Using GPU instancing to reduce draw calls.

License:MIT License


Languages

Language:C# 54.3%Language:ShaderLab 45.7%