Hiromuブログ

どこにでもいるただのホロレンジャーです

HoloLens + OpenCVForUnity

2か月ほど前に HoloLensWithOpenCVForUnityExample がIL2CPPをサポートしていたので動作確認してみました。

MRTK V2が正式リリースされるとまたやり方が変わると思いますが、MRTKに対応したHoloLensWithOpenCVForUnityExampleのunitypackageを入れるぐらいではないかと予想しています。

ロードマップによるとMRTK V2は2019年7月にリリース予定です。

github.com

開発環境

  • Hololens 10.0.17763.379 (RS5)
  • Windows 10 Pro 1809
  • Windows 10 SDK 10.0.17763.0
  • Visual Studio Professional 2017 (Version 15.9.6)
  • Unity 2018.3.10f1
  • HoloToolkit-Unity 2017.4.3.0

プロジェクト設定

  • Unityのプロジェクトを作成し、HoloToolkit-Unity-2017.4.3.0をインポートする
    github.com

  • メニューの Mixed Reality Toolkit -> Configure -> Apply Mixed Reality Project Settings を選択し Apply する

  • メニューの Mixed Reality Toolkit -> Configure -> Apply Mixed Reality Scene Settings を選択し Apply する

  • メニューの Mixed Reality Toolkit -> Configure -> Apply UWP Capability Settings を選択し Webcamにチェックをいれて(他は必要に応じてチェックをいれ) Apply する

  • メニューの Build Settings... を選択し、Player Settings を選択する

  • Other Settings の Scripting Backend を IL2CPPにし、Api Compatibility Levelを .NET Standard 2.0にする(.NET 4.xでも動作すると思います)

  • OpenCV for Unityをインポートする
    assetstore.unity.com

  • メニューの Tools -> OpenCV for Unity -> Set Plugin Import Settings を選択する(処理が終わるとConsoleにSetPluginImportSettings Success ...というメッセージが表示されます)

  • OpenCVForUnity配下のStreamingAssetsフォルダをAssets直下に移動する

  • HoloLensCameraStream v0.3.0-betaをインポートする
    github.com

  • API Update Required ダイアログが表示された場合は I Made a Backup, Go Ahead! を選択する

  • Assets/CamStream/Plugins/WSA/HoloLensCameraStream を選択し、Inspector の Platform settings -> ScriptingBackend を Il2Cpp に変更し Apply ボタンを押す

  • HoloLensWithOpenCVForUnityExample_v1.0.2 をインポートする
    github.com

  • メニューの Build Settings... を選択し、Scenes In Build に 以下のシーンを追加する

    • HoloLensWithOpenCVForUnityExample.unity(一番上(右の数字が0)に追加する)
    • ShowLicense.unity
    • HoloLensArUcoCameraCalibrationExample.unity
    • HoloLensArUcoExample.unity
    • HoloLensComicFilterExample.unity
    • HoloLensFaceDetectionExample.unity
    • HoloLensFaceDetectionOverlayExample.unity
    • HoloLensPhotoCaptureExample.unity

以上でプロジェクト設定は終了です。 (Build Settings の Build ボタンを押したところ、ビルドが終了するのに20分以上はかかりました)

HoloLensにデプロイすることで動作確認することができます。

参考動画

HoloLensPhotoCaptureExample


HoloLens + OpenCVForUnity

HoloLensComicFilterExample


HoloLens + OpenCVForUnity