DEVELOPER’s BLOG

技術ブログ

HoloLensの開発環境構築とサンプルアプリの作成

2017.04.13 中村 昴
アプリ開発
HoloLensの開発環境構築とサンプルアプリの作成

はじめまして。アクセルユニバース株式会社でインターンをしている中村と申します。

これまでこの会社でAndroidアプリ開発、RubyやPHPを使ったWeb開発などに携わってきました。
MicrosoftからHoloLensが日本で発売されたので、弊社でも早速購入し、アプリケーションを作っております。

そこで、この記事ではMicrosoft HoloLensの開発環境を作り、簡単なアプリを作成したことを報告します。
今回は、実機を用いて開発するため、エミュレータはインストールしません。
では、早速Microsoft HoloLensの開発環境構築から見ていきましょう。

必要なツール

・Unity 5.5
・Visual Studio 2015 Update 3

上記のツールは、エディションはどれを選んでも構いません。

OS

Windows 8以降
(注意)
エミュレータを使う場合は、Windows 10 (Homeを除く)が必要となります。
また、Windows 10 でない場合は、Windows 10 SDK で使えない機能があります。

環境構築手順

1.Visual Studio 2015 Update 3 をダウンロードする
https://www.visualstudio.com/ja/downloads/
2.Visual Studio をインストールする
ユニバーサルWindowsアプリ開発ツールで、下記の項目を有効にしておく。
・ツール (1.4)
・Windows 10 SDK (10.0.10586)

3.Unity 5.5 をダウンロードする
https://unity3d.com/jp/get-unity/download
4.Unity のインストールをする
5.Unity アカウントを作成する
https://id.unity.com/
6.Unity の初期設定をする

サンプルアプリの作成手順

Unity

プロジェクトを作成する

1.3Dを選択する

HoloLens_2.png

メインカメラの座標を設定する

メインカメラの座標がユーザーの初期位置となります。
1.Hierarchy パネルの Main Camera を選択する
2.Inspector パネルの Transform で、Position を (X: 0, Y: 1, Z: -10) から (X: 0, Y: 0, Z: 0)へ変更する

背景色を変更する

背景に現実の物が見えるように、背景色を透明にします。
1.Main Camera が選択されている状態で、Inspector パネルの Camera で Clear Flags の値を Skybox から Solid Color へ変更する
2.Background のカラーピッカーから、RGBA を (0, 0, 0, 0)へ変更する

Clipping Planes を設定する

ユーザとホログラムの距離が近くなりすぎないように、レンダリングの開始位置を変更します。
1.Main Camera が選択されている状態で、Inspector パネルの Camera で Clip Plane の Near を 0.3 から 0.85 へ変更する

HoloLens_12.png

ホログラムを作成する

ユーザーの前方に、傾いた立方体を設置します。
1.Hierarchy パネルの Create から、3D Object > Cube を選択する

HoloLens_4.png2.Hierarchy パネルの Cube を選択する
3.Inspector パネルの Transform で下記のように設定する
Position : (X: 0, Y: 0, Z: 2)
Rotation : (X: 45, Y: 45, Z: 45)
Scale : (X: 0.25, Y: 0.25, Z: 0.25)

HoloLens_5.png4.File > Save Scene で、名前をつけてシーンを保存する


パフォーマンスの設定をする

1.Edit > Project Settings > Quality を選択する
2.Windows Store ロゴの下の三角から、Fastest を選択する

HoloLens_6.png


ビルドの設定をする

1.File > Build Settings... を選択する
2.Platform から Windows Store を選択する
3.SDK を Universal 10 にする
4.UWP Build Type を D3D にする
5.Unity C# Projects を選択する
6.Add Open Scenes からシーンを追加する

Windows ホログラムのエクスポートの設定をする

1.Build Settings... のウィンドウの Player Settings... を選択する
2.Settings for Windows Store のタブを選択する
3.Other Settings の項目を選択する
4.Rendering の Virtual Reality Supported を選択する

HoloLens_7.png

Visual Studio のソリューションをエクスポートする

1.Build Settings... のウィンドウで build を選択する
2.新規に App という名前のフォルダを作成する
3.App フォルダを選択し、Select Folder を選択する

HoloLens

開発者モードを有効にする

1.Settings > Update & Security > For developers を選択する
2.Developer mode を選択する
3.Device Portal を有効にする


Windows HoloLens を開発機とUSB接続する

Visual Studio

1.App フォルダの Visual Studio ソリューションファイル(拡張子 .sln)から、Visual Studioを起動する

ビルドの対象を変更する

1.Package.appxmanifest を右クリックし、View Codeを選択する

HoloLens_8.png2.TargetDeviceFamily の行で下記のように変更する
Name="Windows.Holographic"
・MaxVersionTested="10.0.10586.0"

HoloLens_9.png3.Package.appxmanifest を保存する

ビルドとデプロイをする

1.上部のツールバーで、Debug を Release へ、ARM を X86 へ変更する
2.デプロイ対象が Device になっていることを確認する

HoloLens_10.png3.Debug > Start without debugging を選択する
4.PIN 入力を求められたら、HoloLensで Settings > Update > For Developers を選択し、Pair をタップしたときに出る値を入力する


HoloToolkit-Unity でのビルドとデプロイ

筆者の環境では、デプロイ時にエラーが出てしまいました。

Error DEP6957 : Failed to connect to device '127.0.0.1' using Universal Authentication. Please verify the correct remote authentication mode is specified in the project debug settings.
0x8007274D: The network event being waited on triggered an error.

そのため、HoloToolkit-Unity を用いてビルドとデプロイを行いました。
この方法では、Visual Studio を使わずにビルドからデプロイまでできます。

Windows Device Portal の初期設定

1.Windows HoloLens をUSB接続する
2.ブラウザで http://127.0.0.1:10080 を開く
3.ペアリングをする

PINは、HoloLensで Settings > Update > For Developers を選択し、Pair をタップしたときに出る値を入力する


Unity

1.HoloToolkit-Unity をダウンロードする
https://github.com/Microsoft/HoloToolkit-Unity
2.HoloToolkit-Unity の Assets フォルダの内容を、Unityプロジェクトの Assets フォルダにコピーする
Assets フォルダ内でコピーすべきものは以下のものとなります。
・HoloToolkit/
・HoloToolkit.meta
・mcs.rsp
・mcs.rsp.meta
この操作で、Unity の上部メニューに HoloToolkit が追加されます。
3.Unity で HoloToolkit > Build Window を選択する
4.Build Window の Deploy で、Windows Device Portal で作成した Username と Password を入力する
5.Build Window で、Build SLN, Build APPX, then Install を選択する

Windows Device Portal でのデプロイ

Windows Device Portal を用いてもデプロイができます。
ただし、Visual Studio や HoloToolkit-Unity よりも手間がかかります。

Visual Studio

1.Solution Explorer から、<プロジェクト名>(Universal Windows)を右クリックし、Store > Create App Packages... から App Package を作成する

HoloLens_11.png

Windows Device Portal

1.HoloLens をUSB接続する
2.ブラウザで http://127.0.0.1:10080 を開く
3.左のメニューの SYSTEM > Apps を選択する
4.App package で App\<プロジェクト名>\bin\x86\Release にある .appx ファイルを選択する
5.Dependency で App\<プロジェクト名>\AppPackages\<プロジェクト名>_Test\Dependencies\x86 にある .appx ファイルを選択する
6.Deploy の Go を選択する

以上で環境構築およびサンプルアプリデプロイが完了となります。
今後もWindows HoloLensだけでなく色々な情報を発信していきますので、よろしくお願い致します。

参考

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

Holograms 100
https://developer.microsoft.com/en-us/windows/holographic/holograms_100

デバイスを開発用に有効にする
https://docs.microsoft.com/ja-jp/windows/uwp/get-started/enable-your-device-for-development

Using Visual Studio
https://developer.microsoft.com/en-us/windows/holographic/Using_Visual_Studio.html

Using the Windows Device Portal
https://developer.microsoft.com/en-us/windows/mixed-reality/using_the_windows_device_portal

関連記事

Core MLとVision、Inception v3モデルを使ってOSアプリを作成する

はじめに iOSネイティブアプリと機械学習を組み合わせたいと思い、Appleが提供してくれているフレームワークCore MLとVision、事前に訓練したInception v3モデルを使用し、ドラマのSilicon Valleyに出たthis is not hot dogアプリを作ってみました。  this is not hot dog とは、撮影された画像がホットドッグかどうかを認識するアプリです。YouTube動画がありますのでご覧ください。YouT

記事詳細
Core MLとVision、Inception v3モデルを使ってOSアプリを作成する
アプリ開発 画像認識
開発における「テスト」の大切さ

前の更新から時間が経ってしまいましたが、 今回は、「テスト」について書きたいと思います。 「テスト」って聞くと、すごい嫌なイメージをされる方も多いと思います。 しかし、システム開発で行うテストはただのテストではなく『バグ探し』と呼ばれています。 システム開発で実施するテストは ①単体テスト ②結合テスト ③総合テスト と様々なテストがあります。 テストは、品質を担保するために行います。 いざ使ったら、バグだらけなんて嫌ですもんね。 ここで、各テストがどうい

記事詳細
開発における「テスト」の大切さ
アプリ開発
Ruby on Rails:マルチテナント環境でのマイグレーションについて

はじめまして、アクセルユニバース システム部の今村と申します。 弊社では業務システムからスマートフォンアプリまで、所謂「なんでも」開発します。 Webアプリケーションも作成します。 直近では、 Ruby On Rails (以下、Railsと記載します) を用いた開発を多く実施してきました。 今回は、弊社で経験した マルチテナント環境でのRailsアプリケーション におけるちょっとしたTipsを紹介いたします。 1. マルチテナントとは http://e

記事詳細
Ruby on Rails:マルチテナント環境でのマイグレーションについて
アプリ開発

お問い合わせはこちらから