What performance can I expect for meshskinning?
I tested 60 animated characters (UMA). Regardless of complexity (6000 tris vs. 28000 tris) or gpu-skinning enabled/disabled, every character takes about 1ms for MeshSkinning.Prepare
I have seen videos with several hundred actors, how do they do that? Vertex count doesn’t seem to have any Impact at all.
That’s a good keyword. About 160 […].
The strange thing is, only preparing takes so long. The actual skinning takes 0.5ms for all (at least the profiler is telling me that) and I had a test earlier in december with 150 meshes at 22 fps, now it runs at 3fps.
But I will look into the rig, maybe I can bake the mesh and remove every GameObject which is only used for deformation.
Do you have a test scene that runs 22fps before and 3fps after? If so, Unity’s crack squad, the QA team really want it now make a repro and submit via bug reporter tool.
That’s not all
I found the problem (but not the source): SkinnedMeshRenderer.bones.Length is somehow at 10047 after mesh merging, even if the rig has “only” 160 gameobjects.
I guess the real question is which mesh combiner did you use? Legacy or Default?
Also be aware that with 60 UMA characters you need to make sure to reduce atlas quality otherwise the textures atlasses will kill your gpu memory, and when the gpu starts swapping memory on the agp then you’ll be in a world of hurt… 1 ms per char would be very good if that’s the case.
Default (and I bought your power tools after the keyword “bones” fell, but I didn’t get them to work at all for the moment, transforms get NaN or infinity as position, even when I just use the default high poly slots)
Atlassing is not the main problem now, I only use 500mb of textures at the moment.
With a custom shirt with the same rig as the standard uma mesh I get 10047 bones (103 different transforms, all of them several times)
But 10000 bones would explain why preparing takes a ms per frame per character, but skinning is super fast.
I tried using my shirt as a seperate SMR with shared bones and shared animator, that takes preparing down to 2 ms for 60 characters, but I guess that should be discussed in the UMA thread
I posted in the UMA-thread, a standard clothing item from the UMA asset will get almost the same amount of bones. I haven’t used U4 in a year, but I will download it later and test i there.
Hi there!
Please let me know if the problem is happening both at Unity 4 and 5.
Considering the amount of bones per avatar, this video is old but explain the concept and why ~150 bones are being used.
It would be worth testing if the same problem is happening when using legacy combiner, to identify if the problem is related to the SkinnedMeshCombiner or something else.
Thanks a lot for the feedback