Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
XR Interaction toolkit & XRHands & Passthrough API で MR 開発 土鍋 2023/06/01 Unity/VR開発 ◯◯はいいぞ選手権
Slide 2
Slide 2 text
自己紹介 名前: 土鍋 (渡辺雄大) 学年: 会津大学4年 所属: A-PxL元代表、Zli、Iwaken Lab、UT-virtual 興味: XR、Unity、ゲーム、CG、映像 趣味: ゲーム、アニメ、鉄道旅行、Vtuber Twitter: @donadonadonabe Blog: https://donabenabe.hatenablog.com 近況: 院試の勉強に追われてる。現地行きたかったなあ。 2
Slide 3
Slide 3 text
今までの作品 3
Slide 4
Slide 4 text
「自宅でも遭難がしたい!」全国の新聞に載ったよ! 福島、青森、秋田、山形、東京、長野、愛知、岐阜、沖縄 4
Slide 5
Slide 5 text
今回やること クロスプラットフォームな MRアプリ開発をするための 環境構築の手法の提案 5
Slide 6
Slide 6 text
目次 2. 自己紹介 6. 目次 7. 今回の構成の解説 12. XR Handsの機能拡張 18. パススルーを使えるようにする 26. まとめ 6
Slide 7
Slide 7 text
OpenXRとは OpenXRにAppleくんが参画してないのが不穏 7
Slide 8
Slide 8 text
UnityでOpenXRを使ったクロスプラットフォームMR構成 OpenXR XR Interaction Toolkit XR Hands Meta Quest2 Meta Quest Pro VIVE XR Elite Passthrough API Pico4 XR基本機能 ハンドトラッキング パススルー パススルー以外はこの構成で開発できる 8
Slide 9
Slide 9 text
UnityでOpenXRを使ったクロスプラットフォームMR構成 OpenXR XR Interaction Toolkit XR Hands Meta Quest2 Meta Quest Pro VIVE XR Elite WAVE SDK Passthrough API PICO Unity XR SDK Pico4 その他、HololensなどのMRデバイスなどもやろうと思えば対応できる 各デバイス向け開発用SDKを使わざるをえない→ 9
Slide 10
Slide 10 text
UnityでOpenXRを使ったクロスプラットフォームMR構成 OpenXR XR Interaction Toolkit XR Hands Meta Quest2 Meta Quest Pro VIVE XR Elite WAVE SDK Passthrough API PICO Unity XR SDK Pico4 Unityさんお願いします… 10
Slide 11
Slide 11 text
本題に戻ります 11
Slide 12
Slide 12 text
XR Hands 今年1月にプレ版公開、3月に正式リリースされたXR Interaction Toolkitの ハンドトラッキング用ライブラリ。 現時点で手のトラッキングとその描画はできる。 ただ現状のXR Handsには手のポーズを簡単に取得するものがない →自作しました 12
Slide 13
Slide 13 text
とりあえずサンプルを見る 結構いい感じ ただ、拡張性がない。 物を持てていますが、これは Meta(Quest)の独自のものなので クロスプラットフォームではない 13
Slide 14
Slide 14 text
指の関節データの取得 手のデータにアクセスする XRHandSubsystemを取得 左右どちらの手か 手のどの関節のデータを取るか 14
Slide 15
Slide 15 text
指の関節のID 15
Slide 16
Slide 16 text
指の開き具合の取得 やってることは単純 指の根元と先の距離から 指が開いてるか閉じてる か判断する。 16
Slide 17
Slide 17 text
手のポーズの推定 どの指が開いているかで 手のポーズを推定している 17
Slide 18
Slide 18 text
パススルーできるようにする PassthroughAPIはOculus Integrationを導入することで使える 18
Slide 19
Slide 19 text
余談 Oculus IntegrationはXR Interaction toolkitと立ち位置的には同じ なので干渉が起きてビルドがうまくいかなくなりがちっぽい 土鍋は1/3でビルドが通らなくて、1/10くらいでPCが落ちた 開発しててめっちゃ萎えるので、ここらへんうまい解決ないのかな… 19
Slide 20
Slide 20 text
もろもろ対応(細かい作業なので割愛) カメラにパススルーレイヤーの反映設定 導入時のエラーの解消 描画方式設定変更 AndroidManifestの修正 Questに対してパススルーを使うためのadbコマンド実行 20
Slide 21
Slide 21 text
21
Slide 22
Slide 22 text
LT用にコンテンツ作らなきゃな 22
Slide 23
Slide 23 text
23 !
Slide 24
Slide 24 text
フォースを使えるようにする 手をオブジェクトにかざすと、 空中に浮かぶようにしたい UniRxで非同期に手のポーズが変わ ると処理するようにした 手と距離を一定に保ちながら浮かぶ 24
Slide 25
Slide 25 text
完成したもの 1. 手を開いた状態でオブジェクトに 向ける 2. オブジェクト空中浮遊させる 3. 拳を握りしめると手につかむ ※パススルー映像の録画がうまくいか なかったので、HMDのレンズに直接ス マホをつけて撮影→ 25
Slide 26
Slide 26 text
まとめ 今回作ったものはパススルーである必要ないので、平面認識や3Dスキャ ンなどと組み合わせることでよりMRアプリらしくなる。 本来想定されていない組み合わせのため、少しでも設定ミスるとビルド に失敗する。 今後、対応が進めばクロスプラットフォームなMRアプリの開発がよりし やすくなると思われますが、現状はデバイスごとの開発のほうが現実的 26
Slide 27
Slide 27 text
ご清聴ありがとうございました 27