見出し画像

VRCのOSCが「わからん」から「ちょっとわかる」になれる記事

公式の資料を読んで分かったことをまとめます。
https://docs.vrchat.com/v2022.1.1/docs/osc-overview

最終更新:2022/02/25

OSCって何?

OpenSound Control の略で、
主に電子楽器で使われている通信するための規格です。
VRCはこの仕組みを利用してデータを送受信します。
https://ja.wikipedia.org/wiki/OpenSound_Control

OSCで何が出来るの?

外部アプリがVRChatのデータを取得したり送ったりできます。
現在はアバターのParameterを取得、変更をしたり、
移動、ジャンプ等の操作することができます。

今までExpression Menuで操作していた着替えが音声で出来たり
アイデア次第でなんでも出来る可能性を秘めています。

将来的にはワールドの操作も出来るようになるとか

OSCの使い方・仕様

VRChatを起動後、ExMenuからOSCを有効にします。

OSCを選択
Enabledを選んで有効にします。
OSC Debugを選択すると、受信したOSCを確認できる画面が表示されます。

使用できるパラメータ

アバターに関するパラメータは、アバターを使用したときに以下の場所に出力されます。

C:\Users\(ユーザ名)\AppData\LocalLow\VRChat\VRChat\OSC\(ユーザID)\Avatars\(アバター名)_(アバターID).json

 https://docs.vrchat.com/v2022.1.1/docs/osc-avatar-parameters
JSONファイルはメモ帳などで開けます

パラメータはinputとoutputの2種類あります。

また、ジャンプや移動等の操作に関するパラメータは沢山あるので
公式サイトの Supported Inputs を確認してみて下さい。
https://docs.vrchat.com/v2022.1.1/docs/osc-as-input-controller#supported-inputs

通信ポート

VRChatが受信するのは UDP 9000番
VRChatが送信するのは UDP 9001番です
https://docs.vrchat.com/v2022.1.1/docs/osc-overview#vrchat-ports

OSCで何かやってみたい!

VRChatはOSC通信の仕組みを用意しているだけなので、OSCツールは自前で用意する必要があり、敷居が高い状態です。

Unityで開発する場合は、VRChatがOscCoreを公開しています。
https://github.com/vrchat/osccore/tree/all-in-one

現在boothで公開されているOSCツール

詠唱ツール for VRC

音声認識でOSCを送信するソフトです。使ってください(宣伝)

VRChat用アイトラOSC送信ツール eyedayo

ゆかりねっとOSCプラグイン for VRChat


いいなと思ったら応援しよう!