こんにちは、うにです!
VRヘッドセット「OculusQuest2(いまはMeta Quest2)」を購入して以来、ゲームをしたりお絵描きしたりといろいろな遊び方を模索してきましたが、
最近のマイブームはVRChat。
といっても人見知りなのでSNSとしての遊び方はほとんどしておらず、アバターを改変したりワールドを散策したり、部屋の間取りをシミュレーションしたり、VRプラットフォームとしてマイペースに一人で遊んでいます。
そんな感じで人に見せることもないので、フルトラ(フルボディトラッキング・FTB)に対してそこまでの興味も熱意もなかったのですが、
最近ダンスゲームができるワールドにはまり、フルトラってどんな感じなんだろう?という興味がちょっと出てきました。
ということで本記事では、Quest単機勢のうにが、思いつき&突貫工事で自作トラッカーを試作し、フルトラを体験するまでの流れをまとめてみます。
という方のご参考になりますと幸いです。
ここまで書いて思いましたが、どこに需要あるんだろう…?
そもそもQuest単機でフルトラ勢になれる?
前提条件:ハイスペックPCはない。
うにの家にある機器は以下です。
ノートPCしかなく、PC版VRに対応できるスペックではありません。
とはいえだいたいの用途で不便がなく気に入っているノートPCなので、VR用途のためだけにPCを新調する予定は今のところ無し。
PCVRでしか表現できないハイクオリティなワールドや、揺れものモリモリのアバターもそのうち体験してみたい!という気持ちはあるのですが、
そもそも「Questだけでこんなに色々遊べるの!?」という部分に魅力を感じている面もあり、しばらくはQuest単機の制約の中でできることを色々試したいな~と思っています。
選択肢①:市販のトラッカー
ざっと調べたところ、ソニーのmocopiというトラッカーがスマホ操作可能で、Quest単体でも使える市販トラッカーとしては第一候補に上がってくるようです。
でもこちら、お値段なんと49,500円!
ソニーストアで正規品を購入できますが、Amazonや楽天には中古しかない…
こんな思いつきで試すには良い品すぎて、持て余すにもほどがあるので、これは我慢です。
小さいしデザインもかわいいし、手軽に手に入るようになったら試したいなぁ…
選択肢➁:自作のトラッカー
市販品にちょっと手が出ないとなると、やっぱり自作を検討することになります。
自作トラッカーの作り方を調べたところ、なんと加速度センサモジュール4個(1200円程度)だけ買い足せばあとは家にあるもので出来てしまうことが判明しました。これは朗報!
トラッカーに書き込むファームウェアはオープンソースとして公開されており、ドキュメントも懇切丁寧。
ハードウェア側は特にハードルがなさそうです。
ただし懸念はソフトウェア側の設定方法。
PCVR(Steam版VRChat)での事例はいくらでも出てくるのですが、Quest単機で自作フルトラをやっている例がなかなかありません。
海外情報も含め、あることにはあるので『やればできる』ということだけは分かったのですが、
色々な情報が混在しており、結局のところどんな設定をしたらいいのかの全体像が事前調査で把握できませんでした。
仕方ないので、あとはとりあえず実際に作りながら考えることにしました。
加速度センサなら、うまくいかなくても何かで使えそうだし!
Quest単機で自作フルトラまでの道
結果として、所要時間は材料が揃ってから2日程度。覚悟していたよりもすごく簡単にできました。
ツール制作、ドキュメント整備など、先人の熱意と改良への努力をひしひしと感じます。
おおまかな方針
slimeVRという自作トラッカー用のオープンソースプロジェクトがありますので、これを使用します。
センサーの選び方から回路図、ファームウェアの作り方・書き込み方まですべて準備されている親切設計。
基本的にはこのドキュメントに沿っていけるところまでいってみようという感じです。
slimeVRを使用する場合、少なくとも胸、両腿、両足首の5点分のトラッカーが必要になります。
ですので今回の目標としては両手(Questのコントローラー)、頭(ヘッドセット)を加えて全部で8点のトラッキングということになりました。
手順
必要な部材をそろえる
新しく買ったのは2点。
◆加速度センサ5個セット
5つのうち4つを両腿・両足首用として使用しました。胸は後述の任天堂switchのJoy-Conで代用することとし、MPU-6050は使いません。
◆マジックテープ
トラッカーを体に固定する用に購入。ケーブル収納とかにも使えて便利です。
その他はもともと家にあったものを駆使して頑張ります。
◆ESP8266評価用ボード ×2
使い勝手がよく、以前買ったものを延々と使いまわして色んなものを作っています。
今は在庫切れなことが多いのでESP8266ではなく、ESP32の似たようなボードを買うのがいいと思います。
◆モバイルバッテリー
トラッカー1個1個に電源をつけるのはだるいので、今回は足4つのトラッカーの給電をこれ一個で賄うことにします。
◆任天堂switchのJOY-Con片方
胸用のトラッカーとして使用します。
その他
◆ケーブル類
◆ブレッドボード(ユニバーサル基板のほうがいいと思います)
◆はんだ、はんだごて
◆固定用ゴムバンド
など、適当に使えそうなものをかき集めて使用しました。
あくまで動作確認&試作用なので、保護と固定さえされていたらOKという感じで、ちゃんとしたケースなどは作りません。
トラッカー(ハードウェア)の実装
slimeVRのドキュメントを参照しつつ接続していきます。
調べればいくらでも情報が出てくるので好きな流派で作りましょう。
うにの場合は使えるesp8266が2個しかなく、esp8266ひとつに接続できるMPU6050は2つまでなので、
胸:任天堂switch Joy-Con(L)
左腿:esp8266①+MPU6050①ー左足首: MPU6050➁
右腿:esp8266➁+MPU6050➂ー右足首: MPU6050④
esp8266①とesp8266➁の電源、GNDラインを接続
esp8266①にモバイルバッテリーを接続
という構成にしました。
switchのコントローラーがちょうどいいところにあってよかったです。
トラッカーへのファームウェア書き込み
esp8266ふたつにslimeVRのファームウェアを書き込みます。
ドキュメントでは2種類方法がありますが、online firmware flasherの方は使いませんでした。
おおまかにいえば
という流れになります。
ソースコードの修正のところでは、I2Cでどのピンを使っているかを自分で指定する必要があります。
うにが使ったesp8266ボードでは4ピンがSDK、5ピンがSCLでしたのでそのように入力しました。
慣れていないとちょっと戸惑うポイントかもしれないので、ドキュメントで推奨されているwifiボードを選んでおくと記載手順通りに進められて安心だと思います。
ファームウェアの書き込みができたら、自作トラッカー側の準備はOKです。
一方で、Joy-conをslimeVRトラッカーとして使う準備もしておきましょう。これはノートPCでslimevr-wranglerというソフトをいれて、Bluetoothでペアリングさせるだけなので簡単。
slimeVR(ソフトウェア)のインストールとセットアップ
SlimeVR Installer をインストールします。これもドキュメント通りでOKです。
インストールができたら
という流れになります。
このあたりでstreamVRの話が混ざってきて大混乱するのですが、Quest単体で動かしたい場合はstreamVRが関わる手順は無視して大丈夫です。
「Setting up Reset Bindings」も特に実施しませんでした。
トラッカーを通電した状態でslimeVRを起動すると、slimeVRの画面上にトラッカーが表示されます。
「Tracker Assignment」から、Chest、Left thigh、Left Ancle、Right thigh、Right Ancleに各トラッカーをアサインしていきます。
アサインできたらこんな感じ。
トラッカーを振ってみて、画面上の対応するトラッカーの枠がハイライトされたらばっちりです。
トラッカーが全部登録できたら、ヘッドセットを含むすべてのトラッカーを身に着けて、Mounting CalibrationとBodyPropotionを実行します。
manualでもできますが、autoでやるのが簡単だと思います。
BodyPropotionは少し複雑な動きを要求されますが、Visual reference for movement calibration stepsを頭に叩き込んで臨みましょう。
そしてここからがQuest単機で動かす場合の最大のポイント。
Settings>OSC>VRChat から以下を設定します。
slimeVRを起動しているノートPCと、Quest本体が同じネットワークに接続されている必要がありますので注意です。
この設定にたどり着けず、steamVRをインストールしたりpythonでコードを書いたり、いろいろ回り道してしまいました。。。
これでノートPC側の準備がすべて整いました。
VRChat側のセッティング
slimeVRとすべてのトラッカーが起動している状態で、Quest版VRChatを起動します。
ラジアルメニューから、Settings>OSC>Enableをオンにします。
これでVRChat側の設定も完了です。
完成!
トラッカーの位置がアバターの胸、両腿、両足首に合うようにVRchat内でキャリブレーションを行います。
めでたく、足が動くようになりました!
すごいすごい!これはテンションが上がります。
とはいえ、実際にやってみると
という難点がよくわかり、フルトラ沼の深さを垣間見た気がしました。
クオリティを上げるには投資と鍛錬の両面が要求されそうです。
「睡眠姿勢をとりたい」程度のクオリティでよければ、これでも十分だと思います!
トラッカーのつけ外しが面倒くさすぎたので、面白い体験でしたが、うにはもうやらないかな…という感じです。
まとめ
本記事では、Quest単機勢のうにが自作トラッカーを試作し、VRChatでフルトラを体験するまでの流れについてご紹介しました。
「ハイスペックPCを持っていないがノートPCとQuestを持っているVRChatter」かつ「自作トラッカーを動かしてみたいと思っている人」が世の中にどれだけいるのか分かりませんが、
市販トラッカーと比較すると格安で試せますので、ご興味のある方は試してみられてはいかがでしょうか?
最後までお読みいただき、ありがとうございました♪