VRChatでOSCがサポートされ、アバター動かせるようになるみたいなので、通信実験してみる
Want to control your #VRChat avatar with your MIDI controller? Put a heartrate indicator on your avatar? Implement your own eye and face tracking? Now you can, with OSC for Avatars! Read up, it's a lot! https://t.co/GH5CELHrRn pic.twitter.com/F2AIyr9GjU
— VRChat (@VRChat) 2022年2月17日
OSCっていう通信方式があって、その通信ができるようになるみたいです。たとえばMIDIキーボードの鍵盤を押したら、(それをOSC通信を使ってアバターに送って)(アバターはそれを受けられるように作っておけば)アバターの表情を変える、みたいなことができるようになるようです。
↑をみるとUDPプロトコルでポート9000を受信するのがデフォルトのようです。(起動パラメータで変更できるみたいですね)
まずは、localhostのポート9000にUDPで送信する方法を探してみましょう。
linuxならnc(netcat)っていうコマンドがあると思うので、これを使って、UDP/9000に送信できます。
$ echo "abcdefg" | nc -u localhost 9000
こんな感じ。これをwindowsで実行するには、nc.exeを使う必要がありますが、下記の通りgithubで公開されているのですが、ネットワーク通信を行うプログラムなのでセキュリティ的にブロックされてしまってダウンロードできなかったり、実行できなかったりするかもしれません。
ですので、わたしは、wsl上で実行しました。
送信出来てているかどうか確認するために、Wiresharkをインストールしましょう。
初めてインストールするならWinPcapも必要ですね。
はい、できました。wsl上からwindowsに送信するために、
$ echo "abcdefg" | nc -u 192.168.1.2 9000
としてIPアドレスを指定しました。そして、windows側では受信していないので、unreachableになっていますが、パケットが送信されていることが確認できました。
次回はwindows側が受信させてみましょう。
~今日はここまで~