tks_yoshinagaの日記

KinectやLeap motion, VRやARなどの技術を使ってやったことのメモとか

Windows Mixed Reality Headsetで自作コンテンツを動かす with Unity

1.はじめに

Windows Mixed Reality(HP製) ヘッドセットが届いたので自作コンテンツを動かすまでの手順をまとめておきます。

f:id:tks_yoshinaga:20170823152746j:plain

2.環境

詳しいセットアップ手順は公式ページを参照して行えば問題ないはずなのですが、自身の環境(ALIENWARE NA85Z-HL)では何故か成功しなかったのでちょっと苦戦。
今回WindowsMRがうまく動いたOSやUnityのバージョンの組み合わせを記載しておきます。

OS:  Windows 10 Insider Preview - Build 16251.0
SDK: SDK Insider Preview - Build 16267
Unity: Unity 2017.2 Beta with Mixed Reality Support

[memo]
Windows 10については、Creators Updateだと頻繁にフリーズしていたが Insider Previewにしたらそれなりに動くようになった。

3.開発手順

(1) Unityを立ち上げてプロジェクトを作成
(2) MainCameraの座標を(0 0 0)に変更
(3) Sceneに表示オブジェクトを追加 → 本記事ではCubeを追加
(4) オブジェクトの位置・角度・サイズを整える  → 例えば位置を(0 1.6 1)
(5) [File]→[Build Settings]でビルド設定画面を開く
(6) Add Open Scenesで現在編集中のシーンを追加
(7) PlatformでUniversal WIndows Platformを選択し、[Switch Platform]をクリック
(8) Target deviceをAny Device、Build TypeをD3DSDKLatest installed、Build and Run onをLocal Machineとする。

f:id:tks_yoshinaga:20170823161521j:plain


(9) Build Setting画面下方のPlayer Settingsをクリック
(10) Unity EditorのInspector内のOther Settingsを開く
(11) Script Backendを.NETに変更
(12) さらにInspector内のXR Settingsを開く
(13) Virtual Reality SupportedのチェックをONにする

f:id:tks_yoshinaga:20170823174752p:plain

4.動作確認

4-1. Unity上でのプレビュー

(1) Ctrl + Sでシーンを保存 
(2) ヘッドセットがPCと接続されていることを確認(USB & HDMI)
(3) Playボタンをクリック
(4) ヘッドセットを位置・姿勢が視界に反映される。
※ 他の人の動画を見るとGame画面の周囲の黒いエリアが丸いので、まだ上手く動いていないのかもしれないが、Mixed Reality Portalや実機ではちゃんと動いてるっぽいし開発に支障がなさそうなのでスルー。

4-2. インストール&実行

(1) 再び [File]→[Build Settings]でビルド設定画面を開く
(2) 右下にある[Build And Run]をクリック
(3) ファイル保存ダイアログ上で適当にフォルダを作る(ex. app)
(4) appフォルダを選択し[フォルダーの選択]をクリック
(5) ビルドが始まるのでしばらく待つ。
(6) 成功すると自動的にコンテンツが起動。
(7) 以降、コンテンツの起動はメニュー画面から起動可能

[追記]
ちゃんとした手順でやる場合は上記の代わりに下記を参照してください。

(1) [File]→[Build Settings]でビルド設定画面を開く
(2) 右下にある[Build]をクリック
(3) ファイル保存ダイアログ上で適当にフォルダを作る(ex. app)
(4) appフォルダを選択し[フォルダーの選択]をクリック
(5) ビルドが始まるのでしばらく待つ
(6) ビルドが終わったらappフォルダを開く
(7) Visual Studioのソリューションファイル(*.sln)を開く
(8) ソリューションプラットフォームを ×86に変更
(9) ビルド先をローカルコンピュータに設定

f:id:tks_yoshinaga:20170828125723j:plain
(10) [デバッグ]→[デバッグなしで開始]をクリック
(11) ビルドが始まるのでしばらく待つ
(12) 成功すると自動的にコンテンツが起動。
(13) 以降、コンテンツの起動はメニュー画面から起動可能

5.まとめ

 自分のPCとの相性が悪かったのかセットアップに手間取ってしまいましたが、そのあとはUnityの使い方を知っていればオブジェクトを観察するようなコンテンツはすぐ作れました。ただしHoloLens用のコンテンツで多く使われている、空間の形状の取得(Spatial Mapping)やハンドジェスチャは今のところ使えません。そのため現状は従来のようなVRコンテンツを楽しむのがメインになるのかなという印象を受けました。
 恐らくこの辺がWindowsMRデバイスが廉価版HoloLensとは言えないと見られてしまう原因の1つなのかなもしれません。しかし一方で、空間の好きな場所にウィンドウを配置してアプリケーションを操作するといった、3次元的なコンピュータの活用スタイルという観点でこのデバイスを見ればHoloLensとの共通点も多く、廉価版HoloLensと言えるのかなとも思いました(MRかどうかはさておき)。またVRヘッドセットとしてもOculusやViveとは異なり、外部のセンサを必要としない手軽さがあるのも魅力の一つだと考えています。今後、このデバイスだからこそできることを是非模索していきたいです。

 

[参考]
英語に抵抗がない方はMicrosoft公式のAcademyが参考になります。
Holograms 100