Animation States

Hello there!

I will start by describing what I’m trying to achieve is so that may make it easier for someone to understand immediately if it’s even possible.

I want a emote or gesture override that when activated can change state of the avatar animation. Active gesture, tail starts moving slowly, activate gesture again tail moves faster, activate again tail goes back to state 1.

Now I have looked at all the state machine videos and guides and tried to apply it to this but the problem is that those systems seem to be useful for toggling objects and their animations (and animating any object properties) BUT NOT for animating and changing any armature bones or any shape keys on the main avatar’s mesh. They put an object in the armature hierarchy and only mess with it. I wanna animate bones themselves, and i want for example the tail wag anim above to not make my avatar go bicycle mode or lock itself to a t pose so it would need to blend well with idle, walk etc

I got to the point where i have gesture -> behavior.enable 1 animation -> turns animator on that is in hip -> plays animation moving bones around etc -> release gesture -> bones return to default position

normally when an animator is turned off it retains state that’s the whole point but when we animate armature bones they just go back to default because another animation in vrc runtime is being applied (probably dunno)
sooo the goal is to overcome this.

If you just want to animate the tail, put an animator on the root of the tail itself. Then you can animate the bones of the tail without affecting the other bones in the armature.

You can leave this animator disabled by default, then enable it with an animation. To do it properly, you’ll probably want to check out the Toggle Props method:

You basically have a little animation hack that you can toss into your gesture that turns on the behavior of the tail animator with a gesture. You could also nest these and activate different ones with different gestures.