スタイラスを使ってLooking Glassを直接的にポインティングする

というものを研究として最近作っている. スタイラスとそこから伸びる仮想レイの位置関係が一致するので,現実空間とLooking Glass内の仮想空間がシームレスにつながるような操作感を得られる,というのが売り.Looking Glassのアプリケーションでよく利用されているLeap Motionを使ったハンドトラッキングによる操作だと,実際の手と仮想の手の位置関係が相対的で不明瞭という欠点がある.虚空で手をふよふよ動かすのは直感的でないと感じこのような操作方法を考えた.

スタイラスは鉛筆に黒のフェルトを巻き,帯状に再帰性反射材のマーカを貼って作ったもの.市販のプレゼン用フィンガーマウス(を改造したもの)を取り付けてクリックできるようにしている.

ラッキングLeap Motionのカメラ画像をOpenCVで解析して行っている. 大まかに言うとBlob検出輪郭検出を使ってマーカの画像内座標を割り出し,左右のカメラ画像から三角測量で3D座標を計算している. f:id:sienori:20190713013526p:plain

Looking GlassとLeap Motionの位置関係は3Dプリンタで出力したマウントを使って固定し,Unity上ではそれぞれのゲームオブジェクトを実際の配置と同じように設置する.実世界のスタイラスとLooking Glass内の仮想レイが一致するので直接的に操作できる.

現在ソースは非公開だが,将来的に公開する予定.