So we’re trying to animate a bunch of human character models, which are more or less identical, but have a different height. At the moment it’s just one of these that has animations applied to it (via Mixamo) and then I’m trying to use the same set of animations for all of the models. It works more or less fine, as in the animations get played, but - I assume because of the height difference - some models get squished or even appear to have googly eyes (I assume due to mesh distortion). Is there a way to copy the animations and account for the difference in height?
I found out about retargeting, do I assume right that that’s what I’m looking for? Too bad it’s not very well documented. Anyway, I tried creating two SkeletonHelpers (from the model containing the animations, and the one I’m trying to add them to)…
I console logged the two helpers and both seem to container 67 bones, which is correct. However, when I try to call SkeletonUtils.retarget, I get the following error:
TypeError: Cannot read properties of undefined (reading ‘bones’)
I can see that the corresponding line in SkeletonUtils tries to read ‘source.skeleton.bones’, but the SkeletonHelper object doesn’t have a ‘skeleton’ attribute, only ‘bones’, directly. So I tried to feed the SkinnedMeshes directly to the retarget method, that way I’m not getting any errors, but also no change visually, the taller model still gets squished when the animation from the shorter one gets applied and played.