6
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【OSC何も分からん人向け】OSCでVRChatを操作してみよう!

Last updated at Posted at 2024-01-04

はじめに

こんにちは。
ジョジョ好きなXRクリエイターの もふるね です。

VRChatでたまに耳にする「OSC」とは何なのか気になってきました。
こういう時は実際に触ってしまうのが理解が早いのです。
(思い立ったが元日、年明けてすぐに未知の領域を触り始める私)

OSCに関して全くの無知だった私が、OSCを触って理解できたことをここに書き連ねていきます。

結果

こいつ...動くぞ!

参考資料

ラザノアさんのポスト
VRChatでOSCを体験する手順
Honda HiromichiさんのQiita記事
OSCとは?OSC通信についてまとめてみた
がちもとさんのQiita記事
VRChatでOSCやーる(Python3.9、Windows10)
おのさんのZenn記事
VRChatがOSCに対応したので、まずはNode.jsでアバターをジャンプさせてみた

OSCとは

Open Sound Controlの略であり、電子楽器の信号の送受信に使う目的で作られたものだけど、あまりにも汎用性が高すぎるので音楽以外の目的で使われることも多い。
そして最も大事なこと...OSCは アプリ内外を繋ぐ信号の送受信ができる

これがどういうことかと言うと───
例えばVRChatの中でボタンを押すと、押したという情報をOSCを使ってVRChatの外に送信し、その情報を元に現実の自宅の照明を付けたり消したりできちゃうのだ!

他にもできる色んな面白い事をまとめた記事があるので見てみるといいよ。↓

つまり、OSCは可能性の塊なのである!

VRChatとOSC間の通信の仕組み

2024年1月現在、VRChatはOSCに対応しています。
実際にBoothで「OSC VRChat」と検索してみると多くのギミック・ツールが出てきます。

oscvrc01.jpg

「すっごーい! なにこれ なにこれー!」と思ってるサーバルちゃん諸君、簡単にVRChatとOSC間の通信の仕組みをお教えしよう。

  • 9000番ポートに情報を送ると、VRChatに情報を送ることができる。
  • 9001番ポートではVRChatから情報を受け取ることができる。
  • 情報はurlみたいな階層構造の文で通信する。例:/test/hoge

以上! ね?かんたんでしょ!

OSCをVRChatで体験しよう

言葉で理解するより、実際にやって理解する方がずっと分かり易いので、やってみましょう。
手法はラザノアさんのVRChatでOSCを体験する手順に従っています。

まず、OSCを操作するアプリのTouchOSCを以下のurlからダウンロードします。
https://hexler.net/touchosc

oscvrc02.jpg

次に、コマンドプロンプトでipconfigを打ち、自分のIPv4アドレスを調べます。

oscvrc03.jpg

TouchOSCを起動し、Edit > Connectionsを開き、OSCタブをクリックし、Connection 1にチェックをつけます。
そして、以下のように設定します。
Connection 1:UDP
Host :自分のIPv4アドレス (例:192.123.4.56)
Send Port :9000

oscvrc04.jpg

キャンパス内で右クリックしてXYを選択します。
すると赤い四角い枠ができます。

oscvrc05.jpg

右下にあるMessagesの+を押して、OSCを選択することを2回します。
するとOSCのタブが2つできます。

oscvrc06.jpg

OSCタブを以下のように設定します。
1つ目のOSCタブ
Connections:1
Trigger:x
Address:/input/Horizontal
Arguments:x
 Scale:-1,1
 Conversion:FLOAT
2つ目のOSCタブ
Connections:1
Trigger:y
Address:/input/Vertical
Arguments:y
 Scale:-1,1
 Conversion:FLOAT

oscvrc07.jpg

Valuesを以下のように設定します。
xとyのどちらも
Type:FLOAT
Default:0.5
Current:0.5
Default Pull:100

oscvrc08.jpg

VRChatを起動し、ExplessionメニューからOptions > OSC > Enabledをオンにします。
これでVRChatはOSCを送受信できるようになります。
(3の画像のOSC Debugを押すと、VRChatに送られたOSC情報が見えるようになるので、確認に使うと良いですよ)

oscvrc09.jpg

TouchOSCの再生ボタンを押して、赤い四角の枠を操作してみましょう。
それでVRChatのキャラが前後左右に動いたら成功です!

oscvrc10.jpg

もっと色々したい人へ

VRChatで操作できるOSCのAddressまとめ

Oscの信号を可視化するアプリ「Protokol」

OSCのポートが占領された時用の、別のポートからOSCRouterかませてルーティングさせるやつ

OSCアプリを自作した記事1
【知識0から】VRChatを別タブで操作できるアプリ自作してみた!【OSC / フォームアプリケーション】

OSCアプリを自作した記事2
OSCでVRChatのキャラを回転操作するアプリを自作してみた!【OSC / フォームアプリケーション】

OSCアプリを自作した記事3
CPU使用率をOSC通信でVRChatに送って、アバターの色を変化させてみた

OSCアプリを自作した記事4
GPU使用率の取得方法【C#】

6
4
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
6
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?