LoginSignup
26
21

More than 1 year has passed since last update.

VRChatでOSCやーる(Python3.9、Windows10)

Last updated at Posted at 2022-02-17

はじめに

VRChatがOSC対応とのことでやっていくー

開発環境

  • Windows10 PC
  • VRChat
  • TouchOSC
  • Python3.9
  • python-osc
  • protokol-0.4.4.86-win64.exe

導入

1.Steamを開き、VRChatのプロパティ
image.png

2.open-betaを選択し、VRChatを起動
image.png

3.rでメニュー開き、Optionsを選択
image.png

4.OSCを選択
image.png

5.EnabledしてOSC Debugを開く
image.png

Client(VRChatへ送信)

TouchOSCからVRChatへ送信確認

TouchOSCの設定をして、スライダー動かしたりするとVRChat OSC Debug画面で見えれば成功
※Host:VRChatを起動しているPCのIPアドレス

TouchOSC OSC Automat 5 VRChat OSC Debug
273878200_628325114941311_3495406973936908789_n.jpg 274052153_3118783925046333_3977606097354246765_n.jpg 273579997_3156270777953647_561428385626192085_n.jpg 273769566_684830496021343_3239196933125931696_n.png

python-oscからVRChatへ送信確認

1.python-oscのインストール

pip install python-osc

2.下記、プログラムを実行

client.py
import argparse
import random
import time

from pythonosc import udp_client


if __name__ == "__main__":
  parser = argparse.ArgumentParser()
  parser.add_argument("--ip", default="192.168.0.32",
      help="The ip of the OSC server")
  parser.add_argument("--port", type=int, default=9000,
      help="The port the OSC server is listening on")
  args = parser.parse_args()

  client = udp_client.SimpleUDPClient(args.ip, args.port)

  for x in range(10):
    client.send_message("/filter", random.random())
    time.sleep(1)

3.VRChatのOSC Debug画面で確認

Server(VRChatから受信)

VRChatからProtokolへ受信確認

1.Protokolをダウンロード(protokol-0.4.4.86-win64.exe)

2.OSCを選択し、ポートを9001にして、Enabledする

3.アバターを動かすと受信する
image.png

VRChatからpython-oscへ受信確認

1.python-oscのインストール

2.下記、プログラムを実行

server.py
import argparse
import math

from pythonosc import dispatcher
from pythonosc import osc_server

if __name__ == "__main__":
    parser = argparse.ArgumentParser()
    parser.add_argument("--ip",
                        default="127.0.0.1", help="The ip to listen on")
    parser.add_argument("--port",
                        type=int, default=9001, help="The port to listen on")
    args = parser.parse_args()

    dispatcher = dispatcher.Dispatcher()
    dispatcher.map("/*", print)

    server = osc_server.ThreadingOSCUDPServer(
        (args.ip, args.port), dispatcher)
    print("Serving on {}".format(server.server_address))
    server.serve_forever()

3.アバターを動かすと受信する

お疲れ様でした。

OSCでなにができる?

トラッカージャグリング

電動ドリルがON/OFF

CPUとメモリの使用率を表示するやつ

音声認識を利用してOSCを送信するアプリ

お部屋の照明を操作

音声認識で呼び出せるドローン

撮影用アバター

経路マッピング

心拍数を送るやつ

Expressions MenuからVRCワールドオブジェクトを制御

入力した文章を翻訳して表示

曲げセンサの曲がり具合を用いて耳変化

移動量を使って振動させるやつ

音声認識で剣を召喚

文章送って字幕みたいに表示するやつ

α7 IIIとVirtualLensを連動させるやつ

OSCで画像送信

M5Stack ATOM MatrixのIMUデータを送る

VIVE Pro Eyeで取得できるアイトラッキング情報を送信

翻訳コンニャク

鉄騎コンでアバターを操作

ミュート状態でも口パクさせるやつ

音声入力でアバターの操作

Neosからアバター操作

VRCLensの操作

サウンドに合わせてフォームチェンジ

音声認識で衣装変更

iPhoneからアバターの顔を動かす

VRChatからTouchDesignerのバナナを回す

アバターでVJ

OSC導入方法

OSCで触れる変数

26
21
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
26
21