catalinaの備忘録

ソフトウェアやハードウェアの備忘録。後で逆引きできるように。

HoloLensの開発環境を試してみた

やっとうちのメインマシンがWindows10Proになったので試してみました。かたりぃなです。

とはいっても実機は無いのでエミュレータです。

 

実験環境

実験環境はこんな感じです。HyperVを有効化しておくことを忘れずに。

HyperVとは?

いわゆるMicrosoftの仮想化技術です。私自身使うのは初めてです。

今回使うHyperVはクライアントHyperVと呼ばれているもので、VMWareとかVirtualBoxと同系列になります。Windows上で他OSを動かすのに使います。

 

必要なツールをインストールする

公式サイトみながらやればいいんですが、英語読むの面倒な人はこのあたりを参考にすればいけると思います。

HoloLens Emulatorアプリ開発入門(1):HoloLensのAR世界を疑似体験できる、エミュレーターの基礎知識とインストール、基本的な使い方 (3/3) - @IT

 

おおまかな手順としては

  1. HyperV仮想化の有効化
  2. VisualStudioのインストール
  3. Hololensエミュレータのインストール

です。

VisualStudioのインストール時にUWP関係のものにチェックを付けるのをお忘れなく。

 

自作プログラムを準備

プログラムはXAMLのhelloworldでもいいのですが、私がやりたいことを試すためにDirectX11のテンプレートから始めることにします。

言語はC++cxでやってみます。とはいってもまだコードは書きません。サンプル動かしてみてエミュレータ上で動くアプリがどんなものかを見るだけ。

公式発表ではDirectX11 laterとのことですが、DirectX12はマニュアル見た限りすごく低レベルなAPIに思えたので、11でいってみます。

https://developer.microsoft.com/en-us/windows/holographic/install_the_tools

プロジェクト作成から実行までの手順はVisualStudioに慣れている人ならいつもの手順ですね

  1. 新規プロジェクトを選択
  2. DirectX11のテンプレートをダウンロード(立方体が回ってるやつ)
  3. ビルド
  4. 実行

まあ普通にWindows上でアプリが起動するかと思います。

HoloLens上で実行してみる

以前にMicrosoft SurfaceRT向けに何か作ろうかなと試したことがありました。手順はその時と同じです。ツールバーから実行環境を指定するだけです。

f:id:Catalina1344:20161106204757p:plain

なんか未来ちっくな名前の人がいますね。これです。

f:id:Catalina1344:20161106204807p:plain

 

これでHololensEmulator上へのアプリのデプロイとデバッグが開始されます。

 

エミュレータの設定は?

どうやらこれで自動的にHoloLensの仮想マシンがHyperV上に生成されるらしく、HyperVマネージャを起動して確認するとそれっぽい名前の仮想マシンが作られていることがわかります。

手元の環境ではデフォルト設定でも軽快にエミュレータは動作したので、しばらくはこれで色々やってみることにします。

 

トラブルシューティング

今回詰まったポイントは2つでした。

VisualStudioのHoloLensデバッグセッションが開始できない

HoloLensエミュレータは起動しているのにデバッグセッションが開始できないとVisualStudioに言われることがあります。

どうやらエミュレータ上にアプリをデプロイするにはアカウント設定を終える必要があるっぽいので、手持ちのMicrosoftアカウントを設定します。

英語キーボード設定になっているので記号入力で詰まってしまいますが、試しにタイプしながらやればすんなりいきました。

HoloLensエミュレータの操作に慣れる

慣れてきたので思い出しましたが、FPSゲームっぽい操作感覚です。

  • 左クリックとドラッグ=頭の向きを変える
  • 右クリック=視点カーソル?地点の選択
  • WSAD=移動

です。

スペースキーを押すと空間マップが表示されます。手元のカメラではこんなの作れない(kinnectがあればもうちょっと色々できるのかな?)ので、サンプルとして準備されている空間マップを切り替えてみると楽しめると思います。

 

まとめ

HoloLensエミュレータを動かしてみただけでもそれなりに楽しめました。

次回はもう一歩進んで何か面白いことができればなと思います。