かずきのBlog@hatena

日本マイクロソフトに勤めています。XAML + C#の組み合わせをメインに、たまにASP.NETやJavaなどの.NET系以外のことも書いています。掲載内容は個人の見解であり、所属する企業を代表するものではありません。

HoloLens と PC 間でのシェアリング?もしくは超簡易 Spectator View の代用品

Vuforia いいですよね。で、調べたらこんな記事を見つけたんです。

blog.d-yama7.com

通常のシェアリングが World Anchor を共通の原点として動作するような仕組みでやってるのですが、Vuforia のマーカーを原点にしてしまおうというやつですね。なるほど!!

んでもって、Vuforia は別に HoloLens に閉じたテクノロジーというわけでもないので、Vuforia のマーカーを認識できるものならシェアリングできるのでは?ということでやってみました。

仕掛け

UWP (Unity製) と HoloLens (Unity製) アプリ間で同じマーカーを認識させる。 そこからのローカル座標などをもとにオブジェクトの設置等を行う。通信はシェアリングサーバー立てるのめんどかったので UDP で無差別にばらまいてる。

とりあえず、PC のアプリの画面をキャプチャした動画を上げておきます。 マーカーは動画手前に移りこんでる赤っぽい宇宙服着た人の絵です。Vuforia の組み込みのやつですね。

www.youtube.com

部屋が狭いので、あんまりシェアしてる感がないですが…。 作ったアプリは、HoloLens で AirTap したら HoloLens の前方にリンゴが出現。そしてリンゴをジロジロ嘗め回すように見てる様子を記録して、後で頭の位置を再生できる(白い頭のオブジェクトが動いてるやつ)っていうものです。

PC から HoloLens で見てる世界をのぞき見で来てますね!やったね!!

まぁでも、まだ不安定だったりしますが…。

ソースとりあえず整理してないですが…。

GitHub に上げておきます。 UWP を立ち上げてマーカー認識、HoloLensアプリを立ち上げて同じマーカーを認識。あとは、適当にAirTapしてリンゴを置いたらボタンを押せばいいです。

Unity 2017.2 で作ってます。

github.com