本日は 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
また HoloLensWithOpenCVForUnityExample は HoloLensCameraStream のプラグイン(DLL)を利用します。
HoloLensCameraStream のリポジトリにビルド済みのものが含まれています。
以下の DOWNLOAD ZIP から HoloLensCameraStream のリポジトリを取得しておきます。
github.com
※ または HoloLensCameraStream のソリューションをビルドしてプラグイン(DLL)を作成することも可能です。
プロジェクトの作成
以下の手順ページの「HoloLens(WindowsMR) プロジェクトの基本設定」までを実施したプロジェクトを作成します。
bluebirdofoz.hatenablog.com
※ 今回は OpenCV for Unity のサンプルシーンを利用するため、Scene の設定は行わなくても問題ありません。
プロジェクトのセットアップ
AssetStore で「OpenCV For Unity」を検索します。
「OpenCV For Unity」のページを開き、「Import」をクリックします。
「Import Unity Package」ダイアログが開くので「Import」ボタンをクリックします。
「OpenCV For Unity」のインポートが完了したら、次にプラグインのインポート設定を行います。
メニューから Tools -> OpenCV for Unity -> Set Plugin Import Setings を選択します。
Assets 配下に StreamingAssets フォルダを作成します。
Assets 直下で右クリックし、Create -> Folder を選択し、作成したフォルダの名前を StreamingAssets に変更します。
以下のファイルを作成した Assets/StreamingAssets フォルダに移動します。
・OpenCVForUnity\StreamingAssets\haarcascade_frontalface_alt.xml
・OpenCVForUnity\StreamingAssets\lbpcascade_frontalface.xml
次にダウンロードしておいた HoloLensCameraStream のリポジトリから以下のフォルダをコピーします。
・HoloLensVideoCaptureExample\Assets\CamStream
これをそのまま Unity プロジェクトの Assets 配下に貼りつけます。
・Assets\CamStream
HoloLensWithOpenCVForUnityExample のインポート
Unity を開いた状態で HoloLensWithOpenCVForUnityExample.unitypackage を実行してインポートを開始します。
「Import Unity Package」ダイアログが開くので「Import」ボタンをクリックします。
HoloLensWithOpenCVForUnityExample のサンプルシーンを利用するには WebCam の Capabillity を設定する必要があります。
メニューから Mixed Reality Toolkit -> Configure -> Apply UWP Capability Settings を開きます。
「Apply UWP Capability Settings」ダイアログが開くので、「WebCam」にチェックを入れて「Apply」を実行します。
最後に、サンプルシーンを設定します。メニューから File -> Build Settings を開きます。
「Build Settings」ダイアログが開くので Scenes In Build パネルにシーンを追加していきます。
Assets\HoloLensWithOpenCVForUnityExample 配下にある unity ファイルをドラッグして追加します。
このとき、一番初めに HoloLensWithOpenCVForUnityExample.unity を追加しておきます。
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 が来ていることを確認してください。
後は通常の UWP アプリと同様にビルドを実施します。
HoloLens 上でアプリを起動すると、以下のようにサンプルシーンの一覧画面から開始します。
色々なサンプルシーンを選んで効果を確認してみましょう。