
REALITY VRで全身を動かしてみた話 REALITY Advent Calendar #18
こんにちは。REALITY Advent Calendar 18日目担当、Unityチームの izm です。こういった経緯(?)で最近入社した新人です。よろしくお願いします。
人の金でメタバースが作りたいという素朴な気持ちはあります。技術的に興味があるので
— izm (@izm) July 27, 2021
うちで作りませんか???https://t.co/YC4BF85zBc
— DJRIO.eth @ REALITY (@djrio_vr) July 27, 2021
他のアドカレ記事はこちらで読めます。↓是非アクセスしてください。
今日のお題はこちらです。
REALITYでは現在iOSおよびAndroid向けのアプリを提供していますが、他プラットフォームでのUIやUXをリサーチすべく
のようにMeta Quest上で動作するVR版REALITY(旧Oculus Quest、以降本記事ではVR版およびMeta Questと呼びます)の動作検証を行なっていました。
開発合宿ではこのVR版REALITYをさらに拡張し、特別なハードウェアを追加することで足も動く全身のフルトラッキングに対応してみました。
この仕組みを使うことで、原理上REALITYの配信内で配信者は寝転がったり座り込んだり、ラジオ体操をすることができるようになります。
注意:この記事はデモとしてVR版REALITYに全身トラッキング機能を実装した話であり、将来VR版REALITYがリリースされることを約束するものではありません。
足を動かす仕組み
VR版REALITYはMeta Quest単体で動くようにビルドされた実行ファイルです。Meta Questは頭と左右のコントローラを備えているので配信者の上半身の動きをアバターがトレースすることができます。
このときアバターの腰の位置や足の動きは、手と頭の位置から逆算して、自然に屈んだり歩いたりする推定を行なっています。
この頭と手の位置だけを手がかりにしていると寝転がったり、その場でキックをしたり軽快なステップを踏むことは出来ないので、Meta Questに対して配信者の足や腰の位置を外部から教える必要があります。
例えばKinectなどを取り付けたPCからMeta Questに足の座標を送信する、なども方法として考えられますが、設備費用が大掛かりになってしまいます。
そこで今回はBluetooth接続できて足や腰の位置を取得できるHaritoraXというハードウェアをMeta Questと直接ペアリングして情報を取得することにしました。(↓機材と装着イメージ。PC無しで動くのがポイント!)
Meta Questの画面をスマホでキャプチャしたので画面が揺れます注意
HaritoraXって何
HaritoraX はPanasonic子会社のShiftall社から発売しているPC向けの下半身モーションキャプチャハードウェアです。
VRChatなどのPC向けVR-SNSに対応していて、ハードウェアと対になる専用のPCソフト上でユーザの足や腰の位置を推定することで、全身のトラッキングを実現します。
HaritoraXは本来は専用のPCソフトを使わないと足や腰の位置が取得できませんが、実はHaritoraXは僕が共同開発者なので、専用ソフトの処理内容を全て知っています。(僕izmはREALITY社でフルタイムのUnityエンジニアをしていますが、趣味でハードウェアスタートアップ代表もしています)
実装内容
HaritoraXのPC専用ソフトの中にある
1. Bluetooth接続、切断処理
2. センサー情報読み取り処理
3. 姿勢推定処理
を合宿中にVR版REALITYに組み込みました。
先行するVR版REALITYの仕組みに対して、追加のデバイス取得部を書いてIKの処理をゴリゴリと書き換えていく力技実装で進めていきました。
HaritoraXやソフト自体の処理内容などは以下のスライドに記載しているので割愛します。
Haritoraのような安価なIMUモーキャプの特性と考慮点について
まとめと今後の展望
合宿中では端末(Meta Quest)内の処理を書いたところでタイムアップとなってしまいました。なのでコラボ配信相手や視聴者の手元にネットワーク経由で全身の姿勢を送れているわけではないです。
しかし自分の動きを全身トレースしてくれるというのは、やはり面白い体験なので、実装する機会があれば今度はコラボ配信対応まで進めてみたいですね。
また、Meta QuestとHaritoraXを直接繋ぐことで全身のモーションキャプチャがPC無しでも動く、という事を確認できたので、ビジネス上この機材構成に興味のある方はお気軽に @izm までDMくださいませ。
また、REALITYはこういった変なデバイスや業務用モーションキャプチャ機器を使ったコンセプト検証を行ったり、テスト用のリアルタイムネットワークプロトコルを独自定義して遊べる環境があります。
REALITYではエンジニアに限らず一緒に働く仲間を募集しています。
meetyでカジュアル面談も受け付けているので、お気軽にお申し込みください!( 募集の職種は こちら にあります)
明日のアドベントカレンダーは!
takashi さんによる
サイネージモードと開発合宿の幹事をやった話です。楽しみですね。