UnityでHoloLensのWorld Lockアプリを作る方法

前々回も紹介しましたが、HoloLensアプリには、

・Body Lock(常に目の前に表示される)

・World Lock(HoloLensが持つ三次元空間の中の絶対位置に配置される)

・排他的表現(いわゆるフルスクリーン)

の3種類があります。


公式ページでUnityによるアプリ開発方法を見ると、出来上がるアプリは「排他的表現」になります。

しかし、実際はUnityでもWorld Lockのアプリを作ることができたので、今回はその方法を解説します。


=========

目次

1. 準備

2. ビルド

3. 動作確認

4. 終わりに

=========

1. 準備

検証した環境

Unity 5.5.0 f3

Windows 10 Pro

Visual Studio Update 3


まずはUnity側で何か準備します。

私の場合は、1年ぶりにuGUI minimapのアセットのサンプルシーンを使ってみました。

uGUI minimapの概要や詳細については、下記をご確認ください。

magicbullet.hatenablog.jp


uGUI minimapをインポートしたら、サンプルシーンを開きます。

なお、この方法ではHoloToolKitは使いません。

f:id:Takyu:20170124210630p:plain

2. ビルド

UnityのBuild Settingsを開き、現在開いているシーンをビルド対象にして、下記のように設定します。

f:id:Takyu:20170124210448p:plain


Player Settingsは下記のようにします。

f:id:Takyu:20170124210532p:plain


Virtual Reality Supportedにチェックを入れない、が重要です。


ここまでできたら、Buildボタンを押して適当なフォルダを指定し、UWPのプロジェクトファイルを出力します。
(ここは通常のHoloLensアプリの作り方と同じです)

この後は、Visual Studioでプロジェクトを開き、(拡張子slnをダブルクリックしても開きます)

Target Deviceをx86に指定し、

f:id:Takyu:20170122075723p:plain

Deploy Solutionを選択します。

f:id:Takyu:20170122075849p:plain


これでHoloLensにアプリがインストールされます。

3. 動作確認

HoloLensの実機でアプリを起動します。

通常の作り方だと、視界全体にMade with Unityのロゴが出ますが、今回はWindowの中に表示されています。

f:id:Takyu:20170123043631j:plain


動かすとこのようになります。

UnityのFPS ControllerのカメラワークをHoloLensのヘッドトラッキングで操作しています。

前進移動は、キーボードの上キーです。

前回紹介した、Wekey Pocket キーボードを使っています。

magicbullet.hatenablog.jp


また、HoloLensの注視カーソルも生きていて、uGUIかOnGUIのボタン上でAirTapすると、タップ相当の操作もできます。

動画の中でも見づらいですが、小さな白い点が常に表示されており、これが注視カーソルです。

このように、他のアプリケーションを表示させることもできます。

f:id:Takyu:20170123043556j:plain


ただし、World Lock表示したUnityアプリを操作できるのは、UnityアプリのWindowがフォアグラウンドであるときだけです。


4. 終わりに

UnityでWorld Lockアプリができると、ユーティリティアプリとか、ゲーム以外にもUnityの特性を活かしたアプリができそうですね。

こんな感じで、また色々調べてみたいと思っています。

広告を非表示にする