Expressions/fr: Difference between revisions
No edit summary |
No edit summary |
||
| (11 intermediate revisions by the same user not shown) | |||
| Line 58: | Line 58: | ||
Vous pouvez un menu sur quelconque main (ou les deux). Par défaut, effectuez un mouvement de balayage pour sélectionner une option. Vous pouvez choisir d'utiliser la gâchette depuis les paramètres du menu d'action. Pour retourner en arrière, appuyez sur la gâchette. | Vous pouvez un menu sur quelconque main (ou les deux). Par défaut, effectuez un mouvement de balayage pour sélectionner une option. Vous pouvez choisir d'utiliser la gâchette depuis les paramètres du menu d'action. Pour retourner en arrière, appuyez sur la gâchette. | ||
Lorsqu'un contrôle de marionnette est ouvert, VRChat synchronise ses valeurs en temps réel avec le mode de synchronisation plus rapide ''IK''. Une fois stoppée, la valeur figée reste en place jusqu'à ce qu'elle soit modifiée à nouveau. | |||
<span id="Expression_Parameter"></span> | <span id="Expression_Parameter"></span> | ||
| Line 67: | Line 65: | ||
« Expression parameters » sont utilisés pour contrôler les fonctionnalités des avatars via le menu des expressions, les « contact Receiver », l'OSC, les « parameter drivers » ou les [[Special:MyLanguage/physbones|physbones]]. Ces « parameters » peuvent ensuite être assignés aux « parameters » de l'« Animator Controller » dans les « controllers FX, Gesture ou Action » de votre avatar. | « Expression parameters » sont utilisés pour contrôler les fonctionnalités des avatars via le menu des expressions, les « contact Receiver », l'OSC, les « parameter drivers » ou les [[Special:MyLanguage/physbones|physbones]]. Ces « parameters » peuvent ensuite être assignés aux « parameters » de l'« Animator Controller » dans les « controllers FX, Gesture ou Action » de votre avatar. | ||
< | <span id="Settings"></span> | ||
=== | === Paramètres === | ||
Chaque entrée dans le fichier Expression Parameters stocke : | |||
* '''Name''' Nom, qui doit impérativement correspondre au nom du paramètre dans l' ''Animator''. | |||
* '''Name''', | * '''Type''' Type, qui doit être un <code>Bool</code>, <code>Int</code>, ou <code>Float</code>. | ||
* '''Type''', | * '''Default''' Défaut, qui est utilisé quand l'avatar se réinitialise en jeu, son état de base. | ||
* '''Default''', | * '''Saved''' Sauvegardé, qui contrôle si la valeur persiste entre les sessions. | ||
* '''Saved''', | * '''Synced''' Synchronisé, qui contrôle si la valeur est transmise ou non aux autre utilisateurs. | ||
* '''Synced''', | |||
Par défaut, la synchro des paramètres perso utilisent le mode de synchronisation ''Playable'' de VRChat. Les commandes de marionnettes utilisent temporairement la synchronisation ''IK'', plus rapide, pendant qu'elles sont actives. | |||
< | <span id="Built-in_parameters"></span> | ||
=== | === Paramètres intégrés === | ||
VRChat fournit également des paramètres intégrés pour l’Animator. Ceux-ci n’ont pas besoin d’être ajoutés à l’asset des paramètres d’expression et ne sont pas comptabilisés dans le budget de paramètres personnalisés. | VRChat fournit également des paramètres intégrés pour l’Animator. Ceux-ci n’ont pas besoin d’être ajoutés à l’asset des paramètres d’expression et ne sont pas comptabilisés dans le budget de paramètres personnalisés. | ||
| Line 116: | Line 108: | ||
Pour assurer un support fiable des utilisateurs rejoignant tardivement, il est recommandé de séparer la logique de l’animateur en utilisant le paramètre <code>IsLocal</code> : les couches côté local gèrent les contacts, les drivers de paramètres et toute la logique, puis définissent les paramètres synchronisés, tandis que les couches côté distant ne font que lire ces paramètres synchronisés pour afficher la visualisation correcte. | Pour assurer un support fiable des utilisateurs rejoignant tardivement, il est recommandé de séparer la logique de l’animateur en utilisant le paramètre <code>IsLocal</code> : les couches côté local gèrent les contacts, les drivers de paramètres et toute la logique, puis définissent les paramètres synchronisés, tandis que les couches côté distant ne font que lire ces paramètres synchronisés pour afficher la visualisation correcte. | ||
< | <span id="Gestures_and_facial_expressions"></span> | ||
=== Gestures | === Gestures et expressions faciales === | ||
Les paramètres pré-intégré <code>GestureLeft</code> et <code>GestureRight</code> indentifient la gestuelle de main de l'utilisateur, tandis que <code>GestureLeftWeight</code> et <code>GestureRightWeight</code> expose le niveaux de pression de la gachette analogique. Sur les avatars humanoïdes, la ''layer'' jouable ''Gesture'' est communnément utilisé pour la pose des main, alors que les expressions faciales sont souvent piloté par la ''layer'' FX avec des ''blendshapes'', propriétés de ''matérial'', ou autres animations non-humanoïdes. | |||
Sur les manettes où le suivi des doigts prime par défaut sur l'animation, les créateurs peuvent utiliser un état de contrôle de suivi (Tracking Control) pour inverser les doigts concernés de ''Tracking'' à ''Animation'' quand nécessaire. | |||
<span id="Expression_Parameter_Mismatching"></span> | <span id="Expression_Parameter_Mismatching"></span> | ||
== « Expression Parameter » non compatible== | == « Expression Parameter » non compatible== | ||
La non-correspondance des paramètres d’Expression fait référence à la pratique consistant à utiliser des types de paramètres différents entre vos ''Expression Parameters'' et les paramètres de votre ''Animator Controller'' local. Bien qu’il soit recommandé de garder les types de paramètres cohérents, la non-correspondance est prise en charge et le système convertira les valeurs entre les types selon des règles spécifiques. Cela peut être utile dans certaines configurations <u>avancées</u>. | |||
La non-correspondance des paramètres d’Expression fait référence à la pratique consistant à utiliser des types de paramètres différents entre vos Expression Parameters et les paramètres de votre | Le même comportement de conversion peut aussi être utilisé avec les paramètres pré-intégrés de l' ''Animator'' VRChat. | ||
Le système Animator de Unity utilise des <code>float</code> en interne pour tous les types de paramètres, tandis que VRChat stocke les paramètres personnalisés synchronisés dans des formats compact légé pour le réseau. L’interface utilisateur dans Unity et le SDK VRC permet aux créateurs de choisir des types de paramètres par convenance, mais sous le capot, des conversions de valeurs sont possibles. Cela signifie que les paramètres ne sont pas convertis (cast), mais plutôt non correspondants entre les systèmes. Ce comportement est également pris en charge par des outils populaires tels que Av3Emulator et Gesture Manager. | |||
Le système Animator de Unity utilise des | |||
<span id="Expression_Parameter_Bool"></span> | <span id="Expression_Parameter_Bool"></span> | ||
| Line 194: | Line 178: | ||
==Ressources== | ==Ressources== | ||
*Monde {{VRC link|https://vrchat.com/home/world/wrld_6168d07b-f55c-40bc-8077-749dde39983c|Avatar 3.0 Hub}} sur VRChat | *Monde {{VRC link|https://vrchat.com/home/world/wrld_6168d07b-f55c-40bc-8077-749dde39983c|Avatar 3.0 Hub}} sur VRChat | ||
*[https://creators.vrchat.com/avatars/expression-menu-and-controls/ Menu | *[https://creators.vrchat.com/avatars/expression-menu-and-controls/ Expression Menu and Controls] sur les Creator Docs | ||
*[https://docs.vrchat.com/docs/action-menu#expression-menu Action Menu - Menu | *[https://docs.vrchat.com/docs/action-menu#expression-menu Action Menu - Expression Menu] sur les Creator Docs | ||
*[https://creators.vrchat.com/avatars/animator-parameters/ | *[https://creators.vrchat.com/avatars/animator-parameters/ Animator Parameters] sur les Creator Docs | ||
*[https://creators.vrchat.com/avatars/playable-layers Couches jouables] sur les Creator Docs | *[https://creators.vrchat.com/avatars/playable-layers Couches jouables] sur les Creator Docs | ||
*[https://creators.vrchat.com/avatars/state-behaviors/ State Behaviors] sur les Creator Docs | |||
<span id="See_also"></span> | <span id="See_also"></span> | ||
Latest revision as of 18:58, 16 April 2026

Les expressions sont une fonctionnalité des avatars VRChat, composé de menus personnalisés par les utilisateurs, qui vous permettent d'activer des actions ou éléments de votre avatar, conçu pour être flexible et donner un accès simplifié aux fonctionnalités des avatars.
Plus d'informations disponibles sur la Documentation des créateurs d'avatar.
Menu des expressions
Le menu des expressions est accessible via le menu d'action ou le menu latéral des expressions du menu rapide et menu principal. Les modifications des expressions d'un avatar sont transmises globalement aux autres utilisateurs de la même plateforme et peuvent être réglés pour une synchronisation multiplateforme.
Expressions dans le SDK
Les expressions sont modifiés via de nombreux « parameters » dans le SDK VRChat.
Expressions de bases
Lorsqu'aucune expression n'est configurée, un menu d'expression avec les animations de base suivantes est ajouté à l'avatar :
- Saluer
- Applaudir
- Pointer du doigt
- Encourager
- Danser
- Salto arrière
- Faire le mort
- Tristesse
Expressions personnalisées
Pour ajouter des expressions personnalisées, dans Unity créez un fichier Expression Menu, ainsi qu'un fichier Expression Parameters, puis ajoutez-les à la section Expressions de l'Avatar Descriptor VRChat. Le menu définis quels contrôles apparaissent dans le menu en jeu, tandis que les paramètres définissent les noms, types, valeurs par défaut, et le comportement de syncrhonisation des valeurs que ces contrôles changent.
Chaque paramètre personnalisé peut être libellé comme Saved(Sauvegardé) et Synced(Synchronisé). Les paramètres perso. synchronisés prennent dans le budget de 256-bit de synchro de l'avatar, tandis que les avatar peuvent définir jusqu'un total de 8192 paramètres personnalisés. Les paramètres sur l'objet peuvent aussi être changé par Contact Receivers, parameter drivers, PhysBones, et OSC.
Le SDK inclut aussi un bouton Default Parameters(Paramètres par défaut). Cela restaure les trois paramètres d'alias utilisés par les contrôleurs AV3 par défaut de VRChat: VRCEmote, VRCFaceBlendH, et VRCFaceBlendV.
Contrôles
Vous pouvez créer jusqu'à 8 contrôles différents par pages. Lorsque vous créez un contrôle, choississez son type :
- Button Bouton définit une valeur lorsque l'on appuie, puis se réinitialise une fois que VRChat a envoyé la modification.
- Toggle Activer/Désactiver définit une valeur lorsqu'elle est activée et la réinitialise lorsqu'elle est désactivée.
- Sub Menu Sous-menu ouvre un autre Expressions menu, et permet optionnellement de définir un paramètre pendant que ce sous-menu est ouvert.
- Two Axis Puppet pilote deux paramètres float à partir d'entrées horizontale et verticale, généralement dans la plage
0.0à1.0. - Four Axis Puppet pilote quatre paramètre float, un pour chaque direction, généralement dans la plage
0.0à1.0. - Radial Puppet Menu radial pilote un paramètre float de
0.0à1.0.
Example du « Puppet Menu »

Lorsque vous déplacez votre joystick, pavé tactile ou souris dans différentes directions, vous modifiez les « parameters » d'animation pour changer d'humeur. (p. ex. « Content » et « Surpris »). Tous les « parameters » peuvent être contrôlés depuis ce menu
Vous pouvez un menu sur quelconque main (ou les deux). Par défaut, effectuez un mouvement de balayage pour sélectionner une option. Vous pouvez choisir d'utiliser la gâchette depuis les paramètres du menu d'action. Pour retourner en arrière, appuyez sur la gâchette.
Lorsqu'un contrôle de marionnette est ouvert, VRChat synchronise ses valeurs en temps réel avec le mode de synchronisation plus rapide IK. Une fois stoppée, la valeur figée reste en place jusqu'à ce qu'elle soit modifiée à nouveau.
« Expression Parameter »
« Expression parameters » sont utilisés pour contrôler les fonctionnalités des avatars via le menu des expressions, les « contact Receiver », l'OSC, les « parameter drivers » ou les physbones. Ces « parameters » peuvent ensuite être assignés aux « parameters » de l'« Animator Controller » dans les « controllers FX, Gesture ou Action » de votre avatar.
Paramètres
Chaque entrée dans le fichier Expression Parameters stocke :
- Name Nom, qui doit impérativement correspondre au nom du paramètre dans l' Animator.
- Type Type, qui doit être un
Bool,Int, ouFloat. - Default Défaut, qui est utilisé quand l'avatar se réinitialise en jeu, son état de base.
- Saved Sauvegardé, qui contrôle si la valeur persiste entre les sessions.
- Synced Synchronisé, qui contrôle si la valeur est transmise ou non aux autre utilisateurs.
Par défaut, la synchro des paramètres perso utilisent le mode de synchronisation Playable de VRChat. Les commandes de marionnettes utilisent temporairement la synchronisation IK, plus rapide, pendant qu'elles sont actives.
Paramètres intégrés
VRChat fournit également des paramètres intégrés pour l’Animator. Ceux-ci n’ont pas besoin d’être ajoutés à l’asset des paramètres d’expression et ne sont pas comptabilisés dans le budget de paramètres personnalisés.
Les paramètres intégrés sont en lecture seule. Ils sont ajoutés directement au contrôleur d’Animator d’une couche jouable par nom, et VRChat les met à jour automatiquement à l’exécution. Ils ne sont pas définis sur les sous-animateurs, uniquement sur les animateurs des couches jouables.
Parmi les paramètres intégrés supplémentaires :
Viseme(Int) — Défini par la synchronisation labiale de0(silence) à14(voyelle "u") lorsque la synchronisation labiale de l’Avatar Descriptor est réglée sur Viseme Blend Shape ou Viseme Parameter Only.Voice(Float) — Volume perçu du microphone de0.0à1.0, affecté par la distance et les réglages de protections auditives.VelocityX,VelocityY,VelocityZ,VelocityMagnitude(Float) — Vitesse de déplacement en m/s le long de chaque axe et magnitude totale. Localement, les mouvements de l’aire de jeu ne comptent pas ; à distance, ils sont pris en compte.Upright(Float) —0lorsque l’utilisateur est couché,1lorsqu’il est debout.Grounded(Bool) — Indique si l’utilisateur touche le sol.MuteSelf(Bool) — Indique si le microphone de l’utilisateur est muet.Earmuffs(Bool) — Indique si les protections auditives sont activées pour l’utilisateur.IsOnFriendsList(Bool) — Indique si le spectateur est ami avec le porteur de l’avatar (affiche False localement).ScaleFactor,ScaleFactorInverse,EyeHeightAsMeters,EyeHeightAsPercent(Float) — Paramètres liés à l’échelle pour le redimensionnement des avatars.EyeHeightAsMetersest recommandé pour les systèmes sensibles à l’échelle car il est linéaire et indépendant de la hauteur d’upload.
Chaque paramètre intégré possède un type de synchronisation qui détermine quand il est envoyé aux utilisateurs distants : IK pour les valeurs dérivées du suivi (gestes, vitesse, contact au sol), Speech pour les valeurs liées à la voix (visème, voix), Playable pour les valeurs liées à l’état de l’utilisateur (muet, protections auditives, type de suivi, échelle), ou None pour les valeurs locales uniquement (IsLocal, PreviewMode).
Synchronisation Réseau
Seuls les paramètres d’expression synchronisés et certains paramètres intégrés sont transmis sur le réseau. La liste complète des données envoyées pour chaque avatar inclut :
- Cibles IK — Tête, mâchoire et mains pour le suivi sur bureau et à 3 points ; en plus, hanches et pieds pour le suivi corps entier. Les utilisateurs avec contrôleur Index synchronisent également la position des doigts.
- Paramètres d’expression synchronisés — Seuls les paramètres marqués comme synchronisés sont transmis. Les valeurs sont quantifiées : les valeurs entières (Int) se synchronisent dans la plage 0–255, les valeurs flottantes (Float) se synchronisent par multiples de 1/127 entre −1 et 1, et les booléens (Bool) se synchronisent comme vrai ou faux.
- Paramètres VRC intégrés — Inclut les gestes, la vitesse, la voix et d’autres paramètres d’exécution.
- PhysBones — Les données de position des poses sont envoyées aux utilisateurs rejoignant tardivement.
Pour assurer un support fiable des utilisateurs rejoignant tardivement, il est recommandé de séparer la logique de l’animateur en utilisant le paramètre IsLocal : les couches côté local gèrent les contacts, les drivers de paramètres et toute la logique, puis définissent les paramètres synchronisés, tandis que les couches côté distant ne font que lire ces paramètres synchronisés pour afficher la visualisation correcte.
Gestures et expressions faciales
Les paramètres pré-intégré GestureLeft et GestureRight indentifient la gestuelle de main de l'utilisateur, tandis que GestureLeftWeight et GestureRightWeight expose le niveaux de pression de la gachette analogique. Sur les avatars humanoïdes, la layer jouable Gesture est communnément utilisé pour la pose des main, alors que les expressions faciales sont souvent piloté par la layer FX avec des blendshapes, propriétés de matérial, ou autres animations non-humanoïdes.
Sur les manettes où le suivi des doigts prime par défaut sur l'animation, les créateurs peuvent utiliser un état de contrôle de suivi (Tracking Control) pour inverser les doigts concernés de Tracking à Animation quand nécessaire.
« Expression Parameter » non compatible
La non-correspondance des paramètres d’Expression fait référence à la pratique consistant à utiliser des types de paramètres différents entre vos Expression Parameters et les paramètres de votre Animator Controller local. Bien qu’il soit recommandé de garder les types de paramètres cohérents, la non-correspondance est prise en charge et le système convertira les valeurs entre les types selon des règles spécifiques. Cela peut être utile dans certaines configurations avancées. Le même comportement de conversion peut aussi être utilisé avec les paramètres pré-intégrés de l' Animator VRChat.
Le système Animator de Unity utilise des float en interne pour tous les types de paramètres, tandis que VRChat stocke les paramètres personnalisés synchronisés dans des formats compact légé pour le réseau. L’interface utilisateur dans Unity et le SDK VRC permet aux créateurs de choisir des types de paramètres par convenance, mais sous le capot, des conversions de valeurs sont possibles. Cela signifie que les paramètres ne sont pas convertis (cast), mais plutôt non correspondants entre les systèmes. Ce comportement est également pris en charge par des outils populaires tels que Av3Emulator et Gesture Manager.
Paramètre d’Expression Bool
| Type | Expression Bool = False | Expression Bool = True |
|---|---|---|
| Bool → Bool | Bool = False | Bool = True |
| Bool → Int | Int = 0 | Int = 1 |
| Bool → Float | Float = 0.0 | Float = 1.0 |
Paramètre d’Expression Int
| Type | Comportement |
|---|---|
| Int → Bool | Toute valeur Int qui n’est pas 0 définit le bool à True |
| Int → Int | Comportement attendu |
| Int → Float | Conversion directe : ex. Int = 2 → Float = 2.0 |
Paramètre d’Expression Float
| Type | Comportement |
|---|---|
| Float → Bool | Toute valeur Int qui n’est pas 0 définit le bool à True |
| Float → Int | Conversion arrondie : ≥0.5 → 1 ; <0.5 → 0 |
| Float → Float | Comportement attendu |
Ressources
- Monde Avatar 3.0 Hub sur VRChat
- Expression Menu and Controls sur les Creator Docs
- Action Menu - Expression Menu sur les Creator Docs
- Animator Parameters sur les Creator Docs
- Couches jouables sur les Creator Docs
- State Behaviors sur les Creator Docs
Voir aussi