WMR (Windows Mixed Reality) アプリケーションはユニバーサル Windows アプリケーションで、他の Windows ストアアプリケーション と同じ一般的なガイドラインに従います。開発環境は Visual Studio 2017 で、追加の SDK インストールは必要ありません (Visual Studio は必要な SDK をインストールします)。
Windows Mixed Realityアプリケーションを開発する前に、PC とヘッドセットに多くのツールをインストールする必要があります。以下のツールがその例です。
Visual Studio 2017(Unity Windows プラットフォーム開発と Unity を使ったゲーム開発に必要なものがインストールされていること)
HoloLens エミュレーターとホログラフィックテンプレート (exe形式、HoloLens 開発にのみ必要)
Windows Mixed Reality アプリケーション (HoloLens と没入型ヘッドセットの両方) を開発するのに必要なすべてのツールを確実にインストールするには、Microsoft のドキュメントの ツールのインストール の手順を参照してください。
Windows Mixed Reality の開発に関する詳細は、Microsoft の WMR ドキュメント を参照してください。
必要なツールをインストールしたら、下の説明に従って Unity のプロジェクトを設定し、Windows Mixed Reality デバイスに公開してください。
Windows Mixed Reality の Unity プロジェクトは、他のプラットフォームの Unity プロジェクトと非常によく似ていますが、気を付けるべき例外がいくつかあります。Windows Mixed Reality 機能を完全にサポートするには、カメラ、パフォーマンス、公開の設定を以下で説明するように変更する必要があります。
HMD の位置を追跡するために使用するカメラの Tag が MainCamera に設定するようにしてください。これを確認するには、使用したいカメラを選択し、Inspector ウィンドウの Tag ドロップダウンを確認してください。Unity は自動的にシーン内のデフォルトカメラにこのタグを適用します。
HoloLens に対し、Main Camera の Clear Flags プロパティをデフォルトの Skybox ではなく Solid Color に設定します。Background を黒 (R = 0, G = 0, B = 0, A = 0) に設定します。カメラの Transform 位置は必ず (0, 0, 0) に設定してください。
HoloLens の場合のみ、Edit > Project Settings に移動し、Quality を選び Fastest に設定します。これにより、パフォーマンスを最高にし、消費電力を削減します。特に、ソフトシャドウとシャドウカスケードを回避します。なぜなら、それらは、HoloLens で使用するにはあまりにも多くのリソースを必要とするからです。
Windows Mixed Reality アプリケーションの最適化の詳細は、Microsoft のドキュメントの Unity のパフォーマンスに関する推奨事項 を参照してください。
Windows Mixed Reality アプリケーションの重要なシステム機能を有効にするには、Player 設定の Publishing Settings セクションに移動し、Capabilities リストの使用したい各オプションのボックスをチェックします。
注意: Capabilities リストのすべての公開設定が Windows Mixed Reality 特有というわけではありません。詳細は、ユニバーサル Windows プラットフォームの Player 設定 を参照してください。
下の表は、Windows Mixed Reality アプリケーションを公開するための重要な機能設定を説明しています。
Capabilities | 没入型ヘッドセットのサポート | HoloLens サポート |
説明 |
---|---|---|---|
InternetClient | サポート | サポート | 外部インターネットへ接続するためのインターネットアクセスを提供します。WMR は音声認識のためにこれを必要とします。 |
InternetClientServer | サポート | サポート | インターネット接続へのアクセス (インターネットからの迷惑なリクエストを含む) を提供します。アプリケーションは、ファイアウォールを通してコンピュータと情報をやりとりできます。WMR は音声認識のためにこれを必要とします。 注意: これが有効な場合は、InternetClient を使用する必要はありません。 |
MusicLibrary | サポート | 無し | 音楽ライブラリやプレイリストへのアクセス (ファイルの追加、変更、削除など) を提供します。これにより、WMR アプリケーションで VideoCapture オーディオレコーディング機能を使用できます。 |
PicturesLibrary | サポート | サポート | ピクチャライブラリ。ファイルの追加、変更、削除などが可能です。この機能には、ホームグループのコンピューターの画像ライブラリや、ローカルに接続されたメディアサーバー上の画像ファイルのタイプも含まれます。 |
VideosLibrary | サポート | 無し | ビデオライブラリ。ファイルの追加、変更、削除などが可能です。この機能には、ホームグループのコンピューターのビデオライブラリや、ローカルに接続されたメディアサーバー上のビデオファイルのタイプも含まれます。 |
WebCam | 無し | サポート | アプリケーションで PhotoCapture と VideoCapture 機能を使用できます。 |
Microphone | サポート | サポート | アプリケーションで音声認識機能を使用できます。 |
Bluetooth | サポート | サポート | アプリ内で Bluetooth 通信を有効にします。WMR では、Windows Mixed Reality 空間コントローラーを使用できるようにするために、これが必要です。 |
SpatialPerception | 無し | サポート | アプリケーションで 空間マッピング を使用できます。 |
これらの機能の詳細は、Microsoft のドキュメント を参照してください。
プロジェクトをビルドしてテストできる状態になったら、そのプロジェクトを Visual Studio ソリューションにエクスポートします。WMR アプリケーションを展開するには、最初に Visual Studio ソリューションを Unity でビルドする必要があります。
まず、File > Build Settings に移動し Platform のリストから Universal Windows Platform を選択します。ウィンドウの下方にある Switch Platform ボタンをクリックして、Windows 用にビルドするためにエディターを設定します。
標準ビルドの場合、デフォルトの設定は Windows Mixed Reality の没入型ヘッドセットで正しく機能します。
HoloLens 用にビルドするには、Target Device の設定を HoloLens に変更する必要があります。
下の表は、ユニバーサル Windows プラットフォームで使用可能なビルド設定と使用方法を示しています。
設定 | Description | |
---|---|---|
Target Device | 没入型ヘッドセットをビルドするには Any Device を選択し、HoloLens をビルドするには HoloLens を選択します。これは最適化にとって重要です。 | |
Build Type | D3D (Direct3D) または XAML から選択します。 | |
D3D | アプリケーションに XAML レイヤーがないため、XAML よりもすばやく結果が得られます。これは、3D 空間に限ってアプリケーションをビルドするため、2D XAML アプリケーションに切り替えたり、生成後にこれを変更することはできません。 | |
XAML | アプリケーションに XAML コードレイヤーを加えます。これにより、ユーザーは 3D アプリケーションから切り替えて 2D アプリケーションを開くことができます。XAML コードは生成後に変更できます。これのもっとも一般的な例は、HoloLens にタッチキーボードを使用することです。 | |
SDK | アプリケーションが使用する Windows 10 SDK のバージョンを選択します。デフォルトでは Latest installed に設定されています。 | |
Visual Studio Version | 特定のバージョンの Visual Studio を選択してソリューション (.sln) を生成します。デフォルトでは、Visual Studio 2017 がインストールされている場合に推奨される Latest installed に設定されています。 | |
Build and Run on |
Build and Run ボタンをクリックするときにアプリケーションが実行されるデバイスを選択します。デフォルトでは Local Machine に設定されています。変更する必要はありません。 ノート : Build ボタンをクリックすると、Unity はこのオプションを無視します。 |
|
Copy References | UnityPlayer.dll、関連する DLL、データを、Unity のインストールフォルダーから直接参照するのではなく、生成されたソリューションフォルダーにコピーできるようにします。これには余分な空き容量が必要ですが、生成されたソリューションをポータブルにすることができます (Unity がマシンにインストールされていない場合でも、ソリューションをマシンにコピーしてビルドすることができます)。 | |
Unity C# Projects | プロジェクトのスクリプトファイルを生成されたソリューションに含めることができます。この設定は Scripting Backend を .NET に設定した場合にのみ可能です。 | |
Development Build | デバッグ機能を使用可能にし、ビルドしたプロジェクトをテストしデバッグできるようにします。これにより、ビルドしたプロジェクトを Unity プロファイラーに接続することができ、より詳細なデバッグログ出力などの他の開発機能が提供されます。この設定を有効にすると、Scripts Only Build と Autoconnect Profiler も使用可能になります。 | |
Autoconnect Profiler | Unity のビルトインプロファイラーが自動的にビルドに接続できるようにします。これは Development Build が有効の場合にのみ使用可能です。 | |
Scripts Only Build | プロジェクトのスクリプトのみをビルドします。これは Development Build が有効の場合にのみ使用可能です。 |
アプリケーションをビルドする前に、Player 設定を行い Windows Mixed Reality アプリケーションを正しくビルドします。
Build Settings ウィンドウで Player Settings ボタンをクリックし、XR Settings パネルに移動します。
Virtual Reality Supported を有効にします。
Virtual Reality Devices リストの + ボタンをクリックし、Windows Mixed Reality を選択します。
Build Settings を設定後に、Build ボタンをクリックします。新しいフォルダーにプロジェクトをビルドし、場所を忘れないよう記録します。
Visual Studio からアプリケーションを展開するには、以下を行います。
Visual Studio で、プロジェクトをビルドしたフォルダー内で生成されたソリューションファイル (.sln) を開きます。
Visual Studio のメインのタスクバーで、ソリューションのターゲットプラットフォームを変更し、ソリューションを実行するデバイスを選択します。
Run ボタンの右にあるドロップダウンの三角形 (緑色の三角形) をクリックすると、使用可能なデバイスのリストが表示されます。
Visual Studio から Windows Mixed Reality アプリケーションをテストして実行するには、主に 4 つのオプションがあります。
これらのオプションについて以下で詳しく説明します。これらのオプションすべてが、すべての WMR デバイスに機能するわけではありません。中には HoloLens や没入型ヘッドセットに特有のものもあります。
Local Machine を使用すると、アプリケーションをビルドし Windows 10 PC のMixed Reality Portal にインストールできます。ビルドすると、アプリケーションは自動的に PC 上で実行され、没入型ヘッドセットを通してテストすることができます。
Mixed Reality Portal の Start メニューからいつでもアプリケーションを起動できます。
Remote Machine は、展開しようとする HoloLens や他のヘッドセットの IP アドレスを入力するためのプロンプトを表示します。Remote Machine を選択して Run をクリックすると、デバイスの PIN を入力するダイアログボックスが表示されます。
PIN を取得する方法は以下のとおりです。
HoloLens の電源を入れ、HoloLens Settings に移動します。
For Developers タブを選択し、表示されたトグルボタンを使って Developer Mode を有効にします。
Pair ボタンを選択して PIN を取得し、Visual Studio のポップアップボックスに PIN を入力します。
アプリケーションは HoloLens にリモートインストールされ、ビルド処理が完了すると自動的にデバイス上で実行します。
Device を使用すると、Visual Studio プロジェクトをビルドし、USB ケーブルを通して PC に接続された HoloLens デバイスに展開します。
Run をクリックすると、Visual Studio はプロジェクトをビルドし、接続した HoloLens にアプリケーションをインストールし、ビルド処理が完了したらデバイス上で自動的に実行します。
HoloLens Emulator を使用すると、Visual Studio プロジェクトをビルドし、インストールした HoloLens エミュレーターでアプリケーションを実行します。このエミュレーターを使用すると、HoloLens デバイスに展開する前に、アプリケーションをテストし、ジェスチャーやその他の入力のシミュレーションを行うことができます。
Unity C# Projects のチェックボックスをチェックすると、プロジェクトのスクリプトファイルを生成されたソリューションに加えます。これにより、Unity から再エクスポートせずにスクリプトを編集してデバッグすることができます。再エクスポートは Project Settings やコンテンツが変更された場合にのみ必要となります。この設定は、Scripting Backend を .NET に設定している場合にのみ使用できます。
IL2CPP か .NET スクリプティングバックエンドのどちらかをアプリケーションに使用できます。スクリプティングバックエンド を変更するには、Player 設定の Other Settings パネルに移動し、Configuration セクションで関連するバックエンドを選択します。
ILCPP の詳細は、IL2CPP のしくみ を参照してください。
Windows Mixed Reality へのビルドに関する詳細は、Microsoft のドキュメントの Unity Visual Studio ソリューションのエクスポートとビルド を参照してください。
2018–03–27 編集レビュー を行ってパブリッシュされたページ
XR API に関する新しいコンテンツは 2017.3 に追加