MRが楽しい

MRやVRについて学習したことを書き残す

HoloLensでOpenCVForUnityを試すためのHoloLensWithOpenCVForUnityExampleのビルド手順

本日は HoloLens の技術調査枠です。
OpenCVForUnity を利用した HoloLens のサンプルシーン集である HoloLensWithOpenCVForUnityExample についてビルド手順を改めてまとめます。
(過去のまとめが甘く再ビルドに手間取ったため……)

利用コード

本記事では以下の OpenCVForUnity を利用します。
assetstore.unity.com

HoloLens で OpenCVForUnity を利用するサンプルシーン(HoloLensWithOpenCVForUnityExample)を利用します。
github.com

HoloLensWithOpenCVForUnityExample は HoloLensCameraStream を利用します。
github.com

HoloLensWithOpenCVForUnityExample と HoloLensCameraStream の取得

以下のページを開き、HoloLensWithOpenCVForUnityExample_v1.0.1.unitypackage のリンクをクリックしてダウンロードします。
github.com
f:id:bluebirdofoz:20180817004433j:plain

また HoloLensWithOpenCVForUnityExample は HoloLensCameraStream のプラグイン(DLL)を利用します。
HoloLensCameraStream のリポジトリにビルド済みのものが含まれています。
以下の DOWNLOAD ZIP から HoloLensCameraStream のリポジトリを取得しておきます。
github.com
f:id:bluebirdofoz:20180817004609j:plain
※ または HoloLensCameraStream のソリューションをビルドしてプラグイン(DLL)を作成することも可能です。

プロジェクトの作成

以下の手順ページの「HoloLens(WindowsMR) プロジェクトの基本設定」までを実施したプロジェクトを作成します。
bluebirdofoz.hatenablog.com
※ 今回は OpenCV for Unity のサンプルシーンを利用するため、Scene の設定は行わなくても問題ありません。
f:id:bluebirdofoz:20180817004632j:plain

プロジェクトのセットアップ

AssetStore で「OpenCV For Unity」を検索します。
OpenCV For Unity」のページを開き、「Import」をクリックします。
f:id:bluebirdofoz:20180817004816j:plain

「Import Unity Package」ダイアログが開くので「Import」ボタンをクリックします。
f:id:bluebirdofoz:20180817004826j:plain

OpenCV For Unity」のインポートが完了したら、次にプラグインのインポート設定を行います。
メニューから Tools -> OpenCV for Unity -> Set Plugin Import Setings を選択します。
f:id:bluebirdofoz:20180817004835j:plain

Assets 配下に StreamingAssets フォルダを作成します。
Assets 直下で右クリックし、Create -> Folder を選択し、作成したフォルダの名前を StreamingAssets に変更します。
f:id:bluebirdofoz:20180817004848j:plain

以下のファイルを作成した Assets/StreamingAssets フォルダに移動します。
・OpenCVForUnity\StreamingAssets\haarcascade_frontalface_alt.xml
・OpenCVForUnity\StreamingAssets\lbpcascade_frontalface.xml
f:id:bluebirdofoz:20180817004857j:plain

次にダウンロードしておいた HoloLensCameraStream のリポジトリから以下のフォルダをコピーします。
・HoloLensVideoCaptureExample\Assets\CamStream
f:id:bluebirdofoz:20180817004911j:plain

これをそのまま Unity プロジェクトの Assets 配下に貼りつけます。
・Assets\CamStream
f:id:bluebirdofoz:20180817004919j:plain

HoloLensWithOpenCVForUnityExample のインポート

Unity を開いた状態で HoloLensWithOpenCVForUnityExample.unitypackage を実行してインポートを開始します。
「Import Unity Package」ダイアログが開くので「Import」ボタンをクリックします。
f:id:bluebirdofoz:20180817004931j:plain

HoloLensWithOpenCVForUnityExample のサンプルシーンを利用するには WebCam の Capabillity を設定する必要があります。
メニューから Mixed Reality Toolkit -> Configure -> Apply UWP Capability Settings を開きます。
f:id:bluebirdofoz:20180817004941j:plain

「Apply UWP Capability Settings」ダイアログが開くので、「WebCam」にチェックを入れて「Apply」を実行します。
f:id:bluebirdofoz:20180817004950j:plain

最後に、サンプルシーンを設定します。メニューから File -> Build Settings を開きます。
f:id:bluebirdofoz:20180817005007j:plain

「Build Settings」ダイアログが開くので Scenes In Build パネルにシーンを追加していきます。
Assets\HoloLensWithOpenCVForUnityExample 配下にある unity ファイルをドラッグして追加します。
このとき、一番初めに HoloLensWithOpenCVForUnityExample.unity を追加しておきます。
f:id:bluebirdofoz:20180817005017j:plain

unity ファイルは以下の通り、全部で 種類あります。
・HoloLensWithOpenCVForUnityExample.unity
・ShowLicense.unity
・HoloLensArUcoExample\HoloLensArUcoCameraCalibrationExample.unity
・HoloLensArUcoExample\HoloLensArUcoExample.unity
・HoloLensComicFilterExample\HoloLensComicFilterExample.unity
・HoloLensFaceDetectionExample\HoloLensFaceDetectionExample.unity
・HoloLensFaceDetectionOverlayExample\HoloLensFaceDetectionOverlayExample.unity
・HoloLensPhotoCaptureExample\HoloLensPhotoCaptureExample.unity
各フォルダにある unity ファイルを全て追加します。
0番目に HoloLensWithOpenCVForUnityExample が来ていることを確認してください。
f:id:bluebirdofoz:20180817005027j:plain

後は通常の UWP アプリと同様にビルドを実施します。
f:id:bluebirdofoz:20180817005035j:plain

HoloLens 上でアプリを起動すると、以下のようにサンプルシーンの一覧画面から開始します。
f:id:bluebirdofoz:20180817005045j:plain

色々なサンプルシーンを選んで効果を確認してみましょう。
f:id:bluebirdofoz:20180817005056j:plain