LoginSignup
4
7

More than 1 year has passed since last update.

mocopi のセンサーデータを「VRChat(OSC)」の送信フォーマットで PC に送ってサクッとモニタリング(Protokol アプリを利用)

Last updated at Posted at 2023-01-24

以下の記事で、mocopi のセンサーデータを「VRChat(OSC)」という送信フォーマットで PC に送れそうだと知って、まずは取り急ぎモニタリングを試してみたという内容です。

●mocopiを使ってQuest単体版のVRChatでフルトラをする方法 - Qiita
 https://qiita.com/Kazu_Sack/items/cd382f91cde24c6d9752

mocopiアプリは iPhone にインストールしたものを使い、そこから送られるデータを Mac で受信する構成です。

余談: 過去に OSC を扱った話

OSC に関しては、以前 JavaScript(Node.js・ブラウザ上の両方)で扱うために、いろいろ調べたり試したりしたことがありました。

その際には、以下のような記事などを書いていました(他にもあるのですが、一部抜粋して掲載)。

過去に試した内容の通信部分についてざっくりと補足すると、UDP を直接扱えないブラウザ上の JavaScript の処理では「OSC over WebSocket」を使った処理を行って、Node.js のほうはシンプルな構成で通信を扱える「OSC over UDP」のほうを使ったり、という感じにしてお試しをしていました。

OSC のモニタリングができるアプリ: Protokol

今回、サクッとデータのモニタリングをするために、データを受信する Mac側はモニタリングが行えるアプリを使いました。

具体的には、以下の「Protokol というアプリの Mac版」です。
 ●Protokol | hexler.net
  https://hexler.net/protokol

Protokol の利用手順の概要は、アプリのダウンロード&インストール後に、OSC のタブを選び、「Enabled にチェックを入れる」・「ポート番号を mocopiアプリ側で使われる番号に変更」という感じです。
Protokol の利用

これであとは、mocopi のスマホアプリ側で「Mac の IPアドレスを指定(Mac も iPhone も同じアクセスポイントに接続している状況)」・「送信フォーマットを VRChat(OSC) に設定」という対応をします。

モニタリングを行った結果

上記の手順で、無事に Mac側でセンサーデータを取得できました。

上記は動画ですが、画像でキャプチャしたものを以下に掲載します。
モニタリングを行った結果

見た感じ、センサーごとに「position」・「rotation」のセットが送られてきていて、「position」と「rotation」のそれぞれで float型の 3つの値がとれている、という感じのようです。

おわりに

まずは Protokol を用いることで、サクッとモニタリングを行えました。

ここまでくれば、あとは過去に行ったお試しで使ったプログラムを使い、JavaScript でデータを取得したり、通信で特定のクライアント端末・ブラウザに送ったり、というのも簡単に行えそうです!
 

【追記】 Node.js でデータを取得

その後、「Node.js + osc.js の組み合わせで、センサーデータのログ出力」というのと、さらに「Node.js 経由でブラウザにデータを送信し、ブラウザ上の p5.js Web Editor上でログ出力する」というのにも成功!

そして、p5.js のキャンバス上の描画に反映させるテストにも成功しました。

【追記2】 数値などのデータの意味

数値データなどの意味するところは、この VRChat のページを見れば良さそう?

●OSC Trackers
 https://docs.vrchat.com/docs/osc-trackers

【追記3】 mocopi(UDP)で送られるデータ

OSC より UDP でデータをとったほうが、多くの点の情報をとれるようです。

●Sony Corporation - mocopi | 技術仕様
 https://www.sony.net/Products/mocopi-dev/jp/documents/Home/TechSpec.html

【追記4】 公式での「OSC Tab」に関する説明ページ

Protokol の公式ページで、OSC Tab に関するページがあったのでメモ。

●Interface · OSC Tab · Protokol | hexler.net
 https://hexler.net/protokol/manual/interface-osc-tab

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