VTube Studio iPhone 앱에서 추적 데이터 수신을 요청할 수 있습니다. 이 데이터에는 블렌드 셰이프, 머리 회전, 머리 위치 등이 포함됩니다. 데이터는 UDP를 통해 요청되고 전송됩니다.
VSeeFace 및 VBridger와 같은 앱이 이를 사용합니다.
VTube Studio를 실행하는 iPhone 또는 iPad가 필요합니다. "3rd Party PC Clients"
옵션이 켜져 있는지 확인하세요. 첫 번째 설정 탭 하단에 있습니다. 그러면 iPhone에서 UDP 수신기가 시작되고 이제 앱은 요청 시 로컬 네트워크를 통해 데이터를 보낼 준비가 되었습니다.
최대 10초 동안 추적 데이터 전송을 요청할 수 있습니다. 그렇게 하려면 UDP를 통해 다음 문자열 페이로드를 iPhone(포트 21412
또는 iOS 앱에 표시되는 포트)으로 보내십시오.
{
"messageType" : " iOSTrackingDataRequest " ,
"time" : 2.5 ,
"sentBy" : " MyApp " ,
"ports" : [ 11125 , 11126 ]
}
time
필드는 iOS 앱에 데이터 전송 시간을 알려줍니다. 허용되는 값은 0.5 and 10
초입니다. 데이터를 계속 수신하려면 몇 초마다 이 요청을 반복적으로 보내야 합니다. 예를 들어 time
5
로 설정하고 초당 하나의 요청을 보내 추적 데이터가 계속 수신되도록 할 수 있습니다. 완료되면 요청 전송을 중지하면 됩니다.
iOS 앱이 이 요청을 받으면 요청을 보낸 IP로 UDP 데이터 패킷을 보냅니다.
데이터는 요청에 나열된 포트로 전송되므로 해당 포트에 UDP server
열려 있는지 확인하십시오. 최소한 하나의 포트를 나열해야 하며 최대 32개까지 나열할 수 있습니다. 이는 하나의 PC에서 여러 개의 앱을 실행하여 서로 다른 포트에서 데이터를 수신할 수 있도록 하기 위한 것입니다.
sentBy
필드에는 앱 이름이 포함되어야 하며 현재는 로깅에만 사용됩니다. 길이는 1~64자 사이여야 합니다.
매 프레임마다 다음 데이터를 받게 됩니다(iPhone 앱에 지연이 없는 한 일반적으로 60FPS).
정확한 페이로드에 대한 자세한 내용은 여기에서 확인할 수 있습니다. Payload Definition
일부 필드는 나중에 이 페이로드에 추가 될 수 있으므로 알 수 없는 필드가 발견될 때 페이로드에 대한 역직렬화 코드가 실패하지 않는지 확인하세요.
모든 블렌드셰이프에 대한 자세한 설명은 여기에서 확인할 수 있습니다: Apple iOS Blendshape Info
이 저장소에는 추적 데이터를 요청하는 방법을 보여주는 예제 Unity 프로젝트가 포함되어 있습니다.
VTubeStudioReceiveDataExample
구성 요소의 <YOUR-IPHONE-IP-HERE>
iPhone/iPad의 IP로 바꾸십시오. 연결할 수 없는 경우 방화벽/바이러스 백신 설정을 확인하세요.
파일 | 설명 |
---|---|
VTSARKitBlendshape.cs | 52개의 iOS 블렌드 셰이프가 모두 포함된 열거형입니다. |
VTubeStudioUDPDataRequest.cs | iOS 앱으로 보내야 하는 요청의 페이로드입니다. |
VTubeStudioRawTrackingData.cs | 추적 데이터 등이 포함된 iOS 앱에서 페이로드를 받게 됩니다. 일부 필드는 나중에 이 페이로드에 추가 될 수 있으므로 알 수 없는 필드가 발견될 때 페이로드에 대한 역직렬화 코드가 실패하지 않는지 확인하세요. |
VTubeStudioBlendshapeDataReceiver.cs | 앱에서 데이터를 요청하고 iOS 앱에서 새 데이터가 도착하거나 화면 단축키를 눌렀을 때 알림을 받기 위해 사용할 수 있는 구성요소입니다. |
Example/VTubeStudioReceiveDataExample.cs | VTubeStudioBlendshapeDataReceiver 를 사용하여 데이터를 요청한 후 표시하는 예제 구성 요소입니다. |