Comment fonctionnent les extensions
Une extension demande à vrOS exactement ce dont elle a besoin — la sortie audio, ses propres panneaux, l’accès réseau — et vous accordez ou refusez chaque élément. vrOS la démarre, la supervise et la redémarre si elle tombe.
Une extension tierce est un programme distinct : elle s’exécute seule, parle à vrOS par une socket locale, et ne peut pas entraîner vrOS avec elle quand elle plante. Les cinq extensions livrées avec vrOS sont intégrées à la place — des tâches supervisées dans l’application, sur la même API et avec la même discipline, isolées d’un panic plutôt que par une frontière de processus. Voir Créer une extension pour ce qui sépare les deux niveaux.
Cette page couvre le côté utilisateur. Pour en créer une, voir Créer une extension.
Ce qui est livré
Section intitulée « Ce qui est livré »Les cinq sont livrées avec la 2.0.0 et démarrent désactivées. Activez-en une dans Réglages → Extensions et son onglet rejoint le Dash.
| Extension | Ce qu’elle fait |
|---|---|
| VRChat OSC | Chatbox, paramètres d’avatar, caméra, trackers OSC, découverte OSCQuery. Fonctionne même avec SteamVR fermé. |
| Table de sons | Des pads avec catégories, gain, lecture en boucle et pads divisés, routés pad par pad vers votre casque et/ou votre micro |
| OBS Control | Changement de scène, état du stream et de l’enregistrement, et un panneau OBS Director, sur jusqu’à 16 instances OBS |
| Twitch | Connexion, chat avec les emotes 7TV, un gestionnaire de publicités avec un HUD de pub en VR, et jusqu’à quatre lecteurs de streams en direct |
| Steam Link Face | Amène le suivi du visage d’un Quest Pro qui streame via Steam Link dans le suivi du visage d’O·VR |
La 2.0.0 n’est pas la parité avec vrOS 1. D’autres fonctions pour créateurs reviennent sous forme d’extensions, une à la fois, et les notes de version disent ce qui a été livré dans le build que vous avez.
L’écran de consentement
Section intitulée « L’écran de consentement »Une extension demande au premier lancement, pas à l’installation. Tant que vous n’avez pas décidé, elle reste arrêtée. Elle ne s’exécute pas et n’occupe pas d’emplacement dans la barre latérale.
L’écran liste chaque capacité demandée, avec son propre interrupteur et une ligne en langage clair qui dit ce que cela signifie en pratique. Les capacités non demandées sont listées aussi, marquées comme non demandées, pour que vous voyiez tout ce qu’elle pourrait un jour réclamer. Ensuite : tout refuser, ou autoriser la sélection.
Si une version ultérieure veut quelque chose de nouveau, on vous redemande uniquement la différence. Ce que vous avez déjà accordé reste accordé.
Ce que couvre une capacité
Section intitulée « Ce que couvre une capacité »| Capacité | Ce que l’accorder permet |
|---|---|
| Bus | Recevoir les événements vrOS qu’elle a listés, comme l’attachement et le détachement de la VR. Ses propres événements restent toujours les siens. |
| Overlays | Dessiner ses propres panneaux dans votre espace. Elle ne peut ni voir ni toucher les autres overlays. |
| Capture | Demander un overlay de capture d’une fenêtre précise. |
| Audio | Jouer via le moteur audio de vrOS et son routage de sortie. |
| Secrets | Stocker un mot de passe ou un jeton dans le coffre d’identifiants de votre système, sous son propre nom. |
| OSC | Ouvrir des sockets OSC. |
| Réseau | Communiquer sur le réseau. |
| Lecture vidéo | Lire de la vidéo et du son depuis internet dans ses panneaux. Le son peut continuer pendant que le panneau est masqué. |
| Données faciales | Fournir ou lire des données de suivi du visage et de suivi oculaire. |
Bus, Overlays, Capture, Audio et Secrets sont appliquées par l’hôte : quand une extension demande à l’API vrOS quelque chose qui ne lui a pas été accordé, l’appel est refusé au niveau du fil.
Les extensions internes
Section intitulée « Les extensions internes »Les cinq extensions intégrées sont livrées avec vrOS, désactivées jusqu’à ce que vous les activiez dans Réglages → Extensions. Elles sont pré-autorisées, donc rien ne vous est demandé quand vous en activez une pour la première fois — sauf pour la lecture vidéo et les données faciales, qui ne sont jamais pré-autorisées et attendent toujours votre accord. Pour le reste, ce sont de vraies extensions : même manifeste, mêmes puces de capacité, même bouton de révocation dans les Réglages. Désactivez-en une et elle s’arrête.
C’est aussi ce qui garde l’API d’extension honnête : elles sont bâties sur la même API qu’un tiers obtient, sans porte dérobée privée. Si une fonction interne ne peut pas être bâtie sur cette API, c’est l’API qui a tort.
Réglages → Extensions
Section intitulée « Réglages → Extensions »Chaque extension installée est listée avec son auteur, sa version et ses puces de capacité : accordée, demandée (votre décision est encore attendue), ou neutre quand l’extension est désactivée. Une décision en attente marque d’un badge la ligne de la catégorie et l’en-tête du Dash, pour qu’on la retrouve depuis n’importe où.
Sur chaque ligne, vous pouvez EXAMINER, ce qui ouvre l’écran de consentement complet, activer ou désactiver l’extension, et révoquer une capacité accordée plus tôt. Révoquer, c’est le même interrupteur qui a servi à accorder. Voir Réglages.
L’emplacement dans la barre latérale
Section intitulée « L’emplacement dans la barre latérale »Une extension activée qui possède un onglet de Dash obtient un emplacement dans la barre latérale : d’abord les onglets de base (panneaux, performances, espace de jeu), puis un séparateur, puis les emplacements d’extension dans votre ordre, avec les Réglages épinglés en bas. Les onglets de base et les Réglages ne bougent jamais.
Les extensions obtiennent aussi leur onglet de barre latérale dans l’application de bureau, par défaut. Voir L’application de bureau.
Cette version dessine un glyphe de contour générique à côté du libellé court de l’extension. Les icônes d’extension personnalisées n’en font pas partie.
Panneaux
Section intitulée « Panneaux »Une extension peut dessiner deux sortes de panneau : un onglet dans le Dash, et un panneau d’overlay que vous faites apparaître et placez dans votre espace. Faites apparaître les panneaux d’overlay depuis l’onglet de Dash de l’extension.
Un panneau d’overlay est un overlay vrOS ordinaire. Ancrez-le au monde, à votre tête ou à l’un ou l’autre poignet, saisissez-le, verrouillez-le : il revient là où vous l’avez laissé après un redémarrage. Voir Panneaux.
Quand la VR se détache, les panneaux d’une extension se masquent et l’extension continue de fonctionner. Poser le casque ne détruit jamais son état. Une extension marquée pour fonctionner sans VR n’apprend jamais si SteamVR existe.
Commandes et assignations
Section intitulée « Commandes et assignations »Les extensions déclarent des commandes nommées, que vous pouvez déclencher depuis leurs panneaux et depuis le Dash. Pour en atteindre une à la manette, assignez-la à l’une des huit actions pré-déclarées dans Réglages → Extensions, puis liez cette action dans SteamVR sous Liaisons des manettes, comme tout le reste de ce que vrOS expose. Les actions non assignées ne font rien. vrOS n’invente pas de gestes. Voir Saisie.
Installer une extension tierce
Section intitulée « Installer une extension tierce »Placez le dossier de l’extension dans :
- Windows :
%LOCALAPPDATA%\vrOS\extensions\<id>\ - Linux :
~/.local/share/vros/extensions/<id>/
Un dossier présent est une extension installée. Elle est listée comme désactivée, avec les capacités qu’elle demande affichées en puces, jusqu’à ce que vous l’activiez et parcouriez l’écran de consentement. La distribution signée par une boutique viendra plus tard ; cette version se limite aux installations par dossier local.
Quand une extension se comporte mal
Section intitulée « Quand une extension se comporte mal »Une extension plantée redémarre avec un délai croissant, selon la politique de son propre manifeste. Ses données stockées vivent dans vrOS, donc un redémarrage reprend au lieu de repartir de zéro.
Celle qui plante sans arrêt cesse d’être redémarrée et finit désactivée, avec la raison affichée dans le volet. Une extension bâtie sur une version de protocole que vrOS ne prend plus en charge est listée de la même façon. Rien n’est retiré de la liste en silence.
Pour en arrêter une tout de suite, désactivez-la dans les Réglages. Voir Dépannage si le problème y survit.