Avatar 3.0/Expressions/Speed Sliders
Speed sliders let you speed up and slow down specially-configured animations by rotating a radial puppet, which is a control that allows you to smoothly change a value by rotating your analog sticks.
Principle of Operation
What we're going to be doing here is mapping our radial puppet to a Float named AnimSpeed. This float will then be used to change the Speed multiplier of animations.
Radial puppets have a range from 0.0 (0%) to 1.0 (100%). On top of this, we can't simply map the speed to the param, we have to use the multiplier, so we end up needing to do a little math to get our desired results.
In the end, I decided I wanted a max speed of 2x normal speed, and a minimum speed of 0x (so I can freeze animations). We therefore know we have to set Speed in our animations to 2, but we need to figure out the default value for AnimSpeed (range of 0-1, remember?).
So:
In my case, this was pretty simple and ended up being 0.5 (1/2).
Parameter Setup
- If your avatar doesn't have one already, create a new ExpressionParams in your project and add it to your Avatar Descriptor.
- Create a new Parameter called
AnimSpeed
. - Make it a Float.
Menu Setup
- Create a new control on the menu on which you want your radial puppet.
- Set the name to Speed or whatever.
- Change Type to Radial Puppet.
- Leave Parameter as [None].
- Set Parameter Rotation to
AnimSpeed
.
Animation Tweaks
- Open the Animator your animation is in.
- Open the Parameters tab.
- Add a new Float Parameter reference.
- Set the name to
AnimSpeed
. - Set the default to
0.5
or whatever your default AnimSpeed should be from the calculation above.
- Set the name to
- For each animation you want speed controlled:
- Set Speed to the max speed you want. In my case,
2
for 2x max speed. - Check Parameter next to Multiplier.
- Select AnimSpeed from the dropdown.
- Set Speed to the max speed you want. In my case,
You're done.
Using In-Game
- Whip out your wheel menu.
- Go to Expressions.
- Find and select your Speed button.
- Change by rotating your analog stick or mouse.
- 50% is 1x speed
- <50% is slower speeds, to a minimum of 0% (frozen).
- >50% is faster speeds, to a maximum of whatever you decided your max Speed to be.
- When satisfied, press the trigger.
- To reset to 1x, change back to 50%.