はじめに
HoloLens用にUnityのネイティブプラグインを作成するためのサンプルプロジェクトを作りました。
UnityEditor用DLLのプロジェクトとHoloLens(UWP)用DLLのプロジェクトを一つのソリューションにまとめた形になっています。
プロジェクト設定が非常に面倒だったので、今後はこのプロジェクトをテンプレートとして流用していきたいです。
サンプルプロジェクト
-
NativePluginSampleForHoloLens
-> ネイティブプラグインを作成するためのVisual Studioのプロジェクト -
UnityProjectForNativePluginSample
-> 上記のプロジェクトで作成したDLLを使っているUnityのサンプル
開発・検証環境
- Visual Studio 2017 (Version 15.6.6)
- Unity 2017.4.2.f2
Native Plugin の作り方
NativePluginSampleForHoloLensのソリューションファイルを開いてビルドします。
流用する場合はソースコードを修正してからビルドします。
解説
ソリューション構成は以下の通りです。
- NativePlugin -> ソースコード管理用の共有プロジェクト
- NativePluginForEditor -> UnityEditorでの実行時に利用されるDLL用のプロジェクト
- NativePluginForUWP -> HoloLens実機での実行時に利用されるDLL用のプロジェクト
ソースコードは共有プロジェクトの「NativePlugin」に含まれていますが、メインとなるコードは「NativePlugin.h」と「NativePlugin.cpp」です。今回のサンプルでは2つの整数の和を計算する単純な関数を実装してあります。
ビルド方法
-
Visual Studio 2017で「NativePluginSampleForHoloLens.sln」を開く
-
ビルドするプロジェクトを選択してビルドを実行する。HoloLens(UWP)用DLLとUnityEditor用DLL(32bit/64bit)を選択する。
ビルドが成功すると3つのDLLが生成されます。
- UnityEditor(32bit)用DLL
-> NativePluginSampleForHoloLens\Release\NativePluginForEditor\NativePlugin.dll - UnityEditor(64bit)用DLL
-> NativePluginSampleForHoloLens\x64\Release\NativePluginForEditor\NativePlugin.dll - HoloLens(UWP)用DLL
-> NativePluginSampleForHoloLens\Release\NativePluginForUWP\NativePlugin.dll
Unityプロジェクトへのプラグインの追加
作成したDLLをPluginsフォルダに配置して、インポート設定を変更します。
HoloLens(UWP)用DLL
「Plugins\WSA\x86」に配置する。設定は以下の通り。
UnityEditor(64bit)用DLL
UnityEditor(32bit)用DLL
Native Pluginの処理をスクリプトから呼び出す
まとめ
HoloLens用にUnityのネイティブプラグインを作成するためのサンプルプロジェクトを紹介しました。
ネイティブプラグインで実装した処理をUnityで実行する方法についても紹介しました。