HoloLens UnityとUWPの違い

HoloLensを実装するにあたって、UnityとUWPで行う方法があります。それぞれの実装方法は下記をご覧ください。

 「HoloLens Unityで実装
 「HoloLens UWPで実装

 

UnityとUWPには違いがありますので、参考したサイトなどを含めて簡単にまとめました。

 

UnityとUWPの違いと注意点

1.アプリの実行状態が異なる
UWPはあくまで2次元なので、2次元をバーチャルの3D上に配置ができます。3Dアプリ(Unity)では3次元での配置になるため排他的になります。

 ・UWPはウィンドウモード(いくつも設置できる)
 ・Unityは排他的モード(フルスクリーンのため、他は配置できない)

 https://forest.watch.impress.co.jp/docs/special/1062467.html

 

2.HoloLensはUWPアプリケーション
UWPとUnityは同じC#で開発が可能ですが、
 ・UWPは.NET Core
 ・Unityは.NET Framwork
異なるため、全く別物。そのためUnityをUWPに変換しないと使用できません。
.Net Frameworkのライブラリなどが使えないことや、構造上スレッドの扱いを気を付ける必要があります。(カメラ操作やファイル操作)

 UnityによるHoloLens用UWPアプリケーション開発の勘所
 Unity実装で気を付けること
 HoloLensでUWPの機能を活用する時のtips

 

3.UnityとUWPのバージョンによる互換性
互換性のあるバージョンに合わせないとUnityにUWPをPluginして使えなくなってしまうことがあります。

そのため、Microsoft.NETCore.UniversalWindowsPlatformのバージョンを「5.0.0」にした方が良いそうです。
これの厄介な問題としては、UWPの基本ライブラリのバージョンが「Unityが自動生成するUWP用プロジェクト」と「Pluginsとして作成したUWP用のdll」で合っていなくてもUnity上ではエラーにならないことです(ビルドも含めて)。困ったことにバージョンが異なる場合でもVisual Studioもビルドが正常終了します。このため結果として、動かしてみて初めて参照関係の不一致によりエラーが発生する事態に陥ります。

 HoloLensのバージョン違いによる注意