Combined skinned mesh renderers?

Just a quick question regarding skinned mesh optimization. Unity usually does a decent job of combining separate meshes using the same animator component to reduce drawcalls, but does this translate into ThreeJs?
We are currently experiencing some frame drops when we run characters in our scene (each character has about 4 skinned meshes and one animator component on root). Around 10 to 20 characters but usually fewer in view.

Original Post on Discord

by user 1101143635623415809

First thing I’d test is making sure they’re on the IgnoreRaycast layer (layer 2 in three.js). That’s the main reason for perf drops with skinned mesh renderers we’ve seen

Thank you for the quick reply @herbst🌵 ! All characters were set to IgnoreRaycast already. I’m guessing this might be an issue of having to many skinned meshes then?

by user 1101143635623415809

Might be - so with Unity you don’t get issues on the same target devices?

Unity does not automatically combine skinned mesh renderers on the same object either, so something else may be going on

Generally I’d recommend combining them manually to not take guesses on what either runtime does under the hood (so 20 characters with one skinned mesh each)

We ran some tests and it is most likely the number of skinned meshes running around in the scene. Thank you for the help! :slightly_smiling_face:

by user 1101143635623415809