Come funzionano le estensioni
Un’estensione chiede a vrOS le cose specifiche che le servono — uscita audio, pannelli propri, accesso alla rete — e tu concedi o neghi ciascuna. vrOS la avvia, la supervisiona e la riavvia se cade.
Un’estensione di terze parti è un programma separato: gira per conto suo, parla con vrOS tramite un socket locale e non può trascinarsi dietro vrOS quando va in crash. Le cinque estensioni fornite con vrOS sono invece integrate — task supervisionati dentro l’app, sulla stessa API e con la stessa disciplina, isolati da un panic anziché da un confine di processo. Vedi Crea un’estensione per capire che cosa distingue i due livelli.
Questa pagina è il lato utente. Per crearne una, vedi Crea un’estensione.
Che cosa è incluso
Sezione intitolata “Che cosa è incluso”Tutte e cinque arrivano con la 2.0.0 e partono disattivate. Attivane una in Impostazioni → Estensioni e la sua scheda si aggiunge al Dash.
| Estensione | Che cosa fa |
|---|---|
| VRChat OSC | Chatbox, parametri avatar, fotocamera, tracker OSC, rilevamento OSCQuery. Funziona anche con SteamVR chiuso. |
| Soundboard | Pad con categorie, guadagno, pad in loop e pad divisi, instradati pad per pad verso il visore e/o il microfono |
| OBS Control | Cambio scena, stato di stream e registrazione e un pannello OBS Director, su un massimo di 16 istanze OBS |
| Twitch | Accesso, chat con emote 7TV, un gestore della pubblicità con un HUD pubblicitario in VR e fino a quattro player di dirette |
| Steam Link Face | Porta il tracciamento del viso di un Quest Pro in streaming tramite Steam Link nel tracciamento del viso di O·VR |
La 2.0.0 non ha parità di funzioni con vrOS 1. Altre funzioni per i creator tornano come estensioni, una alla volta, e le note di rilascio dicono che cosa è arrivato nella build che hai.
La schermata di consenso
Sezione intitolata “La schermata di consenso”Un’estensione chiede la prima volta che si avvia, non quando la installi. Finché non decidi, resta ferma. Non gira e non occupa uno slot sulla barra.
La schermata elenca ogni capacità richiesta, ciascuna con il proprio interruttore e una riga in linguaggio semplice che spiega che cosa significa in pratica. Sono elencate anche le capacità non richieste, contrassegnate come tali, così vedi l’intera forma di ciò che potrebbe mai chiedere. Poi: nega tutto, oppure consenti le selezionate.
Se una versione successiva vuole qualcosa di nuovo, ti viene chiesto di nuovo solo per la differenza. Ciò che hai già concesso resta concesso.
Che cosa copre una capacità
Sezione intitolata “Che cosa copre una capacità”| Capacità | Concederla permette di |
|---|---|
| Bus | Ricevere gli eventi vrOS che ha elencato, come il collegamento e lo scollegamento della VR. I suoi eventi restano sempre suoi. |
| Overlay | Disegnare i propri pannelli nel tuo spazio. Non può vedere né toccare altri overlay. |
| Cattura | Chiedere un overlay di cattura di una finestra specifica. |
| Audio | Riprodurre tramite il motore audio di vrOS e il suo instradamento delle uscite. |
| Segreti | Salvare una password o un token nel portachiavi del tuo sistema operativo, sotto il proprio nome. |
| OSC | Aprire socket OSC. |
| Rete | Comunicare con la rete. |
| Riproduzione video | Riprodurre video e audio da internet nei propri pannelli. L’audio può continuare mentre il pannello è nascosto. |
| Dati del viso | Fornire o leggere dati di tracciamento del viso e degli occhi. |
Bus, Overlay, Cattura, Audio e Segreti sono imposti dall’host: quando un’estensione chiede all’API di vrOS qualcosa che non le è stato concesso, la chiamata viene rifiutata sul filo.
Le estensioni di prima parte
Sezione intitolata “Le estensioni di prima parte”Le cinque estensioni integrate sono fornite con vrOS, disattivate finché non le attivi in Impostazioni → Estensioni. Sono già autorizzate, quindi quando ne attivi una per la prima volta non ti viene chiesto nulla — tranne per la riproduzione video e i dati del viso, che non sono mai autorizzati in anticipo e aspettano sempre che sia tu a consentirli. Per il resto sono estensioni vere: stesso manifest, stessi chip di capacità, stesso pulsante di revoca in Impostazioni. Disattivane una e si ferma.
Sono anche il modo in cui l’API delle estensioni resta onesta: sono costruite sulla stessa API che ottiene una terza parte, senza porte di servizio private. Se una funzione di prima parte non si può costruire su quell’API, è l’API a essere sbagliata.
Impostazioni → Estensioni
Sezione intitolata “Impostazioni → Estensioni”Ogni estensione installata è elencata con autore, versione e chip di capacità: concessa, richiesta (in attesa della tua decisione) o neutra quando l’estensione è disattivata. Una decisione in sospeso contrassegna la riga della categoria e l’intestazione del Dash, così la trovi da qualsiasi punto.
Su ogni riga puoi esaminare — si apre l’intera schermata di consenso — attivare o disattivare l’estensione e revocare una capacità concessa in precedenza. Per revocare si usa lo stesso interruttore con cui hai concesso. Vedi Impostazioni.
Lo slot sulla barra
Sezione intitolata “Lo slot sulla barra”Un’estensione attiva con una scheda del Dash ottiene uno slot sulla barra: prima le schede principali (pannelli, prestazioni, area di gioco), poi un separatore, poi gli slot delle estensioni nell’ordine che decidi tu, con Impostazioni fissata in fondo. Le schede principali e Impostazioni non si spostano mai.
Per impostazione predefinita le estensioni ottengono la loro scheda sulla barra anche nell’app desktop. Vedi L’app desktop.
Questa versione disegna un glifo segnaposto a contorno accanto all’etichetta breve dell’estensione. Le icone personalizzate per le estensioni non ci sono.
Pannelli
Sezione intitolata “Pannelli”Un’estensione può disegnare due tipi di pannello: una scheda dentro il Dash e un pannello overlay evocabile che collochi nel tuo spazio. I pannelli overlay si evocano dalla scheda del Dash dell’estensione stessa.
Un pannello overlay è un normale overlay di vrOS. Ancoralo al mondo, alla testa o a uno dei due polsi, afferralo, bloccalo, e dopo un riavvio torna dove l’hai lasciato. Vedi Pannelli.
Quando la VR si scollega, i pannelli di un’estensione si nascondono e l’estensione continua a funzionare. Il suo stato non viene mai smontato perché hai posato il visore. Un’estensione dichiarata capace di girare senza VR non viene mai a sapere se SteamVR esiste.
Comandi e assegnazioni
Sezione intitolata “Comandi e assegnazioni”Le estensioni registrano comandi con un nome, che puoi attivare dai loro pannelli e dal Dash. Per raggiungerne uno da un controller, assegnalo a una delle otto azioni predichiarate in Impostazioni → Estensioni, poi assegna quell’azione in SteamVR sotto Associazioni controller, come per tutto il resto che vrOS espone. Le azioni non assegnate non fanno nulla. vrOS non inventa gesti. Vedi Input.
Installare un’estensione di terze parti
Sezione intitolata “Installare un’estensione di terze parti”Metti la cartella dell’estensione in:
- Windows:
%LOCALAPPDATA%\vrOS\extensions\<id>\ - Linux:
~/.local/share/vros/extensions/<id>/
Una cartella presente è un’estensione installata. Viene elencata come disattivata, con le capacità che richiede mostrate come chip, finché non la attivi e non percorri la schermata di consenso. La distribuzione firmata tramite uno store è una tappa successiva; questa versione fa installazioni da cartella locale.
Quando una si comporta male
Sezione intitolata “Quando una si comporta male”Un’estensione andata in crash si riavvia con attese crescenti, secondo la politica indicata nel suo manifest. I suoi dati salvati vivono in vrOS, quindi un riavvio riprende invece di azzerare.
Una che continua ad andare in crash smette di essere riavviata e finisce disattivata, con il motivo mostrato nel pannello. Un’estensione costruita su una versione del protocollo che vrOS non supporta più viene elencata allo stesso modo. Niente sparisce silenziosamente dall’elenco.
Per fermarne una subito, disattivala in Impostazioni. Vedi Risoluzione dei problemi se il problema le sopravvive.