495 Views
January 15, 25
スライド概要
XRミーティング 2025/01/15【AR/CR/MR/SR/VR】(https://osaka-driven-dev.connpass.com/event/340556/)登壇資料。
MiRZAはSnapdragon Spaces SDKで標準的に提供されている機能に加えてハードウェアとして固有の機能を持っています。これらを自身のコンテンツ開発に利用できますMiRZA Pluginが提供されているのでその調査内容を共有しました。
登壇時は主にタッチセンサー周りの機能を紹介していますが、Plugin全体に関する事は別途記事として提供しています。
MiRZAデバイス固有機能を利用できるMiRZA Plugin解説
https://zenn.dev/miyaura/articles/snapdragonspaces-mirza-lib-5357c8812da2c9
MiRZAデバイスのマイクを利用する
https://zenn.dev/miyaura/articles/snapdragonspaces-mirza-mic-d99ebe21752a35
ICT業界でソフトウェアエンジニア/アプリケーションアーキテクトを担当。 社内ではXR関連技術に関する啓もう活動や技術支援に従事。 業務の傍ら、XR(特にMixed Reality領域)についての開発技術の調査、開発などを行っています。 また、「大阪駆動開発」コミュニティ所属しており、日々の調査で得た知見はコミュニティを通して情報発信を行っています。
MiRZA Plugin使ってみた 2025/01 XRミーティング @takabrz1 Takahiro Miyaura
宮浦 恭弘 (Miyaura Takahiro) Microsoft MVP for Mixed Reality 2018-2025 XRは趣味です 大阪駆動開発(とHolomagicians)コミュニティに生息 HoloLens日本販売してからxR系技術に取組む 新しい技術や、MRに使えそうな技術を調べる 技術Tips : https://qiita.com/miyaura https://zenn.dev/miyaura 最近興味があって取り組んでいるもの ○ Microsoft Mesh ○ Snapdragon Spaces ○ Mixed Reality Toolkit v3.0.0 ○ Vision Proもそろそろ・・・ @takabrz1 ※よかったらこれを機にお知り合いになってください
MiRZA について 2025/01/15 © 2025 Takahiro Miyaura 3
MiRZAとは この眼鏡部分の事 2024/11/20 © 2024 Takahiro Miyaura
MiRZAとは 無線利用可能なSnapdragon Spaces対応ARグラス ○ Snapdragon Spaces対応機 ○ 片目 1920 x 1080 ○ 視野角 約45° ○ RGBカメラ、モノクロセンサーカメラ X 2 ○ Qualcomm Snapdragon AR2 ○ 明るさ 約1,000 nits ○ 透明なレンズ 2024/11/20 © 2024 Takahiro Miyaura
1 MiRZA Pluginについて 目次 5 2 MiRZA Pluginでできること 3 タッチセンサーを使う 4 実はね。。。 まとめ
MiRZA Pluginについて 2025/01/15 © 2025 Takahiro Miyaura 7
MiRZA Pluginについて MiRZA Library(Java)をUnityで使えるようにしたC#プラグイン MiRZAデバイスとして固有に持っている機能をアプリで使える 例えば、MiRZAはテンプル部分にタッチセンサーがある 自分のアプリに活用できる! 他にも ○ 母艦との接続状況(無線式なので) ○ バッテリ残量 ○ マイク ○ MRモード等… 2025/01/15 © 2025 Takahiro Miyaura 8
MiRZA Pluginについて MiRZA Library(Java)をUnityで使えるようにしたC#プラグイン ダウンロードは公式サイトから https://w//.devices.nttqonoq.com/developer/library サンプルコードと書かれていますが… Unityで使うためにはプロキシクラスを作らない といけない。 実質サンプルの中にあるMiRZAPluginクラス を使うことになると思います。 2025/01/15 © 2025 Takahiro Miyaura 9
MiRZA Pluginでの実装例 public class Samlpe : MonoBehaviour { private MirzaPlugin mirzaPlugin; public void MiRZASamples() { #if UNITY_ANDROID &/ !UNITY_EDITOR mirzaPlugin = new MirzaPlugin(); インスタンス化 #endif //イベント定義(以下はバッテリ残量の監視用にイベントを登録) if (mirzaPlugin !/ null) イベント登録 mirzaPlugin.OnBatteryLevelChanged += OnBatteryLevelChangedInternalAction; // モニタリング開始 mirzaPlugin?/startMonitoring(this); // 各種取得処理 .... MiRZAデバイスの固有情報や機能を利用 // モニタリング停止 mirzaPlugin?/stopMonitoring(this);}} 2025/01/15 ライブラリ連携開始 © 2025 Takahiro Miyaura ライブラリ連携終了 10
MiRZA Pluginでできること 2025/01/15 © 2025 Takahiro Miyaura 11
MiRZA Pluginについて できること MiRZAデバイスの各種情報にアクセスできる。 情報取得 情報取得(Changedイベント) ○ バージョン整合性を確認する ○ 電池残量を取得する ○ 電池残量を取得する(非同期) ○ 充電状態を取得する ○ 充電状態を取得する(非同期) ○ グラスデバイス状態を取得する ○ グラスデバイス状態を取得する(非同期) ○ MRモード状態を取得する ○ MRモード状態を取得する(非同期) ○ ライブラリバージョンを返す ○ 電池残量を取得する ○ 画面表示状態を取得する ○ グラスデバイス状態を取得する ○ グラスのタッチパネル操作情報を取得する ○ グラス電源OFFを取得する ○ サービス状態を取得する ○ MRモード状態を取得する 2025/01/15 © 2025 Takahiro Miyaura 12
MiRZA Pluginについて できること MiRZAデバイスの各種情報にアクセスできる。 情報設定 ○ マイクの指向性に関する設定 MiRZAデバイスのマイクの指向性を変更 装着者の声だけ、周囲の音だけといったMiRZA搭 載マイクの制御を変更できる。 ※Unity経由だと性能はよくないかも。。。? 引用元:https://w//.devices.nttqonoq.com/developer/doc/mirzalibrary/overview#%E3%83%9E%E3%82%A4%E3%82%AF%E3%83%A2%E3%83%BC%E3%83%89%E3%81%A8%E3%81%AF 2025/01/15 © 2025 Takahiro Miyaura 13
MiRZA Pluginについて できること MiRZAデバイスの各種情報にアクセスできる。 初期化/機能呼出 ○ MiRZAアプリとの連携を開始する ○ MiRZAアプリとの連携を解除する ○ MRモードを無効化する ○ MRモードを無効化する(非同期) ○ MRモードを有効化する ○ MRモードを有効化する(非同期) ○ MiRZAアプリへ遷移する ○ ログ出力を変更する Point ○必ず連携を開始する ○ 開始しないと情報が取得できない&機能が使えない ○MRモードを使うと… ○MiRZAアプリの起動をスキップできる…かも ○作ったアプリからMiRZAアプリ(ランチャー画面) に戻ることができる 2025/01/15 © 2025 Takahiro Miyaura 14
MiRZA Plugin タッチセンサーを使う 2025/01/15 © 2025 Takahiro Miyaura 15
MiRZA Plugin タッチセンサーを使う とりあえず、スライダー的な使い方でオブジェクトをクルクル 2025/01/15 © 2025 Takahiro Miyaura 16
MiRZA Plugin タッチセンサーを使う Move(ドラッグ操作) Tap (MAX 3回) グッ トンッ トンッ スイーッ トンッ Swipe(Previous) グッ LongPress(いわゆる長押し) グッ パッ スイッ Swipe(Next) ○ これくらいジェスチャーがあります。 2025/01/15 © 2025 Takahiro Miyaura グッ パッ スイッ 17
MiRZA Plugin タッチセンサーを使う MiRZA Pluginから取得できるタッチセンサーの情報 GlassTouchGestureStatusクラス プロパティ 説明 値 後→前 : プラス値 ○ 前→後 : マイナス値 ※数値の増減は加速度 ○ Movement (単位時間当たりの) 移動量を返す TouchOperation タッチ操作の方法を返す (後述) TouchType タッチ操作の種類を返す TAP ○ SWPIE ○ MOVE XCoordinate X座標を返す 0 - 255 YCoordinate Y座標を返す 0固定 ○ 2025/01/15 © 2025 Takahiro Miyaura 18
MiRZA Plugin タッチセンサーを使う MiRZA Pluginから取得できるタッチセンサーの情報 TouchOperationp列挙体 プロパティ 説明 Down タッチセンサーに触れた瞬間 Up タッチセンサーから指を離した時(例外あり) Single 素早くタッチセンサーに触れる→離す(軽くたたくイメージ) Double 素早く2回連続で素早くタッチセンサーに触れる→離す(軽くたたくイメージ) Triple 素早く3回連続で素早くタッチセンサーに触れる→離す(軽くたたくイメージ) LongPressInitial タッチセンサーを押す→離した時。タップよりも長めに触れるイメージ LongPressRepeat タッチセンサーを押した状態をキープする(LongPressInitialから移行) Move タッチセンサーに触れた状態で指を前後に動かしている間 Previous 素早くタッチセンサーに触れる→擦りながら前方向に動かす→離す Next 素早くタッチセンサーに触れる→擦りながら後方向に動かす→離す 2025/01/15 © 2025 Takahiro Miyaura 19
MiRZA Plugin タッチセンサーを使う ジェスチャーのフロー Tap Motion Down 素早く離す UP 押したまま少しでも前後に 押したまま Move LongPressInitial Single 押したまま Down UP Double UP LongPressRepeat Down UP Triple 2025/01/15 最後の動きが 最後の動きが 前→後 後→前 Next Previous Swipe 最大3回連続 © 2025 Takahiro Miyaura 20
実はね… @takabrz1 Takahiro Miyaura
実はね… うまく動かないものがある。 バグ? ○OnBatteryLevelChangedイベント ○バッテリーの残量が変化すると発生するはず ○現状イベントは発生しない ○GetBatteryLevelメソッドで値は取得可 ○ジェスチャー情報の一部がおかしい ○Movementの値は前→後の時65535になる 2025/01/15 © 2025 Takahiro Miyaura 22
実はね… MiRZAのマイクを使うには… 別のサンプルの中にあるマイク用のMiRZA Libraryも必要 QONOQサンプルにMiRZAデバイスのマイクを使えるライブラリがある ○グラスのマイクの録音 (実験的) ○ https://w//.devices.nttqonoq.com/developer/doc/samplesqonoq/glass-microphone-recording/ ○設定についてはMiRZA Pluginで行う。 ○録音データは PCM形式(44100Hz,16Bit,mono) これを知らないとマイクモードを使ったアプリを作ることができない (最初にハマった) 2025/01/15 © 2025 Takahiro Miyaura 23
まとめ 2025/01/15 © 2025 Takahiro Miyaura 24
まとめ MiRZAライブラリを使うとデバイス固有の機能で遊べる! ○タッチセンサーのジェスチャーは便利 ○種類も豊富なので色々使いこなすといい体験を作れそう ○マイクモードも興味深い ○自身が使う音声コマンドの精度をあげたり、正面方向の周辺 音だけで処理をするといった使い方も可能 ○MRモード使えばMiRZAアプリ経由は避けられる? ○MiRZAアプリを一度は起動しておいた方が圧倒的に安定する ので引続き要確認 2025/01/15 © 2025 Takahiro Miyaura 25
最後に MiRZA Plugin全体の話は記事にしています。 MiRZAデバイス固有機能を利用できるMiRZA Plugin解説 https://zenn.dev/miyaura/articles/snapdragonspaces-mirza-lib-5357c8812da2c9 2025/01/15 © 2025 Takahiro Miyaura 26
最後に マイクの話も記事にしています。 MiRZAデバイスのマイクを利用する https://zenn.dev/miyaura/articles/snapdragonspaces-mirza-mic-d99ebe21752a35 2025/01/15 © 2025 Takahiro Miyaura 27
大阪駆動開発 関西を中心に、IT系のおもしろそうなことを 楽しんでやるコミュニティ