Some time ago I experimented with bones and skeleton. Perhaps there is a suggestion.
Some comments in German - can surely be translated easily.
A little lower on my side. https://hofk.de/main/threejs/
See also in the Collection of examples from discourse.threejs.org
https://hofk.de/main/discourse.threejs/2018/Xindex2018.html
https://codepen.io/hofk/pen/eWdZMb