Vous pouvez demander à recevoir des données de suivi depuis l'application iPhone VTube Studio. Ces données incluent les formes de mélange, la rotation de la tête, la position de la tête et bien plus encore. Les données sont demandées et envoyées via UDP.
Des applications comme VSeeFace et VBridger l'utilisent.
Vous avez besoin d'un iPhone ou d'un iPad exécutant VTube Studio. Assurez-vous que l'option "3rd Party PC Clients"
est activée. C'est au bas du premier onglet des paramètres. Cela démarre un écouteur UDP sur l'iPhone et l'application est maintenant prête à vous envoyer des données sur le réseau local lorsque vous le demandez.
Vous pouvez demander à recevoir des données de suivi pendant 10 secondes maximum. Pour ce faire, envoyez la charge utile de chaîne suivante à l'iPhone (port 21412
ou tout ce qui est affiché dans l'application iOS) via UDP :
{
"messageType" : " iOSTrackingDataRequest " ,
"time" : 2.5 ,
"sentBy" : " MyApp " ,
"ports" : [ 11125 , 11126 ]
}
Le champ time
indique à l'application iOS la durée d'envoi des données. Les valeurs autorisées sont comprises entre 0.5 and 10
secondes. Assurez-vous d'envoyer cette demande à plusieurs reprises toutes les quelques secondes pour continuer à recevoir des données. Par exemple, vous pouvez envoyer une requête par seconde avec time
définie sur 5
afin que les données de suivi continuent d'arriver. Lorsque vous avez terminé, arrêtez simplement d'envoyer la demande.
Lorsque l'application iOS reçoit cette demande, elle enverra des paquets de données UDP à l'adresse IP qui a envoyé la demande.
Les données seront envoyées aux ports que vous avez répertoriés dans la demande, alors assurez-vous qu'un UDP server
est ouvert sur ces ports. Vous devez répertorier au moins un port et pouvez en répertorier jusqu'à 32. Ainsi, vous pouvez avoir plusieurs applications exécutées sur un PC qui reçoivent toutes les données sur différents ports.
Le champ sentBy
doit contenir le nom de votre application et n'est actuellement utilisé que pour la journalisation. Il doit comporter entre 1 et 64 caractères.
Vous recevrez les données suivantes à chaque image (généralement à 60 FPS, sauf en cas de décalage dans l'application iPhone) :
Des détails sur la charge utile exacte peuvent être trouvés ici : Payload Definition
Certains champs pourront être ajoutés à cette charge utile à l'avenir, alors assurez-vous que votre code de désérialisation pour la charge utile n'échoue pas lorsque des champs inconnus sont rencontrés.
Une explication détaillée de toutes les formes de mélange peut être trouvée ici : Apple iOS Blendshape Info
Ce référentiel contient un exemple de projet Unity montrant comment demander des données de suivi.
Assurez-vous de remplacer <YOUR-IPHONE-IP-HERE>
dans le composant VTubeStudioReceiveDataExample
par l'adresse IP de votre iPhone/iPad. S'il ne parvient pas à se connecter, vérifiez les paramètres de votre pare-feu/antivirus.
Déposer | Description |
---|---|
VTSARKitBlendshape.cs | Énumération avec les 52 formes de mélange iOS. |
VTubeStudioUDPDataRequest.cs | Charge utile pour la demande que vous devez envoyer à l'application iOS. |
VTubeStudioRawTrackingData.cs | Charge utile que vous recevrez de l'application iOS contenant les données de suivi et plus encore. Certains champs pourront être ajoutés à cette charge utile à l'avenir, alors assurez-vous que votre code de désérialisation pour la charge utile n'échoue pas lorsque des champs inconnus sont rencontrés. |
VTubeStudioBlendshapeDataReceiver.cs | Composant que vous pouvez utiliser dans votre application pour demander des données et être averti lorsque de nouvelles données arrivent de l'application iOS ou lorsque vous appuyez sur une touche de raccourci à l'écran. |
Example/VTubeStudioReceiveDataExample.cs | Exemple de composant qui utilise VTubeStudioBlendshapeDataReceiver pour demander des données, puis les affiche. |