---
title: ARグラスで現実の北を合わせたい話
tags:  #xrmtg #xr  
author: [Miyaura](https://docswell.com/user/m-taka596)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/8JDK3RV8EG.jpg?width=480
description: XRミーティング 2025/5/21(https://osaka-driven-dev.connpass.com/event/353414/)登壇資料。 ARグラスで方位を合わせるための実装をどうすればいいかを調査した話
published: May 21, 25
canonical: https://docswell.com/s/m-taka596/K9NV6Y-XRMTG-ARGlasses-CalibrationNorth-20250521
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/8JDK3RV8EG.jpg)

ARグラスで現実の北を合わせたい話
2025/05
XR ミーティング
@takabrz1
Takahiro Miyaura


# Page. 2

![Page Image](https://bcdn.docswell.com/page/VEPK4WVW78.jpg)

宮浦 恭弘
(Miyaura Takahiro)
Microsoft MVP for Mixed Reality 2018
XR は趣味です
- 2025
大阪駆動開発( と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
※よかったらこれを機にお知り合いになってください


# Page. 3

![Page Image](https://bcdn.docswell.com/page/27VVX8Z97Q.jpg)

ふとやりたくなったので調査をしました。
2025/04/16
© 2025 Takahiro Miyaura
3


# Page. 4

![Page Image](https://bcdn.docswell.com/page/5JGLV5447L.jpg)

MiRZAで現実世界の北とアプリ内の向きを合わせる
色々やっていたもの結果的にはとてもかんたんなのかも？
2025/04/16
© 2025 Takahiro Miyaura
4


# Page. 5

![Page Image](https://bcdn.docswell.com/page/47QY6ZGREP.jpg)

やりたかったこと＝一応の成果物
1
Unity 内の空間と現実の北方向をそろえる
2
目次
５
3
キャリブレーションが厄介
4
やってみて気づいたこと
まとめ


# Page. 6

![Page Image](https://bcdn.docswell.com/page/KE4W435QJ1.jpg)

その前に最近のMiRZAの話
2025/04/16
© 2025 Takahiro Miyaura
6


# Page. 7

![Page Image](https://bcdn.docswell.com/page/L71Y41WLJG.jpg)

MiRZA SDK 0.8.0がでた
MiRZA の環境構築やMiRZA Library
、サンプルなどを設定できる。
https://www.devices.nttqonoq.com/developer/doc/mirza
- sdk/overview
主にできること
○ Snapdragon Spaces SDKの環境設定の補助（Dual Render Fusion関連）
○ MiRZA Libraryの導入
○ Dual Render Fusion用のMiRZAコントローラ
○ シミュレータ
○ 各種サンプル
初めてMiRZA で開発する人を支援する為の開発キット
※もちろんつかいこなしてる人も
2025/04/16
© 2025 Takahiro Miyaura
7


# Page. 8

![Page Image](https://bcdn.docswell.com/page/G7WGX86QE2.jpg)

やりたかったこと＝一応の成果物
1
Unity 内の空間と現実の北方向をそろえる
2
目次
５
3
キャリブレーションが厄介
4
やってみて気づいたこと
まとめ


# Page. 9

![Page Image](https://bcdn.docswell.com/page/4JZL68Y3E3.jpg)

いわゆる歩きゲーみたいなものを作る時に。。。
ARグラスだとどうやって現実空間の方角と合わせる？
2025/04/16
© 2025 Takahiro Miyaura
9


# Page. 10

![Page Image](https://bcdn.docswell.com/page/YE6W2PDZEV.jpg)

成果物
シンプルに現実空間の方角と一致する地図をARグラスで出して散歩
2025/04/16
© 2025 Takahiro Miyaura
10


# Page. 11

![Page Image](https://bcdn.docswell.com/page/GE5M2K39E4.jpg)

やりたかったこと＝一応の成果物
1
Unity 内の空間と現実の北方向をそろえる
2
目次
５
3
そろえるのがやっかい
4
やってみて気づいたこと
まとめ


# Page. 12

![Page Image](https://bcdn.docswell.com/page/97294WZ5JR.jpg)

Unity内の空間と現実の北方向をそろえる
課題整理
2025/04/16
© 2025 Takahiro Miyaura
12


# Page. 13

![Page Image](https://bcdn.docswell.com/page/DJY4MLR67M.jpg)

Unity内の空間と現実の北方向をそろえる
課題整理
方位に関する情報はスマホが持ってる
○ スマホには大抵磁気センサーが入ってる
○ あとGPS
○ ジャイロもある
N
スマホのアプリケーションだと・・・
○ センサー使ってUnity 内のカメラを制御
○ 磁気センサーの情報で北の方位ベクトルを求める
○ ( ﾟдﾟ) ｳﾏｰ
2025/04/16
© 2025 Takahiro Miyaura
13


# Page. 14

![Page Image](https://bcdn.docswell.com/page/V7NYW4X1E8.jpg)

やりたかったこと＝一応の成果物
1
Unity 内の空間と現実の北方向をそろえる
2
目次
５
3
そろえるのがやっかい
4
やってみて気づいたこと
まとめ


# Page. 15

![Page Image](https://bcdn.docswell.com/page/YJ9PXQ8Y73.jpg)

そろえるのがやっかい
課題整理
2025/04/16
© 2025 Takahiro Miyaura
15


# Page. 16

![Page Image](https://bcdn.docswell.com/page/GJ8D2G8KJD.jpg)

Unity内の空間と現実の北方向をそろえる
課題整理
厄介なことに
○ スマホに搭載されている各種センサーの座標軸はUnity とは異なる。
○ スマホ：右手系（Z 軸の手前が+）
○ Unity ：左手系（Z 軸の奥が＋）
Z
Z
スマホのセンサー（右手系）
2025/04/16
Unity （左手系）
© 2025 Takahiro Miyaura
16


# Page. 17

![Page Image](https://bcdn.docswell.com/page/LJLM2GRPER.jpg)

Unity内の空間と現実の北方向をそろえる
課題整理
さらに厄介なことに
○ スマホに搭載されている各種センサーの座標軸はUnity とは異なる。
○ スマホの座標軸は“スマホの画面の垂直方向がZ 軸”
○ つまり、方位センサーもZ 軸回転（ヨー角に）なってる
Y
Y
Z
Z
X
X
スマホ
2025/04/16
Unity
© 2025 Takahiro Miyaura
17


# Page. 18

![Page Image](https://bcdn.docswell.com/page/47MY8QR27W.jpg)

Unity内の空間と現実の北方向をそろえる
課題整理 – ARグラスでスマホみたいにしようとすると。。。
さらに厄介なことに
○ 磁気センサーの北を指す角度はスマホの座標軸を基準にしてる
⇒スマホを回転すれば磁気センサーから得られる北の方位角も変化する
○ スマホの向きとARグラスの向き（方位上の回転角）は同期しない
N
ARグラスで方位を合わせるとなると
スマホの座標軸とARグラスの座標軸を考慮して磁気
センサーの情報を使わないといけない。
2025/04/16
© 2025 Takahiro Miyaura
18


# Page. 19

![Page Image](https://bcdn.docswell.com/page/P7R958R5E9.jpg)

Unity内の空間と現実の北方向をそろえる
つまり。。。
○ スマホの座標系をUnity で扱いやすくする
○ 方位センサーの回転角はY軸回転で扱う
○ スマホの座標軸をUnity に合わせる
Y軸とZ 軸を入れ替える
○ スマホの姿勢情報とARグラスの姿勢情報を同期
スマホとARグラスの姿勢（Y軸回転＝ヨー角）が合えば方位センサーの情報は両方の
デバイスで一致する
2025/04/16
© 2025 Takahiro Miyaura
19


# Page. 20

![Page Image](https://bcdn.docswell.com/page/PJXQK8RX7X.jpg)

みんな大好きQeutanionを使えば解決
Quaternion . Euler ( 90f , 0f , 0f ) *
new Quaternion (
- gyroRawRotation
. x,
- gyroRawRotation
. y,
gyroRawRotation
. z,
gyroRawRotation
. w)
Quaternion
2025/04/16
. Euler ( 0f , - trueHeading
© 2025 Takahiro Miyaura
, 0f );
20


# Page. 21

![Page Image](https://bcdn.docswell.com/page/3JK95KR9JD.jpg)

やりたかったこと＝一応の成果物
1
Unity 内の空間と現実の北方向をそろえる
2
目次
５
3
ジャイロセンサーとか磁気センサーとか
4
やってみて気づいたこと
まとめ


# Page. 22

![Page Image](https://bcdn.docswell.com/page/LE3WKZ89E5.jpg)

やってみて気がついたこと
課題整理
2025/04/16
© 2025 Takahiro Miyaura
22


# Page. 23

![Page Image](https://bcdn.docswell.com/page/8EDK3RM87G.jpg)

スマホの向きとARグラスの座標系は一致していた
例えば、Z 軸方向のベクトルが一致する
いわゆる
2025/04/16
© 2025 Takahiro Miyaura
23


# Page. 24

![Page Image](https://bcdn.docswell.com/page/V7PK4WRWJ8.jpg)

1
2
目次
アップデート
Snapdragon Spaces SDK
MiRZA Library
アップデート
3
続・MiRZA センサーを使いやすくする
4
まとめ


# Page. 25

![Page Image](https://bcdn.docswell.com/page/2JVVX8R9JQ.jpg)

MiRZA Library 1.1.2
4/1 リリース：前見つけたバグ系が直っていた
https://www.devices.nttqonoq.com/developer/doc/mirza
[1.1.2]
- library/changelog
- 2025 - 04 - 01
○ MiRZA アプリv1.00.09
と合わせて以下を修正
○ MRモードを有効に切替時のアプリの起動を安定化
○ タッチセンサーのMovement 返却値を修正
○ 電池残量の変化通知を1%毎に通知するよう修正
○ サンプルコードの修正（サンプルコードの変更履歴を参照）
○ その他軽微な修正
2025/04/16
© 2025 Takahiro Miyaura
25


# Page. 26

![Page Image](https://bcdn.docswell.com/page/5EGLV5M4JL.jpg)

前のバグの話
Zenn 記事で書いていた、これです。
https://zenn.dev/miyaura/articles/snapdragonspaces
2025/04/16
© 2025 Takahiro Miyaura
- mirza - lib - 5357c8812da2c9
26


# Page. 27

![Page Image](https://bcdn.docswell.com/page/4JQY6ZRR7P.jpg)

1
2
目次
アップデート
Snapdragon Spaces SDK
MiRZA Library
アップデート
3
続・MiRZA センサーを使いやすくする
4
まとめ


# Page. 28

![Page Image](https://bcdn.docswell.com/page/K74W438QE1.jpg)

MiRZA について
2025/04/16
© 2025 Takahiro Miyaura
28


# Page. 29

![Page Image](https://bcdn.docswell.com/page/LJ1Y412LEG.jpg)

MiRZAとは
この眼鏡部分の事
2025/04/16
© 2025 Takahiro Miyaura
29


# Page. 30

![Page Image](https://bcdn.docswell.com/page/GJWGX8RQ72.jpg)

MiRZAとは
無線利用可能なSnapdragon Spaces
対応ARグラス
○ Snapdragon Spaces
対応機
○ 片目 1920 x 1080
○ 視野角 約45 °
○ RGBカメラ、モノクロセンサーカメラ X 2
○ Qualcomm Snapdragon AR2
○ 明るさ 約1,000 nits
○ 透明なレンズ
2025/04/16
© 2025 Takahiro Miyaura
30


# Page. 31

![Page Image](https://bcdn.docswell.com/page/4EZL68R373.jpg)

MiRZA Pluginについて
2025/04/16
© 2025 Takahiro Miyaura
31


# Page. 32

![Page Image](https://bcdn.docswell.com/page/Y76W2PRZ7V.jpg)

MiRZA Pluginについて
MiRZA Library(Java)をUnityで使えるようにしたC#プラグイン
MiRZA デバイスとして固有に持っている機能をアプリで使える
例えば、MiRZA はテンプル部分にタッチセンサーがある
自分のアプリに活用できる！
他にも
○ 母艦との接続状況( 無線式なので)
○ バッテリ残量
○ マイク
○ MRモード等…
2025/04/16
© 2025 Takahiro Miyaura
32


# Page. 33

![Page Image](https://bcdn.docswell.com/page/G75M2K8974.jpg)

MiRZA Pluginについて
できること
MiRZA デバイスの各種情報にアクセスできる。
情報取得
○ バージョン整合性を確認する
○ 電池残量を取得する
○ 電池残量を取得する（非同期）
○ 充電状態を取得する
○ 充電状態を取得する（非同期）
○ グラスデバイス状態を取得する
○ グラスデバイス状態を取得する（非同期）
○ MRモード状態を取得する
○ MRモード状態を取得する（非同期）
○ ライブラリバージョンを返す
2025/04/16
Changed イベント
○ 電池残量を取得する
○ 画面表示状態を取得する
○ グラスデバイス状態を取得する
○ グラスのタッチパネル操作情報を取得する
○ グラス電源OFF を取得する
○ サービス状態を取得する
○ MRモード状態を取得する
© 2025 Takahiro Miyaura
この他に、
音声の収音パターン変更、Spaces Service
設定変更系もある
の起動/ 停止等
33


# Page. 34

![Page Image](https://bcdn.docswell.com/page/9J294WK5ER.jpg)

詳細は先月、先々月のXRミーティングをどぞ
MiRZA のタッチセンサーを使いやすくしてみる試み
https://www.docswell.com/s/m
- taka596/KV1EE4
- XRMTG- QONOQ- MiRZALibrary
- 20250319
MiRZA Library 使ったアプリを楽につくれない？
○ 概要
○ タッチセンサーを使いやすくするための検証
2025/04/16
© 2025 Takahiro Miyaura
34


# Page. 35

![Page Image](https://bcdn.docswell.com/page/DEY4MLN6JM.jpg)

サンプルで作ってみたアプリ
タッチセンサーで色選択を表示、ダブルタップで確定
2025/04/16
© 2025 Takahiro Miyaura
35


# Page. 36

![Page Image](https://bcdn.docswell.com/page/VJNYW4V178.jpg)

ほぼ完成していて後はReadme.md書かないと。。。
UnityEvent
2025/04/16
とInput Action
で実装できる部品を作った
© 2025 Takahiro Miyaura
36


# Page. 37

![Page Image](https://bcdn.docswell.com/page/YE9PXQ6YJ3.jpg)

作った部品
MiRZA Touch Sensor Manager
Inspector
からUnity イベントで設定できるコンポーネント
電源関連
○ OnBatteryLevelChanged
– 1%毎の増減の変化時：バッテリー残量(%)
○ OnChargeStatusChanged
– 充電中の状態（USB が刺さってる）の変化時
○ OnPowerOffChanged
– 電源を長押しでMiRZA を終了時
デバイス/ サービス関連
○ OnSpacesModeStatusChanged
– Snapdragon Spaces Service
状態変化時
○ OnDisplayStatusChanged
– ディスプレイの表示/ 非表示の変化時
○ OnServiceStateChanged
- MiRZA Library のモニタリング状態の変化時
○ OnGlassStatusChanged
- Bluetooth,Wifi,Spaces
の状態の変化時
タッチセンサー情報関連
○ OnGlassTouchGestureStatusChanged
2025/04/16
– タッチ位置、移動量等の変化時
© 2025 Takahiro Miyaura
37


# Page. 38

![Page Image](https://bcdn.docswell.com/page/GE8D2GZKED.jpg)

作った部品
MiRZA Touch Sensor Manager
Unity イベントで設定できるChanged 系のイベント
タップ系
○ OnSingleTap
– 1回タップ操作時
○ OnDoubleTap – 2回タップ操作時
○ OnTripleTap
- 3回タップ操作時
○ OnTouchSensorDown
– 最初のタッチセンサーの接触時
○ OnTouchSensorUp
– 最後のタッチセンサーから離れた時
○ OnLongPressInitial
– センサーの長押し（最初）操作時
○ OnLongPressRepeat
- センサーの長押し操作時
ジェスチャー系
○ OnSwipeNext
– タッチセンサーのスワイプ操作（前→後）時
○ OnSwipePrevious
– タッチセンサーのスワイプ操作（後→前）時
○ OnMove – タッチセンサーを前後に動かしている時
2025/04/16
© 2025 Takahiro Miyaura
38


# Page. 39

![Page Image](https://bcdn.docswell.com/page/LELM2GDP7R.jpg)

作った部品
MiRZA Sensor Device
タッチセンサーと一部のデバイス状態をInput Action
で処理できる
今回作ったようなコンテンツを
他のデバイス（モーションコントローラ）でも使える
2025/04/16
© 2025 Takahiro Miyaura
39


# Page. 40

![Page Image](https://bcdn.docswell.com/page/4JMY8QP2JW.jpg)

動作確認
2025/04/16
© 2025 Takahiro Miyaura
40


# Page. 41

![Page Image](https://bcdn.docswell.com/page/PJR9581579.jpg)

まとめ
2025/04/16
© 2025 Takahiro Miyaura
41


# Page. 42

![Page Image](https://bcdn.docswell.com/page/PEXQK8YXJX.jpg)

まとめ
MiRZA 関連の情報
○SDK のアップデート
○Snapdragon Spaces SDK v1.0.2
○MiRZA Library v1.1.2
リリース
リリース
○MiRZA Library が使いやすい部品を作る
○Unity イベントで定義
○Input System の仕組みにのせる
2025/04/16
© 2025 Takahiro Miyaura
42


# Page. 43

![Page Image](https://bcdn.docswell.com/page/3EK95K39ED.jpg)

最後に
とりあえず今のソースコードはGithubで公開してます。
もう少し使い勝手をよくしたい
https://github.com/TakahiroMiyaura/MiRZATouchSensor
2025/04/16
© 2025 Takahiro Miyaura
43


# Page. 44

![Page Image](https://bcdn.docswell.com/page/L73WKZG975.jpg)

大阪駆動開発
関西を中心に、IT系のおもしろそうなことを
楽しんでやるコミュニティ


