![見出し画像](https://assets.st-note.com/production/uploads/images/72747138/rectangle_large_type_2_cbd668a312413d34fd421babb98774c1.png?width=1200)
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で操作していた着替えが音声で出来たり
アイデア次第でなんでも出来る可能性を秘めています。
![](https://assets.st-note.com/img/1645445095853-UtvjjykKwe.png?width=1200)
OSCの使い方・仕様
VRChatを起動後、ExMenuからOSCを有効にします。
![](https://assets.st-note.com/img/1645445450845-xtPzCtQFRA.png)
![](https://assets.st-note.com/img/1645445483742-K75m514JWv.png)
OSC Debugを選択すると、受信したOSCを確認できる画面が表示されます。
使用できるパラメータ
アバターに関するパラメータは、アバターを使用したときに以下の場所に出力されます。
C:\Users\(ユーザ名)\AppData\LocalLow\VRChat\VRChat\OSC\(ユーザID)\Avatars\(アバター名)_(アバターID).json
![](https://assets.st-note.com/img/1645445987403-DuDhp5eHnj.png?width=1200)
パラメータはinputとoutputの2種類あります。
![](https://assets.st-note.com/img/1645446507669-cHxloeCeME.png?width=1200)
また、ジャンプや移動等の操作に関するパラメータは沢山あるので
公式サイトの 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を送信するソフトです。使ってください(宣伝)