[BUG] Broken avatar prone/crouch animations carried over after avatar change
tracked
bd_
I ran into a situation where prone/crouching animations broke, and remained broken until changing worlds. Sample video: https://www.youtube.com/watch?v=iK0kp3v4feY
I suspect (but have not yet verified) that this was caused by the Animator Set View component, locking the viewpoint so that avatar animations cannot force the viewpoint to the ground. This brings multiple bugs to mind:
- I had attempted to use Set View to move the viewpoint as the avatar scaled, by scaling the avatar root with a radial puppet control, then invoking Animator Set View when the puppet control was closed. However, my viewpoint did not actually change (bug 1?)
- After this change, desktop crouch/prone animations broke (bug 2?)
- This broken state was carried over after subsequent avatar changes (this is the biggest issue here).
Note that both SDK2 and 3 avatars were affected to an extent - with SDK2 avatars, the animation was correct but the viewpoint was too high.
Rejoining the instance fixes the issue.
Log In
Tupper - VRChat Head of Community
updated the status to
tracked
Despite what was noted below, we do need to clear "Set View" when swapping into another avatar.
Tupper - VRChat Head of Community
This is a consequence of using the "Set View" state behavior for an unsupported use case. That state behavior is meant to be used for setting your viewpoint after sitting down (as an example), not for use with scaling the avatar.
When using it, you need to be sure to clear it-- as in, run the state behavior again but with the option set to "Clear" or the checkbox empty. There's a bug where some editor scripts will break the Editor UI we're using, so you'll probably just see a checkbox.
bd_
Tupper - VRChat Head of Community: Hmm. It's not clear what use cases are intended to be supported by "Set View" in the docs. Reading that "The Animator Set View control allows you to move the viewpoint of the person wearing the avatar to the head at that given point of the animator state." I assumed it would allow me to effectively move the viewpoint position set in the initial avatar descriptor based on the current head bone offset. It would be helpful to clarify in the docs what is and is not intended to be supported with this component.