Salta ai contenuti

VRChat OSC

VRChat OSC collega vrOS a VRChat tramite OSC. Invia messaggi in chatbox da un pannello sul polso, guarda i parametri del tuo avatar cambiare dal vivo, comanda la fotocamera di gioco e lascia che VRChat trovi vrOS da solo.

È fornita con vrOS ed è già autorizzata, come ogni estensione di prima parte. Vedi Come funzionano le estensioni per il modello di consenso e per come revocarla.

Gira senza VR. La chatbox funziona anche con SteamVR chiuso.

vrOS si annuncia come servizio OSCQuery tramite mDNS e serve un piccolo albero OSCQuery che descrive che cosa ascolta. VRChat lo trova, legge la porta annunciata e inizia a inviare. Non devi digitare una porta da nessuna parte.

Questo ti dà due cose:

  • vrOS ascolta su una porta assegnata dal sistema anziché su una fissa, quindi non può entrare in conflitto con il listener di VRChat.
  • vrOS sa se VRChat c’è davvero. Sonda il servizio che ha trovato e osserva il traffico in entrata. Una singola sonda mancata non cambia mai lo stato, ma la chiusura di VRChat viene rilevata anziché data per scontata.

L’annuncio è attivo per impostazione predefinita. Disattivalo nelle impostazioni dell’estensione se preferisci puntare tu VRChat su vrOS.

Impostazione Predefinito Che cos’è
Destinazione di invio 127.0.0.1:9000 Dove vrOS invia l’OSC. La porta di ricezione predefinita di VRChat.
Indirizzo di ascolto 127.0.0.1:0 Dove vrOS riceve. La porta 0 significa che sceglie il sistema, e OSCQuery annuncia ciò che ha scelto.
Annuncia (OSCQuery/mDNS) Attivo Annuncia tramite mDNS e risponde alle richieste OSCQuery.
Prefissi contatti Vuoto Prefissi di parametri separati da virgole da esporre come eventi di contatto.

La chatbox esiste su due superfici che condividono un unico stato: un pannello overlay evocabile e la pagina CHAT della scheda del Dash. Scrivi in una delle due. Ancora il pannello overlay a un polso e dopo un riavvio torna su quel polso.

Il pannello ha un campo di testo, INVIA e tre interruttori:

  • DIGITAZIONE mostra l’indicatore di scrittura in gioco mentre digiti. Si azzera quando invii, quando svuoti il campo e quando il focus lascia il pannello.
  • SUONO decide se il messaggio riproduce il suono di notifica di VRChat all’arrivo.
  • LIVE invia il testo parziale mentre digiti, invece che solo con INVIA.

La chatbox di VRChat accetta 144 caratteri. Il testo più lungo viene tagliato al confine di un carattere e il pannello lo dice.

vrOS accoda invece di inondare. Una raffica breve esce subito, poi gli invii si assestano su una cadenza costante. I messaggi distinti si accodano in ordine. In modalità LIVE il parziale più recente sostituisce quello in attesa invece di accumularsi, così ciò che arriva è l’ultima cosa che hai scritto.

Se la coda trabocca, il pannello te lo dice. Gli invii persi vengono contati e mostrati, mai in silenzio.

Quattro pagine, con una riga di invio personalizzato sul piè di pagina di ciascuna.

Pagina Che cosa c’è
CHAT La chatbox, che condivide lo stato con il pannello overlay
PARAMETRI I parametri dell’avatar dal vivo con nome, tipo e valore attuale, più l’avatar caricato
FOTOCAMERA La modalità, le azioni di scatto, gli interruttori documentati e i cursori
TRACKER Gli invii dei tracker e il loro interruttore di cadenza

La riga di invio personalizzato accetta un indirizzo e un valore, per tutto ciò che le pagine non coprono.

PARAMETRI è una vista dal vivo, non un registro. Si aggiorna mentre la pagina è a schermo e smette di inviare quando non lo è, anche se l’estensione continua comunque ad apprendere i valori, così la pagina è corretta nel momento in cui la apri.

La modalità della fotocamera va da 0 a 6: Spenta, Foto, Stream, Emoji, Multistrato, Stampa, Drone. I cursori (zoom, distanza focale, apertura, tonalità e gli altri) vengono limitati agli intervalli documentati di VRChat prima che qualsiasi cosa vada sul filo.

Superficie Direzione Note
Input della chatbox e digitazione In uscita Con limite di invio, come sopra
Parametri dell’avatar In entrata e in uscita Compresi i parametri stringa e a più argomenti
Cambio avatar In entrata e in uscita Sia l’invio sia l’avviso che il tuo avatar è stato caricato
/input/* In uscita 9 assi come float limitati a -1..1, 20 pulsanti come interi 0 o 1
/usercamera/* In uscita Modalità, azioni, interruttori e cursori
Tracker 1-8 e testa, posizione e rotazione In uscita Cadenza costante, e solo mentre la funzione è attiva
Parametri di contatto e aptici In entrata I prefissi che configuri arrivano come eventi

Gli indirizzi in entrata che non corrispondono a nulla vengono contati anziché scartati in silenzio, così un errore di battitura in un prefisso è visibile invece che misterioso.

Questa estensione non invia il tracciamento oculare a VRChat. È compito di VRCFaceTracking, e duplicarlo servirebbe solo a ostacolarlo.

Dove vrOS stesso consuma lo sguardo tramite OSC, si tratta di un listener dedicato dentro il compositor di vrOS, deliberatamente non questa estensione. Lo sguardo grezzo non attraversa mai l’API delle estensioni e non raggiunge mai il bus degli eventi. Le estensioni ricevono eventi di focus e di conferma, mai un flusso dello sguardo, e anche per quelli serve la loro capacità concessa.

L’API web di VRChat, il suo websocket, l’analisi dei log e il JSON degli avatar sono tutti fuori ambito per questa estensione, per scelta. Fa meccanica OSC e nient’altro. Tenere separate le due cose è ciò che ha impedito al codice OSC di vrOS 1 di sviluppare una dipendenza da ogni funzione di VRChat che gli capitava accanto.

  • Controlla la riga di stato dell’estensione. Dice se VRChat è stato trovato.
  • Verifica che l’OSC sia attivo dentro VRChat. vrOS non può attivarlo al posto tuo.
  • Se l’annuncio è disattivato, VRChat non ha modo di scoprire la porta su cui vrOS è in ascolto. Riattivalo, oppure imposta tu la porta di invio di VRChat.

Altro in Risoluzione dei problemi.