VRChat OSC
VRChat OSC relie vrOS à VRChat par OSC. Envoyez des messages de chatbox depuis un panneau posé sur votre poignet, regardez vos paramètres d’avatar changer en direct, pilotez la caméra du jeu, et laissez VRChat trouver vrOS tout seul.
Elle est livrée avec vrOS et pré-autorisée, comme toute extension interne. Voir Comment fonctionnent les extensions pour le modèle de consentement et la façon de la révoquer.
Elle fonctionne sans VR. La chatbox marche avec SteamVR fermé.
Découverte
Section intitulée « Découverte »vrOS s’annonce comme un service OSCQuery via mDNS et sert un petit arbre OSCQuery décrivant ce qu’il écoute. VRChat le trouve, lit le port annoncé et commence à envoyer. Vous ne tapez de port nulle part.
Cela vous apporte deux choses :
- vrOS écoute sur un port attribué par le système plutôt que sur un port fixe, il ne peut donc pas entrer en conflit avec l’écoute de VRChat.
- vrOS sait si VRChat est réellement là. Il sonde le service qu’il a découvert et surveille le trafic entrant. Une seule sonde manquée ne change jamais l’état, mais la fermeture de VRChat est détectée, pas supposée.
L’annonce est active par défaut. Désactivez-la dans les réglages de l’extension si vous préférez pointer VRChat vers vrOS vous-même.
Réglages
Section intitulée « Réglages »| Réglage | Défaut | Ce que c’est |
|---|---|---|
| Cible d’envoi | 127.0.0.1:9000 |
Où vrOS envoie l’OSC. Le port de réception par défaut de VRChat. |
| Adresse d’écoute | 127.0.0.1:0 |
Où vrOS reçoit. Le port 0 signifie que le système choisit, et OSCQuery annonce ce qu’il a choisi. |
| Annoncer (OSCQuery/mDNS) | Activé | Annoncer via mDNS et répondre aux requêtes OSCQuery. |
| Préfixes de contact | Vide | Préfixes de paramètres séparés par des virgules, à faire remonter comme événements de contact. |
La chatbox existe sur deux surfaces qui partagent un seul état : un panneau d’overlay que vous faites apparaître, et la page CHAT de l’onglet de Dash. Tapez dans l’une ou l’autre. Ancrez le panneau d’overlay à un poignet et il revient à ce poignet après un redémarrage.
Le panneau comporte un champ de texte, ENVOYER, et trois interrupteurs :
- SAISIE affiche l’indicateur de frappe en jeu pendant que vous tapez. Il s’efface quand vous envoyez, quand vous videz le champ, et quand le focus quitte le panneau.
- SON détermine si le message joue le son de notification de VRChat à l’arrivée.
- DIRECT envoie le texte partiel au fil de la frappe, au lieu d’envoyer seulement sur ENVOYER.
La chatbox de VRChat accepte 144 caractères. Un texte plus long est coupé à une limite de caractère et le panneau le signale.
Limite d’envoi
Section intitulée « Limite d’envoi »vrOS met en file d’attente au lieu d’inonder. Une courte rafale part directement, puis les envois se stabilisent à une cadence régulière. Les messages distincts s’empilent dans l’ordre. En mode DIRECT, le dernier texte partiel remplace celui en attente au lieu de s’accumuler : ce qui arrive est donc ce que vous avez tapé en dernier.
Si la file déborde, le panneau vous le dit. Les envois perdus sont comptés et affichés, jamais silencieux.
L’onglet de Dash
Section intitulée « L’onglet de Dash »Quatre pages, avec une ligne d’envoi personnalisé en pied de chacune.
| Page | Ce qu’il y a dessus |
|---|---|
| CHAT | La chatbox, qui partage son état avec le panneau d’overlay |
| PARAMÈTRES | Les paramètres d’avatar en direct : nom, type et valeur actuelle, plus l’avatar chargé |
| CAMÉRA | Le mode, les actions de capture, les interrupteurs documentés et les curseurs |
| TRACKERS | Les envois de trackers et leur interrupteur de cadence |
La ligne d’envoi personnalisé prend une adresse et une valeur, pour tout ce que les pages ne couvrent pas.
PARAMÈTRES est une vue en direct, pas un journal. Elle se met à jour tant que la page est à l’écran et cesse de pousser quand elle ne l’est pas, mais l’extension continue d’apprendre les valeurs dans les deux cas : la page est donc juste dès que vous l’ouvrez.
Le mode caméra va de 0 à 6 : Arrêt, Photo, Stream, Emoji, Multicouche, Impression, Drone. Les curseurs (zoom, distance focale, ouverture, teinte, et le reste) sont bornés aux plages documentées de VRChat avant que quoi que ce soit ne parte sur le fil.
Ce qu’elle envoie et reçoit
Section intitulée « Ce qu’elle envoie et reçoit »| Surface | Sens | Notes |
|---|---|---|
| Saisie de chatbox et frappe | Sortant | Limité en cadence, comme ci-dessus |
| Paramètres d’avatar | Entrant et sortant | Paramètres chaîne et multi-arguments compris |
| Changement d’avatar | Entrant et sortant | À la fois l’envoi et l’avis que votre avatar est chargé |
/input/* |
Sortant | 9 axes en flottants bornés à -1..1, 20 boutons en entiers 0 ou 1 |
/usercamera/* |
Sortant | Mode, actions, interrupteurs et curseurs |
| Trackers 1-8 et tête, position et rotation | Sortant | Cadence régulière, et uniquement tant que la fonction est active |
| Paramètres de contact et haptiques | Entrant | Les préfixes que vous configurez arrivent comme événements |
Les adresses entrantes qui ne correspondent à rien sont comptées plutôt que jetées en silence : une faute de frappe dans un préfixe est donc visible au lieu d’être mystérieuse.
Le suivi oculaire n’est délibérément pas ici
Section intitulée « Le suivi oculaire n’est délibérément pas ici »Cette extension n’envoie pas de suivi oculaire à VRChat. C’est le travail de VRCFaceTracking, et le dupliquer ne ferait que le contrarier.
Là où vrOS consomme lui-même le regard par OSC, il s’agit d’un écouteur dédié à l’intérieur du compositeur vrOS, délibérément pas de cette extension. Le regard brut ne traverse jamais l’API d’extension et n’atteint jamais le bus d’événements. Les extensions reçoivent des événements de focus et de confirmation, jamais un flux de regard, et même ceux-là exigent leur propre capacité accordée.
Également absent
Section intitulée « Également absent »L’API web de VRChat, son websocket, l’analyse des journaux et le JSON d’avatar sont tous hors périmètre pour cette extension, par choix. Elle fait la mécanique OSC et rien d’autre. C’est cette séparation qui a empêché le code OSC de vrOS 1 de contracter une dépendance envers chaque fonction VRChat qui se trouvait à côté.
Si VRChat ne voit pas vrOS
Section intitulée « Si VRChat ne voit pas vrOS »- Vérifiez la ligne d’état de l’extension. Elle dit si VRChat a été trouvé.
- Vérifiez qu’OSC est activé dans VRChat lui-même. vrOS ne peut pas l’activer à votre place.
- Si l’annonce est désactivée, VRChat n’a aucun moyen de découvrir le port sur lequel vrOS écoute. Réactivez-la, ou réglez vous-même le port d’envoi de VRChat.
Plus de détails dans Dépannage.