Expresiones

Las expressiones son una característica de los avatares de VRChat, compuesta por menús personalizados por el usuario que permiten activar acciones o alternar entre objetos en tu avatar; están diseñadas para ofrecer acceso flexible y sencillo a funciones únicas del avatar.
Más información disponible en documentos para creadores de avatares (en inglés).
Menú de expresiones
El menú de expresiones dentro del juego es accesible a través del menú de acción, o del panel de expresiones en el menú rápido y el menú principal en cualquier versión de VRChat. Los cambios en las expresiones de un avatar se sincronizan globalmente con otros usuarios en la misma plataforma y pueden configurarse para una sincronización multiplataforma.
Expresiones en el SDK
Las expresiones se editan utilizando varios parámetros en el SDK de VRChat.
Expresiones base
Cuando no se configura ninguna expresión, se agrega al avatar un menú de expresiones predeterminado con animaciones base, que contiene las siguientes animaciones:
- Saludar
- Aplaudir
- Señalar
- Animar
- Bailar
- Voltereta hacia atrás
- Morir
- Tristeza
Expresiones personalizadas
Para añadir expresiones personalizadas, crea un asset llamado Expression Menu y otro asset llamado Expression Parameters en Unity, y luego asígnalos en la sección Expressions del "VRChat Avatar Descriptor". El menú define qué controles aparecen en el menú dentro del juego, mientras que el asset de parámetros define los nombres, tipos, valores por defecto y el comportamiento de sincronización de los valores que esos controles cambian.
Each custom parameter can be marked as Saved and Synced. Synced custom parameters count toward the avatar's 256-bit sync budget, while avatars can define up to 8192 total custom parameters. Parameters on this asset can also be changed by Contact Receivers, parameter drivers, PhysBones, and OSC.
The SDK also includes a Default Parameters button. This restores the three alias parameters used by VRChat's default AV3 controllers: VRCEmote, VRCFaceBlendH, and VRCFaceBlendV.
Controles
Puedes crear hasta 8 controles por página. Al crear un control, elige su tipo:
- Botón
- Interruptor (Toggle)
- Submenú
- Control de dos ejes
- Control de cuatro ejes
- Control radial
Ejemplo de menú de control

Al mover el joystick, el panel táctil o el ratón/mouse en diferentes direcciones, se modifican los parámetros de animación para combinar diferentes estados de ánimo (por ejemplo, "feliz" y "sorprendido"). Cualquier parámetro se puede controlar desde este menú.
Puedes abrir un menú con cada mano (o con ambas). Por defecto, desliza el dedo para seleccionar una opción. En la configuración del menú de acción, puedes usar el gatillo. Para salir de una selección en el menú de expresiones, aprieta el gatillo.
When a puppet control is open, VRChat synchronizes its live values with the faster IK sync mode. After it is closed, the frozen value remains until it is changed again.
Parámetros de expresión
Los parámetros de expresión se utilizan para controlar funciones del avatar mediante el menú de expresiones, el contact receiver (receptor de contactos), OSC, controladores de parámetros o physbones. Estos parámetros luego se asignan a los parámetros del "Animator Controller" (controlador de animaciones) en los controladores: FX, Gesture o Action de tu avatar.
Ajustes
Each entry in the Expression Parameters asset stores:
- Name, which must match the Animator parameter name exactly.
- Type, which can be
Bool,Int, orFloat. - Default, which is used when the avatar is reset.
- Saved, which controls whether the value persists between sessions.
- Synced, which controls whether the value is sent to other users.
By default, custom parameter sync uses VRChat's Playable sync mode. Puppet controls temporarily use faster IK sync while they are actively open.
Built-in parameters
VRChat also provides built-in Animator parameters such as GestureLeft, GestureRight, GestureLeftWeight, GestureRightWeight, IsLocal, AFK, Seated, InStation, and TrackingType. These do not need to be added to the Expression Parameters asset, and they do not count toward the custom parameter budget.
Built-in parameters are read-only. They are added directly to a playable layer's Animator Controller by name, and VRChat updates them automatically at runtime.
Gestures and facial expressions
The built-in GestureLeft and GestureRight parameters identify the user's hand gesture, while GestureLeftWeight and GestureRightWeight expose analog trigger pressure. On humanoid avatars, the Gesture playable layer is commonly used for hand poses, while facial expressions are often driven from the FX layer with blendshapes, material properties, or other non-humanoid animations.
On tracked controllers where finger tracking overrides animation by default, creators can use a Tracking Control state behavior to switch the relevant fingers from Tracking to Animation when needed.
Parámetros de expresión no coincidentes
La discrepancia de parámetros de expresión se refiere a la práctica de usar diferentes tipos de parámetros entre tus parámetros de expresión y los parámetros locales del controlador de animaciones. Aunque se recomienda mantener los tipos de parámetros consistentes, la discrepancia se acepta y el sistema convertirá los valores entre tipos según reglas específicas, lo que puede ser útil en ciertos ajustes avanzados.
El sistema "Animator" de Unity usa números flotantes (floats) internamente para todos los tipos de parámetros, mientras que VRChat utiliza internamente SBytes para el almacenamiento de parámetros. La interfaz de usuario en Unity y el VRCSDK te permite seleccionar tipos de parámetros por conveniencia, pero bajo el capó, las conversiones son posibles. Esto significa que los parámetros no se convierten, sino que se desajustan. Este comportamiento también es compatible con herramientas populares como "Av3Emulator" y "Gesture Manager".
Parámetro de expresión Bool
| Tipo | Expresión Bool = Falso | Expresión Bool = Verdadero |
|---|---|---|
| Bool → Bool | Bool = False | Bool = True |
| Bool → Int | Int = 0 | Int = 1 |
| Bool → Float | Float = 0.0 | Float = 1.0 |
Parámetro de expresión Int
| Tipo | Comportamiento |
|---|---|
| Int → Bool | Cualquier valor "Int" que no sea 0 establece "Bool" en verdadero |
| Int → Int | Comportamiento esperado |
| Int → Float | Conversión directa: ej. Int = 2 → Float = 2.0 |
Parámetro de expresión Float
| Tipo | Comportamiento |
|---|---|
| Float → Bool | Cualquier valor "Float" que no sea 0 establece "Bool" en verdadero |
| Float → Int | Conversión redondeada: ≥0.5 → 1 ; <0.5 → 0 |
| Float → Float | Comportamiento esperado |
Recursos
- Avatar 3.0 Hub mundo en VRChat
- Menú de expresiones y controles en documentos para creadores (en inglés)
- Menú de acción - Menú de expresiones en documentos para creadores (en inglés)
- Parámetros de animaciones en documentos para creadores (en inglés)
- Capas activas en documentos para creadores (en inglés)
Véase también