I'm working on a virtual production app in Unity, and I wanted to apply a walking animation (from Mixamo) to the character when it moves. When the character isn't moving, an idle animation is played. When the character stops moving, the walking animation is crossfaded to the idle animation.

However, this being a VTuber app, I need to be able to move the character's head. The animation, however, blocks this. The model was commissioned, and I have no idea how to add IK or anything. I've tried using an avatar mask, but to no avail. Is there a way I can allow the head to move? The motion is being piped in using the VMC protocol, using EVMC4U, which abstracts away most of those tasks. Its source code is here: https://github.com/gpsnmeajp/EasyVirtualMotionCaptureForUnity.

The character is a VRoid model, and I cannot attach it here unfortunately. The avatar mask was changed in the gear next to Base Layer in the animator. I tried to add the avatar component, but it just says "No transform mask defined."

To get the animations from Mixamo, I downloaded them as FBX's, then changed the animation type to humanoid and separated out the animation component, then used those.

If it isn't possible to use animations, could you suggest an alternative solution? Thanks in advance.

  • \$\begingroup\$ Perusing the code, it looks like this library is updating the model's pose whenever a new update comes in from the device, which is likely to happen either before the animation has ticked or after the frame has been submitted for rendering. Unless it gets lucky enough to land in the narrow window between, it won't get a chance to override the animated pose before it's drawn. You might want to try setting up a dummy, invisible, non-animated character to receive the device updates, then write your own LateUpdate script that copies the relevant bone poses from the dummy to your display character. \$\endgroup\$
    – DMGregory
    Mar 9 at 12:55


You must log in to answer this question.

Browse other questions tagged .