Ir al contenido

VRChat OSC

VRChat OSC conecta vrOS con VRChat por OSC. Envía mensajes del chatbox desde un panel en tu muñeca, mira cómo cambian tus parámetros de avatar en vivo, controla la cámara del juego y deja que VRChat encuentre vrOS por su cuenta.

Viene con vrOS y está concedida de antemano, como toda extensión propia. Consulta Cómo funcionan las extensiones para el modelo de consentimiento y cómo revocarla.

Funciona sin VR. El chatbox sirve con SteamVR cerrado.

vrOS se anuncia como un servicio OSCQuery por mDNS y sirve un pequeño árbol OSCQuery que describe lo que escucha. VRChat lo encuentra, lee el puerto anunciado y empieza a enviar. No escribes un puerto en ningún lado.

Eso te da dos cosas:

  • vrOS escucha en un puerto que asigna el sistema en vez de uno fijo, así que no puede chocar con el propio receptor de VRChat.
  • vrOS sabe si VRChat está realmente ahí. Sondea el servicio que descubrió y observa el tráfico entrante. Un solo sondeo perdido nunca cambia el estado, pero que VRChat se cierre se detecta en vez de darse por supuesto.

El anuncio está activado de forma predeterminada. Desactívalo en los ajustes de la extensión si prefieres apuntar VRChat a vrOS tú mismo.

Ajuste Predeterminado Qué es
Destino de envío 127.0.0.1:9000 Adónde envía vrOS el OSC. El puerto de recepción predeterminado de VRChat.
Dirección de escucha 127.0.0.1:0 Dónde recibe vrOS. El puerto 0 significa que elige el sistema, y OSCQuery anuncia el que haya elegido.
Anunciar (OSCQuery/mDNS) Activado Anunciarse por mDNS y responder solicitudes OSCQuery.
Prefijos de contacto Vacío Prefijos de parámetros separados por comas que se exponen como eventos de contacto.

El chatbox existe en dos superficies que comparten un estado: un panel de overlay que puedes generar, y la página CHAT de la pestaña del Dash. Escribe en cualquiera de las dos. Ancla el panel de overlay a una muñeca y vuelve a esa muñeca después de un reinicio.

El panel tiene un campo de texto, ENVIAR y tres interruptores:

  • ESCRIBIENDO muestra el indicador de escritura dentro del juego mientras escribes. Se limpia cuando envías, cuando vacías el campo y cuando el foco sale del panel.
  • SONIDO controla si el mensaje reproduce el sonido de notificación de VRChat al llegar.
  • EN VIVO envía texto parcial mientras escribes, en vez de solo al pulsar ENVIAR.

El chatbox de VRChat acepta 144 caracteres. El texto más largo se recorta en un límite de carácter y el panel lo dice.

vrOS pone en cola en vez de inundar. Una ráfaga corta sale directo, y después los envíos se asientan en una cadencia estable. Los mensajes discretos se encolan en orden. En modo EN VIVO el parcial más nuevo reemplaza al pendiente en vez de acumularse, así que lo que llega es lo último que escribiste.

Si la cola se desborda, el panel te lo dice. Los envíos descartados se cuentan y se muestran, nunca en silencio.

Cuatro páginas, con una fila de envío personalizado en el pie de cada una.

Página Qué hay en ella
CHAT El chatbox, compartiendo estado con el panel de overlay
PARÁMETROS Parámetros de avatar en vivo como nombre, tipo y valor actual, más el avatar cargado
CÁMARA El modo, las acciones de captura, los interruptores documentados y los controles deslizantes
TRACKERS Los envíos de trackers y su interruptor de cadencia

La fila de envío personalizado toma una dirección y un valor, para todo lo que las páginas no cubren.

PARÁMETROS es una vista en vivo, no un registro. Se actualiza mientras la página está en pantalla y deja de enviar cuando no lo está, aunque la extensión sigue aprendiendo valores de todos modos, así que la página es correcta en el momento en que la abres.

El modo de cámara va de 0 a 6: Apagada, Foto, Stream, Emoji, Multicapa, Impresión, Dron. Los controles deslizantes (zoom, distancia focal, apertura, tono y el resto) se limitan a los rangos documentados de VRChat antes de que nada salga por el cable.

Superficie Dirección Notas
Entrada del chatbox y escritura Sale Con límite de envío, como arriba
Parámetros de avatar Entra y sale Incluye parámetros de cadena y de varios argumentos
Cambio de avatar Entra y sale Tanto el envío como el aviso de que tu avatar cargó
/input/* Sale 9 ejes como flotantes limitados a -1..1, 20 botones como enteros 0 o 1
/usercamera/* Sale Modo, acciones, interruptores y controles deslizantes
Trackers 1-8 y cabeza, posición y rotación Sale Cadencia estable, y solo mientras la función está activada
Parámetros de contacto y hápticos Entra Los prefijos que configuras llegan como eventos

Las direcciones entrantes que no coinciden con nada se cuentan en vez de descartarse en silencio, así que un error de tipeo en un prefijo es visible en vez de misterioso.

El seguimiento ocular deliberadamente no está aquí

Sección titulada «El seguimiento ocular deliberadamente no está aquí»

Esta extensión no envía seguimiento ocular a VRChat. Ese es el trabajo de VRCFaceTracking, y duplicarlo solo pelearía con él.

Donde el propio vrOS consume la mirada por OSC, eso es un receptor dedicado dentro del compositor de vrOS, deliberadamente no esta extensión. La mirada en bruto nunca cruza la API de extensiones y nunca llega al bus de eventos. Las extensiones reciben eventos de foco y de confirmación, nunca un flujo de mirada, e incluso esos necesitan su propia concesión de capacidad.

La API web de VRChat, su websocket, el análisis de registros y el JSON de avatares están todos fuera del alcance de esta extensión por diseño. Hace maquinaria OSC y nada más. Mantener ambas cosas separadas es lo que impidió que el código OSC de vrOS 1 desarrollara una dependencia de cada función de VRChat que quedaba al lado.

  • Revisa la línea de estado de la extensión. Dice si VRChat fue encontrado.
  • Confirma que OSC está activado en el propio VRChat. vrOS no puede activarlo por ti.
  • Si el anuncio está apagado, VRChat no tiene forma de descubrir el puerto en el que vrOS está escuchando. Vuelve a activarlo, o define tú mismo el puerto de envío de VRChat.

Más en Solución de problemas.