Expressions/pt-br: Difference between revisions

From VRChat Wiki
FuzzyBot (talk | contribs)
Updating to match new version of source page
Inexorável (talk | contribs)
No edit summary
Line 33: Line 33:
===Expressões personalizadas===
===Expressões personalizadas===


<div class="mw-translate-fuzzy">
Para adicionar expressões personalizadas, crie um recurso de '''Menu de Expressões''' e um recurso de '''Parâmetros de Expressão''' no Unity, depois atribua-os na seção ''Expressões'' do Descritor de Avatar do VRChat. O menu define quais controles aparecem no menu do jogo, enquanto o recurso de parâmetros define os nomes, tipos, valores padrão e comportamento de sincronização dos valores que esses controles alteram.
Para adicionar expressões personalizadas, crie um arquivo de "Menu de Expressões" e um arquivo de "Parâmetros de Expressão" e, em seguida, anexe-os ao Descritor de Avatar do VRChat. O menu define as entradas de parâmetros exibidas nos menus de expressão do seu avatar. Os parâmetros são as "variáveis" que o menu controla. Você também especifica detalhes, como se os parâmetros devem ser sincronizados para outros usuários. É possível definir 256 bits para serem sincronizados, com um limite de 8192 variáveis.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<div lang="en" dir="ltr" class="mw-content-ltr">

Revision as of 20:31, 23 May 2026

V · EEsta é uma página oficial de informações do VRChat!
Ela é revisada e aprovada pela Equipe do VRCWiki. Saiba como contribuir para esta página lendo o Hub de Contribuição.
Um exemplo do menu Expressões no menu de Ação.

"Expressões" são um recurso de avatares do VRChat, que consiste em menus personalizados pelo usuário que permitem ativar ações ou alternar opções em seu avatar; projetadas para acesso fácil e flexível a recursos exclusivos do avatar.

Mais informações estão disponíveis em Documentação para Criadores de Avatares.

Menu de expressões

O menu de Expressões dentro do jogo pode ser acessado através do Menu de Ação, ou da aba Expressões no Menu Rápido e Menu Principal em qualquer versão do VRChat. As alterações nas expressões de um avatar são compartilhadas globalmente com outros usuários na mesma plataforma e podem ser configuradas para sincronização entre plataformas.

Expressões no SDK

As expressões são editadas usando vários parâmetros no SDK do VRChat.

Expressões base

Quando nenhuma expressão é configurada, um menu de expressões padrão com animações base é adicionado ao avatar, contendo as seguintes animações:

  • Acenar
  • Palmas
  • Apontar
  • Torcer
  • Dança
  • Mortal para trás
  • Morrer
  • Tristeza

Expressões personalizadas

Para adicionar expressões personalizadas, crie um recurso de Menu de Expressões e um recurso de Parâmetros de Expressão no Unity, depois atribua-os na seção Expressões do Descritor de Avatar do VRChat. O menu define quais controles aparecem no menu do jogo, enquanto o recurso de parâmetros define os nomes, tipos, valores padrão e comportamento de sincronização dos valores que esses controles alteram.

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

Você pode criar até 8 controles por página. Ao criar um controle, escolha o seu tipo:

  • Botão
  • Interruptor
  • Submenu
  • Controle de Dois Eixos (Marionete)
  • Controle de Quatro Eixos (Marionete)
  • Controle Radial (Marionete)

Exemplo de Menu de Marionetes
Exemplo do Menu de Ação e do Espelho Facial em uso. (GIF animado)

Ao mover o joystick, o touchpad ou o mouse em diferentes direções, você altera os parâmetros de animação para misturar diferentes expressões (por exemplo, "feliz" e "surpreso"). Qualquer parâmetro pode ser controlado neste menu.

Você pode abrir um menu com qualquer uma das mãos (ou com ambas). Por padrão, dê um toque para selecionar uma opção. Nas configurações do Menu de Ação, você pode optar por usar o Gatilho. Para sair de uma marionete no menu de Expressões, pressione o gatilho.

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âmetro de Expressão

Os parâmetros de expressão são usados ​​para controlar as funcionalidades do avatar através do menu de expressões, receptor de contato, OSC, acionadores de parâmetro ou physbones. Esses parâmetros são então mapeados para os parâmetros do Controlador de Animação nos controladores de Efeitos (FX), Gestos ou Ações do seu avatar.

Settings

Each entry in the Expression Parameters asset stores:

  • Name, which must match the Animator parameter name exactly.
  • Type, which can be Bool, Int, or Float.
  • 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. 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. They are not set on sub-animators, only on playable-layer animators.

Additional built-in parameters include:

  • Viseme (Int) — Set by lip sync from 0 (silence) to 14 (the "u" vowel) when the Avatar Descriptor's Lip Sync is set to Viseme Blend Shape or Viseme Parameter Only.
  • Voice (Float) — Perceived microphone volume from 0.0 to 1.0, affected by distance and earmuff settings.
  • VelocityX, VelocityY, VelocityZ, VelocityMagnitude (Float) — Movement speed in m/s along each axis and total magnitude. Locally, playspace movement does not count; remotely, it does.
  • Upright (Float) — 0 when prone, 1 when standing.
  • Grounded (Bool) — Whether the user is touching the ground.
  • MuteSelf (Bool) — Whether the user's microphone is muted.
  • Earmuffs (Bool) — Whether the user has earmuffs enabled.
  • IsOnFriendsList (Bool) — Whether the viewer is friends with the avatar's wearer (shows False locally).
  • ScaleFactor, ScaleFactorInverse, EyeHeightAsMeters, EyeHeightAsPercent (Float) — Scaling-related parameters for avatar scaling. EyeHeightAsMeters is recommended for scale-aware systems because it is linear and does not depend on upload height.

Each built-in parameter has a sync type determining when it is sent to remote users: IK for tracking-derived values (gestures, velocity, grounded), Speech for voice-related values (viseme, voice), Playable for user-state values (mute, earmuffs, tracking type, scale), or None for local-only values (IsLocal, PreviewMode).

Network synchronization

Only synced expression parameters and certain built-in parameters are sent over the network. The full list of data sent for each avatar includes:

  • IK targets — Head, jaw, and hands for desktop and 3-point tracking; additionally hip and feet for full-body tracking. Index controller users also sync finger positions.
  • Synced expression parameters — Only parameters marked as Synced are transmitted. Values are quantized: Int values sync in the range 0–255, Float values sync as multiples of 1/127 between −1 and 1, and Bools sync as true or false.
  • Built-in VRC parameters — Including gestures, velocity, voice, and other runtime parameters.
  • PhysBones — Pose position data is sent to late joiners.

For reliable late-joiner support, a recommended pattern is to split animator logic using the IsLocal parameter: local-side layers handle contacts, parameter drivers, and all logic, then set synced parameters, while remote-side layers only read those synced parameters to play the correct visualization.

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.

Divergências de parâmetros de expressão

A divergência de parâmetros de expressão refere-se à prática de usar tipos de parâmetros diferentes entre os parâmetros de expressão e os parâmetros do controlador de animação local. Embora seja recomendável manter a consistência dos tipos de parâmetros, existe suporte para essa divergência e o sistema converterá os valores entre os tipos de acordo com regras específicas. Isso pode ser útil em certas configurações avançadas.

O sistema Animator do Unity usa floats no backend para todos os tipos de parâmetros, enquanto o VRChat usa SBytes internamente para armazenamento de parâmetros. A interface do usuário no Unity e no VRCSDK permite selecionar tipos de parâmetros para maior conveniência, mas, internamente, conversões são possíveis. Isso significa que os parâmetros não são convertidos (cast), mas sim divergentes. Esse comportamento também é suportado por ferramentas populares como Av3Emulator e Gesture Manager.

Parâmetro de Expressão Booleano

Parâmetro do Controlador de Animação
Tipo Expressão Booleana = Falso Expressão Booleana = Verdadeiro
Bool → Bool Bool = False Bool = True
Bool → Int Int = 0 Int = 1
Bool → Float Float = 0.0 Float = 1.0

Parâmetro de Expressão Inteiro

Parâmetro do Controlador de Animação
Tipo Comportamento
Int → Bool Qualquer valor inteiro diferente de 0 define uma variável booleana como Verdadeiro.
Int → Int Comportamento Esperado
Int → Float Conversão Direta: por exemplo, Inteiro = 2 → Float = 2.0

Parâmetro de Expressão Float

Parâmetro do Controlador de Animação
Tipo Comportamento
Float → Bool Qualquer valor Float diferente de 0 define uma variável booleana como Verdadeiro.
Float → Int Conversão Arredondada: ≥0,5 → 1 ; <0,5 → 0
Float → Float Comportamento Esperado

Recursos

Veja também

Referências