VRChatでOSCがサポートされ、アバター動かせるようになるみたいなので、通信実験してみる

hello.vrchat.com

OSCっていう通信方式があって、その通信ができるようになるみたいです。たとえばMIDIキーボードの鍵盤を押したら、(それをOSC通信を使ってアバターに送って)(アバターはそれを受けられるように作っておけば)アバターの表情を変える、みたいなことができるようになるようです。

docs.vrchat.com

↑をみるとUDPプロトコルでポート9000を受信するのがデフォルトのようです。(起動パラメータで変更できるみたいですね)

まずは、localhostのポート9000にUDPで送信する方法を探してみましょう。

linuxならnc(netcat)っていうコマンドがあると思うので、これを使って、UDP/9000に送信できます。

$ echo "abcdefg" | nc -u localhost 9000

こんな感じ。これをwindowsで実行するには、nc.exeを使う必要がありますが、下記の通りgithubで公開されているのですが、ネットワーク通信を行うプログラムなのでセキュリティ的にブロックされてしまってダウンロードできなかったり、実行できなかったりするかもしれません。

github.com

ですので、わたしは、wsl上で実行しました。

送信出来てているかどうか確認するために、Wiresharkをインストールしましょう。

www.wireshark.org

初めてインストールするならWinPcapも必要ですね。

www.winpcap.org

f:id:momoandbanana22:20220217215755p:plain
キャプチャ

はい、できました。wsl上からwindowsに送信するために、

$ echo "abcdefg" | nc -u 192.168.1.2 9000

としてIPアドレスを指定しました。そして、windows側では受信していないので、unreachableになっていますが、パケットが送信されていることが確認できました。

次回はwindows側が受信させてみましょう。

~今日はここまで~

※コメントは、他の読者さまにも有益と思われるもののみ承認・表示とさせていただきますので、ご了承くださいませ。