Perhaps it uses some kind of pose estimation.
Sounds complicated to build, but not impossible.
There are lots of projects on GitHub about it pose-estimation · GitHub Topics
Mixamo has some kind of algorithm to auto-rig models, however it’s not completely automatic.
It requires:
A model that it can detect is in t-pose stance.
The user to place markers on the model features.
Parameters for the specific model (how many fingers, etc)
So we know that it’s possible, but at least this information is required for it to work. Then it re-purposes animations users have submitted that match the typical generated skeletal rig.
Yes, in Mixamo you need to place these points over a 2D image of the avatar, this is something I wouldn’t mind adding as an UI to generate the weights/skeleton automatically.
Try your auto rigged mixamo avatar at ThreeJS #Threeverse avatar load and play. This way you can see right away your avatar animate and move around ThreeJs scene
I haven’t seen anything like it for threejs in the wild, though you could possibly implement something via a node back-end + blender, and some python scripting.
It’s a complex topic. Likely not something you could whack out in an afternoon.
It’s the kind of thing that sounds easy but is actually an entire sub discipline of a “technical artist”.
There are people that are employed to do rigging almost exclusively, since doing it well is an actual art in itself.
I highly recommend going through a youtube tutorial for rigging a simple humanoid, just to get an idea of how complex the process can get. Auto-rigging is often just the starting point of the whole process.
Weight painting is hard, and then it’s one thing to weight paint a body, but then you also have to do it for clothing/cloth/hair etc.