HoloLensの開発を始める
hololensHoloLensでのアプリケーション
https://developer.microsoft.com/en-us/windows/holographic/app_model
ある点を見るGazeと指で選択するGesture、声で入力するVoiceで操作する。
HoloLens shell では壁などにタイルを配置することでアプリケーションが起動する。
一度に動くアプリケーションは一つ。 他にアクティブなアプリケーションがあれば中断され、タイルは最後の状態のスクリーンショットになる。 タイルを削除するとプロセスが終了する。
Viewには空間全体を使うHolographic Viewと、通常のウィンドウのような2D Viewがある。
開発を始める
Unityを使ってHolographic Viewのアプリケーションを開発する。
必要なツールをインストールする。エミュレーターは空きメモリが2GB以上ないと立ち上がらない。
https://developer.microsoft.com/en-us/windows/holographic/install_the_tools
チュートリアル
https://developer.microsoft.com/en-us/windows/holographic/holograms_100
QualityのところでWindows Storeのマークがなかったら、 UnityのFile->Build SettingsからWindows Storeモジュールをダウンロードする。
https://developer.microsoft.com/en-us/windows/holographic/holograms_101e
エミュレーターはWASDキーで移動してカーソルキーで向きを変え、エンターキーで選択できる。
エミュレーターで動かしてみる
UnityProjectを作成してHolograms 100のように設定していく。
まずはCamera。
- Position: (0,0,0)
- Clear Flags: Solid Color
- Background: (0,0,0,0)
- Clipping Planes Near: 0.85
とりあえず動くことを確認するため適当なオブジェクトを置いてビルドしてみる。
Edit->Project Settings->QualityでWindows StoreをFastestにする。
Build Settings->Windows Storeで
- SDK: Universal: 10
- Target device: HoloLens
- UWP Build Type: D3D
- Unity C# Projectにチェック
にする。
BuildSettingsにあるPlayer Settingsボタンを押して Other SettingsのVirtual Reality Supportedにチェックを入れ、 SDKsにWindows Holographicが出るのを確認する。
あとはBuild SettingsでAdd Open ScenesしてBuild。適当なディレクトリを作って選ぶとUWPのVSプロジェクトができるので 上のところでRelease,x86,HoloLens Emulatrorにしてデバッグメニューからデバッグなしで開始する。 エミュレーターが立ち上がって置いたオブジェクトが見えたらうまくいっている。
UWP(ユニバーサル Windows プラットフォーム)とは
Windows 8でWindowsランタイム(WinRT)として導入された、 PCだけではなく、タブレット、Xbox、HoloLensなど、様々なWindowsデバイス共通のアプリプラットフォーム。
PCではデスクトップデバイスファミリ、タブレットではモバイルデバイスファミリといったような、デバイスファミリに基づいたOSが実行される。 UWPアプリでは、共通のWinRT APIだけではなく各デバイスファミリ固有のAPIも呼び出すこともでき、 アプリのターゲットとするデバイスファミリを選択することができる。
HoloToolKitを使う
実装やビルドを楽にするやつ。上のような初期設定はやらなくていい。
準備
https://github.com/Microsoft/HoloToolkit-Unity/blob/master/GettingStarted.md
ここからunitypackageをダウンロードして UnityのAssetsメニューからインポートする。
HoloToolKitメニューができるのでConfigureする。
Main CameraとDirectional Lightを消して
HoloToolkit/Input/Prefabs/HoloLensCamera.prefabと、
HoloToolkit/Input/Prefabs/Cursor/DefaultCursor.prefabを置く。
Create Emptyして"Managers"にリネームし、この中に
HoloToolkit/Input/Prefabs/InputManager.prefabを入れる。
Managersの中にUI -> EventSystemを作成する。
SparitalMappingする場合は、
HoloToolkit/SpartialMapping/Prefabs/SpartialMapping.prefabをMangersに入れて
Editor -> Project Settings -> PlayerのPublishing Settingsから
SpartialPerceptionにチェックを入れる。
HoloToolkitメニューからBuild Window -> Build Visual Studio SLNで ビルドし、Open SLNでVisual Studioが立ち上がる。 ビルドの際にクラッシュしたらWindows Storeモジュールが入っているか確認する。
実機での実行
Visual StudioでDeviceをHoloLens EmulatorからRemote Deviceに変更する。 HoloLensのIPアドレスはSettings -> Network & Internet -> Advanced Optionで確認して、 認証モードはユニバーサルにしてデバッグなしで開始する。
PINコードを要求されるので、Settings ->Update & Security -> For developersから Developer modeをonにし、その下のPaired devicesで表示されるPINコードを入力する。
スクリーンショットの撮り方
https://developer.microsoft.com/en-us/windows/holographic/using_mixed_reality_capture
カメラで撮れる。
Windows Device Portal
PCのブラウザからいろいろできるツール。
Settings ->Update & Security -> For developersからDevice Portalをonにすると https://HoloLensのIPアドレス でアクセスできる。