Puede solicitar recibir datos de seguimiento desde la aplicación para iPhone VTube Studio. Estos datos incluyen formas de mezcla, rotación de la cabeza, posición de la cabeza y más. Los datos se solicitan y envían vía UDP.
Aplicaciones como VSeeFace y VBridger usan esto.
Necesitas un iPhone o iPad con VTube Studio. Asegúrese de que la opción "3rd Party PC Clients"
esté activada. Está en la parte inferior de la primera pestaña de configuración. Esto inicia un oyente UDP en el iPhone y la aplicación ahora está lista para enviarle datos a través de la red local cuando los solicite.
Puede solicitar que le envíen datos de seguimiento durante un máximo de 10 segundos. Para hacer eso, envíe la siguiente carga útil de cadena al iPhone (puerto 21412
o lo que se muestre en la aplicación de iOS) a través de UDP:
{
"messageType" : " iOSTrackingDataRequest " ,
"time" : 2.5 ,
"sentBy" : " MyApp " ,
"ports" : [ 11125 , 11126 ]
}
El campo de time
le indica a la aplicación iOS durante cuánto tiempo enviar datos. Los valores permitidos están entre 0.5 and 10
segundos. Asegúrese de enviar esta solicitud repetidamente cada pocos segundos para seguir recibiendo datos. Por ejemplo, puede enviar una solicitud por segundo con time
establecido en 5
para que los datos de seguimiento sigan llegando. Cuando haya terminado, simplemente deje de enviar la solicitud.
Cuando la aplicación de iOS reciba esta solicitud, enviará paquetes de datos UDP a la IP que envió la solicitud.
Los datos se enviarán a los puertos que enumeró en la solicitud, así que asegúrese de tener un UDP server
abierto en estos puertos. Debe enumerar al menos un puerto y puede enumerar hasta 32. Esto es para que pueda tener varias aplicaciones ejecutándose en una PC y todas reciban los datos en diferentes puertos.
El campo sentBy
debe contener el nombre de su aplicación y actualmente solo se usa para iniciar sesión. Debe tener entre 1 y 64 caracteres.
Recibirá los siguientes datos en cada fotograma (normalmente a 60 FPS, a menos que haya un retraso en la aplicación de iPhone):
Los detalles sobre la carga útil exacta se pueden encontrar aquí: Payload Definition
Es posible que se agreguen algunos campos a esta carga útil en el futuro, así que asegúrese de que su código de deserialización para la carga útil no falle cuando se encuentren campos desconocidos.
Puede encontrar una explicación detallada de todos los blendshapes aquí: Apple iOS Blendshape Info
Este repositorio contiene un proyecto de Unity de ejemplo que muestra cómo solicitar datos de seguimiento.
Asegúrese de reemplazar <YOUR-IPHONE-IP-HERE>
en el componente VTubeStudioReceiveDataExample
con la IP de su iPhone/iPad. Si no puede conectarse, verifique la configuración de su firewall/antivirus.
Archivo | Descripción |
---|---|
VTSARKitBlendshape.cs | Enum con las 52 formas combinadas de iOS. |
VTubeStudioUDPDataRequest.cs | Carga útil para la solicitud que debe enviar a la aplicación de iOS. |
VTubeStudioRawTrackingData.cs | Carga útil que recibirá de la aplicación de iOS que contiene los datos de seguimiento y más. Es posible que se agreguen algunos campos a esta carga útil en el futuro, así que asegúrese de que su código de deserialización para la carga útil no falle cuando se encuentren campos desconocidos. |
VTubeStudioBlendshapeDataReceiver.cs | Componente que puede usar en su aplicación para solicitar datos y recibir notificaciones cuando lleguen nuevos datos desde la aplicación iOS o se presione una tecla de acceso rápido en pantalla. |
Example/VTubeStudioReceiveDataExample.cs | Componente de ejemplo que utiliza VTubeStudioBlendshapeDataReceiver para solicitar datos y luego los muestra. |