OSCを使って、スマホでVRCのアバターの色を変える(VRChatでOSC受信)

こちらではMax/MSPという老舗の開発環境を使って、VRChatにOSC経由でデータを送信しました。

テキストプログラミングより格段に簡単とはいえ、慣れが必要です。
音のアタックや音声認識、カメラやムービーからの画像認識などが簡単にできてVRCへのブリッジとして大変使いやすいのですが、習得に少し時間がかかります。そんなのは待ってられないよ!という方もいらっしゃると思うので、スマホのOSCアプリで簡単にVRCにデータを送れるようにします。

全体の流れ

1.OSCの入力を受け付けて再生させるアニメーションを設定する(Unity)
2.TouchOSCのスマホ版とPC版をダウンロード&インストールする
3.TouchOSCスマホ版のサンプルをPCに全部送る
4.3.を参照してTouchOSCPC版上でスマホ版TouchOSCの画面レイアウトをする
5.TouchOSCPC版で、VRChatに送るデータの設定をする
6.iCloudでTouchOSCスマホ版に5.のファイルを送る
7.送ったデータをTouchOSCスマホ版で読み込む
8.VRChatのOSCを有効化する
9.TouchOSCスマホ版の▶︎ボタンを押して、UIを操作する
10.VRChatにデータが送られ、対応したアニメーションが再生される

アニメーションを作成して設定する

下記の「実装 : アニメーションの設定をする1」「アニメーションを作る」
「実装 : アニメーションの設定をする2」を参考に、スマホの入力によってアバターの状態を変化させるアニメーションを作成して設定する。
おそらく簡単にできるツールがすでにあると思うのですが、私がAvatar3.0分からんウーマンなので見つけられていません…もしあればそちらをご使用ください。

TouchOSCの準備をする

今回はスライダーを動かすとアバターのリボンの色が変わるという、前の記事でMax/MSPが担っていた入力部分がiPhoneアプリになった感じです。
ただスマホ版TouchOSCがとにかく使いにくいので、スライダーやボタンなどのレイアウトをPC版で行い、スマホ版にインポートするという形で使用します。

1.まずスマホ版TouchOSCをダウンロード&インストールする

2.PC版TouchOSCをダウンロード&インストールする。iCloudを使えると便利なので、Macの方がいいかもしれません

3.スマホ版を立ち上げるとこのような画面になる

画像1

4.下記のアイコンをタップしてインスペクタ的なものを出す

画像2

5.本のようなアイコンをタップし、下記のようなサンプルリストを出す

画像3

画像4

6.とにかくスマホでレイアウトを作るのが難しいので、PCでレイアウトを調整するためサンプルを片っ端から保存していく。まずいちばん上の「Simple Mk2」をタップする

画像5

7.下記のアイコンをタップする

画像6

8.下記をタップして、必ずサンプルとは異なる名前を英語でつける

画像7

9.下記のチェックアイコンをタップして保存する

画像8

10.iPhoneをUSBで接続し、Macの場合はFinderにiPhoneのマークが出ているのでクリックする(Windowsの方すみません、ご自分の環境のものをお使いください)

11.そうすると「ファイル」の項目が出てくるので、TouchOSCを探してクリックする。先ほど9.で保存した.toscファイルがあるので、適当なところにドラッグ&ドロップしてコピーする

12.PC版Touchを立ち上げる。ちなみにVRChat本家もTouchOSCのファイルをアップロードしているので、こちらを使用することもできます(直接ダウンロード注意)。
本家からダウンロードした.toscファイルはIPアドレスとポート番号のみ変更することで使用できますが、レイアウトがスマホ対応になっていない場合があります。
その場合はPC版TouchOSCでファイルを開き、「Document」の値をお使いのスマホサイズに合わせることをオススメします。

画像37

https://github.com/vrchat-community/osc/raw/main/files/touch-osc/vrc-emote.tosc

https://github.com/vrchat-community/osc/raw/main/files/touch-osc/vrc-input.tosc

13.「File」メニュー→「Open」で、9.で保存した.toscファイルを選択して開く

画像9

14.スマホ版で見たレイアウトが表示されているので、中央あたりを一度クリックする

画像10

15.画面右の「Document Tree」→「9.で保存したファイル名」→「pager1」と出てくるので、「pager1」をクリックする

画像11

16.「1」をクリックする

画像12

17.「fader5」をクリックする

画像13

18.画面の下のほうにいくと「Values」という項目があるので、「OSC」をクリックする

画像14

19.「parent.name」をクリックして、「delete」キーを押して消す

画像15

20.同じように「/」と「name」もクリックして、「delete」キーを押して消す

画像16

21.このようにする

画像17

22.「+」ボタンを押して「CONSTANT」を選択する

画像18

23.「constant」をクリックする

画像19

24.新しく出てきた「Constant」の横に下記のように入力する

画像20

25.24.の「/avatar/parameters/」の後に、こちらで設定した「Animatorウィンドウ」の「Parameter」で設定した名前を加えて下記のように入力する。自分でアニメーションを作成&設定した場合は「RibbonColorChange」のところを自分のつけた名前に変更する

画像21

26.「Contant」の横の入力をエンターキーを押して確定する。そうすると「Address」のところが下記のように変わる

画像22

27.他のスライダやボタンも必要であれば17.〜26.の方法で設定する。例えば左下のボタンを次のように改良することで、タップするとアバターがジャンプする

画像23

画像24

28.「Windows」メニューの横の検索欄に「cmd」と入力し、コマンドプロンプトを起動する

画像26

29.ipcofigと入力してエンターキーを押す

画像27

30.そうするとIPv4アドレスの横に数値が出てくるので、それをコピーするかメモする

31.TouchOSCに戻り、リンクボタンをクリックする

画像25

32.「OSC」タブをクリックする

画像29

33.「Host」の横に30.でメモした数値を入力する(localhostのアドレスでもいいのですが、Mac→Winという可能性も考慮してここではIPアドレスを入力しています)。後は下記のように設定する

画像28

34.「Done」ボタンを押す

35.「File」メニュー→「Save」で保存する

36.保存したファイルをiCloudに入れる(iPhoneアプリの場合、スマホ版TouchOSCでいちばん取り出しやすいのがiCloudでした。おそらくiPhoneをMacに繋いで、「ファイル」からTouchOSCにドラッグ&ドロップしてもOKだと思います)

VRChatでスマホからアバターをコントロールする

お疲れさまでした! ここからようやくスマホでアバターをコントロールできるようになります。

1.スマホ版TouchOSCをタップして立ち上げる

2.下記のアイコンをタップしてメニューを出す

画像31

3.下記のアイコンをクリックする

画像30

4.「Import」ボタンを押して、「TouchOSCの準備をする」33.でiCloudに保存した.toscファイルを選択する

5.先ほど読み込んだファイルがリストに追加されるので、タップして起動する

6.いちばん上のメニューを指でスライドさせる

画像32

7.リンクアイコンをタップする

画像38

8.「OSC」をタップし、「TouchOSCの準備をする」30.でメモしたIPアドレスを入力する。後は下記のように入力する

画像28

8..VRChatを下記の手順でベータ版にする

9.VRChatを立ち上げて、Rキーを押す

10.リングメニューが出てくるので、「Options」にマウスを持っていってクリックする

画像33

11.すると次のようなリングメニューが出るので、「OSC」にマウスを持っていってクリックする

画像34

12.次のようなリングメニューが出るので、「Enabled」にマウスを持っていってクリックする。これでOSCが使用可能な状態になる

画像35

13.念のためデバックとして、下記のように「OSC Debug」にマウスを持っていってクリックする

画像36

14.TouchOSCスマホ版のいちばん上のメニューを指でスライドさせる

画像32

15.▶︎を押してPlayモードにする

16.スマホ版TouchOSCで設定したスライダをドラッグすると、それに対応してアバターのアニメーションが再生される。ジャンプを設定した場合はボタンをタップするとアバターがジャンプする

いいなと思ったら応援しよう!