Jump to content

Large number of animated characters


photo

Recommended Posts

We need to place 2000 individually animated characters next to each other as shown in the video (there are only 1000 in there). We are experiencing a significant performance hit when we do that (10 FPS per 1000 characters).

In the video we use approx 8 * 120 models, reference nodes. What is the best best performing method to achieve this? Possibley something to with instancing or so??

Note: We need each character to be animated in a different frame and possibly controlle

d by a script.
Link to comment

Hi Namal,

As you probably already noticed in profile you have two critical points:

  • RenderCPU: ~30ms
  • Update: ~30ms
  • Draw calls: 4,5k 

So, you have to optimize the CPU part of the scene (reduce the draw calls as much as possible).

Batching for skinned meshes is a hard task and it can only work if you have an 100% identical animations playing. So maybe it would help if some of the meshes will play the same animations.

The basic approach that may work somehow:

  1. Split nodes to the groups by distance from camera.
  2. Reduce animations update interval based on a distance to camera
  3. Replace if possible the most distant object to billboards
  4. Play the same animation between 2 or more characters to enable batching
  5. Reduce materials count by reusing the same material on different nodes
  6. ???

Maybe you will find out a better solution to this, because even with batching 2400 skinned objects (5 unique materials) can be tough (you can see it in samples/stress/skinned_01 sample).

Thanks!

How to submit a good bug report
---
FTP server for test scenes and user uploads:

Link to comment
×
×
  • Create New...