UnityでOpenCV plus Unityを動かす環境構築

2022.8.14

UnityでOpenCV plus Unityを動かす環境を構築したのでその作業記録です。

端末の環境

System Version: macOS 11.6.2 (20G314)
Kernel Version: Darwin 20.6.0
Boot Volume:    Macintosh HD
Model Name: MacBook Air
Model Identifier:   MacBookAir10,1
Chip:   Apple M1
Total Number of Cores:  8 (4 performance and 4 efficiency)
Memory: 8 GB
System Firmware Version:    7429.61.2
OS Loader Version:  6723.140.2

Unity Hubのインストール

こちらからUnity Hubをインストールします。

https://unity.com/download

Unity Hubを起動してログインします。

Unity Hubから新規プロジェクトを作成

今回使用するUnityのバージョンは 2021.3.7f1 です。

Coreを選択して3Dを選択してCreate projectをクリックします。

https://user-images.githubusercontent.com/1194571/184542128-7414d6ef-5542-4a46-87e0-4ad90cc696ab.png

OpenCV plus Unityのインストール

こちらのページからマイアセットに追加します。

https://assetstore.unity.com/packages/tools/integration/opencv-plus-unity-85928?locale=ja-JP

追加できたら、UnityのPackage ManagerからDownloadボタンを押してダウンロードします。

https://user-images.githubusercontent.com/1194571/184542155-745f6829-5c37-4222-a1f3-bc55bed08b01.png

ダウンロードが終わるとImportできるようになるのでImportボタンをクリックします。

https://user-images.githubusercontent.com/1194571/184542177-9be385c6-7ee6-417f-aea4-343c4c3a2616.png

Importが終わるとProjectの中にOpenCV+Unityが表示されます。

https://user-images.githubusercontent.com/1194571/184542196-ff38f51b-9e07-4247-aa21-bf68b1cc8652.png

こちらの記事を参考にFile>BuildSettings>PlayerSettingsを開いてOtherSettingsの"Allow 'unsafe' Code"の部分にチェックを入れます。

https://user-images.githubusercontent.com/1194571/184542220-28f49d7b-746d-4b6b-8349-7f6c6fc48c52.png

デモを動かす

ひとまずデモを表示させてみます。Assets > OpenCV + Unity > DemoLiveSketch_WebCamを起動します。自分のWebカメラが映像がスケッチのようになるエフェクトが再生されます。

https://user-images.githubusercontent.com/1194571/184542248-f24078e7-1026-4013-8cf7-1fb1cdd6db92.png

後日起動時にエラーが出た

後日、プロジェクトを起動すると下記のようなエラーが出ました。

error CS0227: Unsafe code may only appear if compiling with /unsafe. Enable "Allow 'unsafe' code" in Player Settings to fix this error.

https://user-images.githubusercontent.com/1194571/184542291-98c2c530-0122-4981-a0d6-552412e96e58.png

C++で見かけるポインタをC#で使っているから出ているエラーのようでした。

再度、File>BuildSettings>PlayerSettingsを開いてOtherSettingsの"Allow 'unsafe' Code"の部分にチェックを入れます。するとエラーは解消されました。

© 2019-2022 kwst.site.