|
| 1 | +# Avatar Animator Core Parameters |
| 2 | + |
| 3 | +Core Parameters are special Animator Parameters that are set automatically by the game. These parameters offer a quick |
| 4 | +way to make your avatar react to game information without needing anything beyond adding and using them in the animator. |
| 5 | + |
| 6 | +If you're looking for more parameters, there is a component dedicated to write game information into animator |
| 7 | +parameters. The name of the component is [CVRParameterStream](../components/CVRParameterStream.md). |
| 8 | + |
| 9 | +--- |
| 10 | + |
| 11 | +## Core Parameters |
| 12 | + |
| 13 | +| Name | Type | Range | Description | |
| 14 | +|-----------------|---------|---------------|-----------------------------------------------------------------------------------------------------------------------------------| |
| 15 | +| GestureLeft | Float | [-1.0 … 6.0] | Current gesture state of the left hand<br>Fist uses analog weighting in [0.0 … 1.0]<br>[Gesture Values Mapping](#gesture-values) | |
| 16 | +| GestureRight | Float | [-1.0 … 6.0] | Current gesture state of the right hand<br>Fist uses analog weighting in [0.0 … 1.0]<br>[Gesture Values Mapping](#gesture-values) | |
| 17 | +| GestureLeftIdx | Int | [-1 … 6] | Discrete left-hand gesture value without analog weighting<br>[Gesture Values Mapping](#gesture-values) | |
| 18 | +| GestureRightIdx | Int | [-1 … 6] | Discrete right-hand gesture value without analog weighting<br>[Gesture Values Mapping](#gesture-values) | |
| 19 | +| MovementX | Float | [-1.0 … 1.0] | Horizontal movement input value | |
| 20 | +| MovementY | Float | [-1.0 … 1.0] | Vertical movement input value | |
| 21 | +| Grounded | Bool | [false, true] | Indicates if the player is on the ground | |
| 22 | +| Emote | Float | [0.0 … 8.0] | Target emote to play. Resets to `0.0` within `0.1 second of being set | |
| 23 | +| CancelEmote | Trigger | — | Trigger to cancel the current emote | |
| 24 | +| Toggle | Float | [0.0 … 7.0] | Currently selected toggle state | |
| 25 | +| Sitting | Bool | [false, true] | Indicates if the player is sitting | |
| 26 | +| Crouching | Bool | [false, true] | Indicates if the player is crouching | |
| 27 | +| Prone | Bool | [false, true] | Indicates if the player is prone | |
| 28 | +| Flying | Bool | [false, true] | Indicates if the player is flying | |
| 29 | +| Swimming | Bool | [false, true] | Indicates if the player is swimming | |
| 30 | +| IsLocal | Bool | [false, true] | Indicates if the avatar is the local player | |
| 31 | +| DistanceTo | Float | [0.0 … ∞] | Distance to the local player in meters. Defaults to `-1.0` until updated | |
| 32 | +| VisemeIdx | Int | [0 … 14] | Index value representing the current viseme<br>[Viseme Values Mapping](#viseme-index-values) | |
| 33 | +| VisemeLoudness | Float | [0.0 … 1.0] | Loudness level for the current viseme | |
| 34 | +| IsFriend | Bool | [false, true] | Indicates if the observed avatar is a friend | |
| 35 | +| VelocityX | Float | [0.0 … ∞] | Velocity along the `X` axis | |
| 36 | +| VelocityY | Float | [0.0 … ∞] | Velocity along the `Y` axis | |
| 37 | +| VelocityZ | Float | [0.0 … ∞] | Velocity along the `Z` axis | |
| 38 | +| AFK | Bool | [false, true] | Indicates if the player is AFK.<br>*Only available in nightly builds atm* | |
| 39 | + |
| 40 | +--- |
| 41 | + |
| 42 | +## Gesture Values |
| 43 | + |
| 44 | +| Gesture | Float Value | Int Value | |
| 45 | +|-------------|-------------|-----------| |
| 46 | +| Open Hand | -1.0 | -1 | |
| 47 | +| Fist | [0.0 … 1.0] | 0 | |
| 48 | +| Thumbs Up | 2.0 | 2 | |
| 49 | +| Gun | 3.0 | 3 | |
| 50 | +| Point | 4.0 | 4 | |
| 51 | +| Peace | 5.0 | 5 | |
| 52 | +| Rock n Roll | 6.0 | 6 | |
| 53 | + |
| 54 | +--- |
| 55 | + |
| 56 | +## Viseme Index Values |
| 57 | + |
| 58 | +| Viseme | Integer Value | |
| 59 | +|--------|---------------| |
| 60 | +| Sil | 0 | |
| 61 | +| PP | 1 | |
| 62 | +| FF | 2 | |
| 63 | +| TH | 3 | |
| 64 | +| DD | 4 | |
| 65 | +| KK | 5 | |
| 66 | +| CH | 6 | |
| 67 | +| SS | 7 | |
| 68 | +| NN | 8 | |
| 69 | +| RR | 9 | |
| 70 | +| AA | 10 | |
| 71 | +| E | 11 | |
| 72 | +| I | 12 | |
| 73 | +| O | 13 | |
| 74 | +| U | 14 | |
| 75 | + |
| 76 | +You can get a reference for each viseme at: |
| 77 | +<https://developers.meta.com/horizon/documentation/unity/audio-ovrlipsync-viseme-reference/#reference-images>{:target="_blank"} |
| 78 | + |
| 79 | +--- |
| 80 | + |
| 81 | +## Notes |
| 82 | + |
| 83 | +- Fist is analog (range from `0.0` to `1.0` depending on trigger press) |
| 84 | +- Rock n Roll also includes the flip-off gesture (flipping the bird) |
| 85 | +- Parameters are **case-sensitive** |
| 86 | +- You are unable to write to these parameters using any CCK component as they are considered readonly, but you can read them using the Animator Driver or Scripting API |
| 87 | +- Core Parameter types can be mismatched, e.g., you can define `AFK` as an int parameter instead of a bool in your animator, and it will be 0 or 1 depending on the AFK state |
0 commit comments