Unity 2019.4 LTS で Vuforia のセットアップ

# この記事の内容
Unity 2019.3 から XR (VR,AR,MR) の扱いが変更され，XR 関係の設定は従来あった Edit > Project Settings > Player > XR Settings から Edit > Project Settings > XR Plug-in Management に移動している．Unity 2019.3 以降の環境における，AR/MR 開発環境の Vuforia の利用手順を確認する．以下の手順に従って準備する．
https://library.vuforia.com/articles/Training/getting-started-with-vuforia-in-unity.html

## 環境
- Unity: 2019.4.1f1
- Vuforia: 8.5.9
- OS: Windows 10 Home (1909)
- カメラ: Logicool C922 Pro Stream Webcam

## 参考
https://docs.unity3d.com/Manual/com.ptc.vuforia.engine.html
https://library.vuforia.com/

# Package Vuforia Engine AR の導入
パッケージ Vuforia Engine AR を用意する必要がある．
Window > Package Manager を開く．
<img width="633" alt="2020-07-15_17h17_37.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/53034/0e3054fd-b709-d6a1-608d-291ff29e354d.png">
Vuforia Engine AR (バージョンは異なる可能性がある)を選択し，インストールする．
<img width="351" alt="2020-07-15_17h21_59.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/53034/f7afbdf9-3990-4c66-0f60-b544e45b14c3.png">
インストールされるとチェックがONになる．
<img width="351" alt="2020-07-15_17h32_54.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/53034/45a6b5c6-02b4-9e93-fd8f-feb60cfb89f2.png">

# 平面画像マーカの利用
パッケージに標準で用意されている平面画像マーカを利用する．
デフォルトの Main Camera を削除する．
<img width="633" alt="2020-07-15_17h59_20.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/53034/d1856fd5-ea01-0c1e-5e03-1d5c5c4f384d.png">
GameObject > Vuforia Engine > AR Camera を追加する．
<img width="633" alt="2020-07-15_18h02_04.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/53034/d4764c89-04eb-c12f-05d4-575b05cca7f2.png">
GameObject > Vuforia Engine > image を追加する．
<img width="633" alt="2020-07-15_18h10_30.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/53034/d0b97f96-77dd-7fea-c82a-0b48e4d3f38b.png">
初回はマーカになる画像データベースが存在しないため，デフォルトのデータベースをインポートするかたずねられる．Importする．
<img width="195" alt="2020-07-15_18h11_52.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/53034/0765ddc1-74a2-4e3b-7c92-e4ccef4d430b.png">
Image Target が追加される．追跡する画像は Inspector の Image Target Behaviour で選択できる．
<img width="633" alt="2020-07-15_18h22_22.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/53034/8aa73e55-ece5-3796-a4cc-1579ff1d6dde.png">
マーカ画像を紙に印刷する(もしくはモバイルデバイスの画面に表示する)必要がある．デフォルトのデータベースの画像は Assets > Editor > Vuforia > ForPrint > ImageTargets にある target_images_USLetter.pdf に格納されている．
<img width="633" alt="2020-07-15_22h15_23.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/53034/56aedfea-b45a-ec20-2325-9818a6a92710.png">
通常，ダブルクリックすると OS で設定している PDF ビューワが起動するので，印刷する．
<img width="512" alt="2020-07-15_22h16_59.jpg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/53034/b42117ed-fabf-2f7b-1690-3cc2599b6c62.jpeg">
マーカ上に表示する物体は，マーカの子オブジェクトとして設定する．さしあたりデフォルトで用意されている Cube を設置することとし，GameObject > 3D Object > Cube を選択する．Image Target の子オブジェクトにし，Position を (0, 0.4, 0) に，Scale を (0.5, 0.5, 0.5) に設定する．
<img width="633" alt="2020-07-15_18h59_31.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/53034/30058066-0300-d11a-5884-386b4abe2808.png">
実行してマーカを提示すると，カメラ画像のマーカ上にオブジェクトが表示される．
<img width="633" alt="2020-07-15_19h01_49.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/53034/a8ad5e9f-de4f-ab42-8f3e-87ffcae5575b.png">
実行中に Image Target の位置姿勢を観察すると，カメラ画像内のマーカの位置に合わせて変動していることがわかる．
<img width="633" alt="2020-07-15_23h10_45.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/53034/26d50a4f-d8e0-ca95-9b68-5398aab506f6.png">

# 自前の画像をマーカとして利用 (概略のみ説明)
- 画像を準備する．マーカに適した画像のガイドライン: https://library.vuforia.com/content/vuforia-library/en/features/images/image-targets/best-practices-for-designing-and-developing-image-based-targets.html
- Vuforia Developer Account の登録をする． https://developer.vuforia.com/vui/auth/register
- License Manager で Development License Key を取得し，Unity の Window > Vuforia Configulation の App License Key に登録(コピー&ペースト)する．
- Target Manager で Database (Type: Device) を作成する．
- マーカとして用いる画像を印刷，および Target Manager にアップロード(長辺の実サイズを m で入力)する．
- 解析処理が完了したら Database をダウンロードし，Unity のプロジェクトにインポートする．
- Image Target で追跡する画像を Inspector の Image Target Behaviour で選択する．