C#C#
UnityはC#でかけます。
ビルドするとUWP用のアプリを出力できます。
Unity Visual Studio
HoloLens用
UWPアプリ
UWPに変換
ビルド
C#C#
同じC#ですが、
Unityは.NET Framework 3.5
HoloLensで利用するUWPは.NET Core 1.1
Unity Visual Studio
.NET Core Framework
UWP
変換
.NET Framework 別物
(><)
.NET Framework
.NET Core
Framework
Windows
Form
WPF UWP・・・ ・・・
Mono
Xamarin
バージョンアップ
を通して肥大化
より軽量で汎用的な
ものが必要
.NET Framework
.NET Core
Framework
C#/VB
C#
/VB
C#/VB・・・ ・・・
同じC#でかけます。
Mono
C#/VB
Unity側
Holo側
ファイルI/O
ファイルI/O
string
Unity Editor上ではUWPのライブラリを利用できない。
問題点
void Update () {
#if UNITY_EDITOR
//Unityで処理される部分(UWPの本処理に対するスタブなど)
#else
//UWPでしか動かない処理→Unity Playerなどでは実行されない
//UWPとして出力する際に有効化される。
#endif
}
「#if UNITY_EDITOR」でUWPのコードを無効化
手法
DLLではなくC#のプロジェクト(ソースコード)で出力
手法
Unity C# Projectに
チェック
通常はDLLとしてビルド
された状態で出力
事前に知っていれば何とかなる問題
試行錯誤してみました
再ビルド時に必ず再作成(上書き)
Assembly-Csharpプロジェクト
HoloLens用ライブラリとなるプロジェクト
(UnityのAsset内のソースコード)
[プロジェクト名]プロジェクト
HoloLens用のUWP実行アプリとなるプロジェクト
UnityではHoloLens用にビルドすると大きく2つのプロジェクトを生成
Unity C# Projectの
チェック有無でDLL化
再ビルド時にVisual Studioで変更した部分を除き再作成(上書き)
UWPの実装/修正を
ここに集約する
Assembly-Csharp.dll
(Unity のAsset内をビルドしたもの)
[プロジェクト名].appx
HoloLens用のUWP実行アプリ
管理サービス
Aサービスを
使った処理
Aサービス
UWPの実装
管理サービスに登録
管理サービスからもらう
UWPの実装は
実行アプリのプロジェクトでする
マニアには好評でした。
もう少し取り回しやすいようにプラグイン化の予定
UnityによるHoloLens用UWPアプリケーション開発の勘所

UnityによるHoloLens用UWPアプリケーション開発の勘所