前回はQuickstart編
今回はImage Tracking編で
https://developer.nreal.ai/develop/unity/image-tracking
を見ていきます!
Introduction (導入)
画像追跡機能には画像やロゴなどを使用できる。
順序としては
- Unityの画像データベースに登録
- アプリをビルド
- 画像を印刷
- Nrealで画像を見る
の順番となりそうです。
Capabilities (何できる?)
- 所定の位置に固定された画像の検出と追跡
- 動いている画像の検出と追跡
- 追跡開始後、画像の位置、回転、スケールの推定を継続的に行う
- 1つの環境内で10個の画像を記憶できる。 しかし、現在のバージョンでは、**これらの画像を同時に追跡することはできない。**したがって、各フレームで追跡できる画像は1つだけです。さらに、同じ画像の複数インスタンスも追跡しません。
複数同時画像トラッキングに関して、今はできないようです。
Requirements (これはやってね)
Image Selection Checklist(画像選択のチェックリスト)
- 最低限
- jpeg形式
- グレースケール or RGBカラー
- dpi値が150以上
- 印刷された画像は1m×1m未満
- より良い推定のために
- 特徴点が分散している
- 真っ白or真っ黒な画像はやめよう
- 自己類似度が低い画像
- 同じ模様の繰り返しのような画像は避けよう
- NRSDKは追跡品質を評価できる
- 一定以上の追跡頻出でなければならない
- 特徴点が分散している
- オリジナルの画像をデザインする場合
- Adobe PhotoshopではなくAdobe Illustratorでエクスポートするほうがおすすめ
Image Tracking Condition Requirement (画像追跡する時のお願い)
- 光沢な印刷紙より、光の反射が少ない印刷紙が良い
- 画像追跡を初める良い方法は、画像を少し角度を付けて表示しながら、画像を平坦で歪みのない状態に保つことが良い。
良い画像、悪い画像の例
https://developer.nreal.ai/develop/unity/image-tracking
Image Tracking Tutorial (やってみよう)
nreal developerページをざっと読んでみた (Quickstart編)
でQuickStartしている前提で進めます。
Build and Run the Sample App (早速試そうぜ)
ビルドする前に、Build SettingでAssets > NRSDK > Demos > ImageTracking
のシーンが選択されていることを確認してください。
ケーブルを繋いでBuild and Run。
すると、指定の画像を見るとトラッキングするようになります。
指定の画像はAssets>NRSDK>Demos>TrackingImage>Images
にあります。
Create the Database File (画像データベースを作ろう)
Unity内で画像を選択して右クリックして、Create/NRSDK/TrackingImageDatabase
を選択すると新しく画像データベースが生成される。
ポイントは
- Quality Scoreが65以上が好ましい
- Width(m)は実際の画像のサイズを等しくする必要がある
Set the Database File (データベースファイルをセットしよう)
プロジェクトウィンドウからAssets/NRSDK/
にてNRKernalSessionConfig
を開く。
そして、Tracking Image Database部分を入れ替える。
Get Tracked Image (追跡された画像を取得)
Assets > NRSDK > Demos > TrackingImage > Scripts > MarkerDetecter.cs
を見て、
NRSession.GetTrackables<NRTrackableImage>(m_NewMarkers, TrackableQueryFilter.New);
これが取得している例だよ。
m_NewMarkers
にトラッキングした画像情報が入るみたいです。
Next Step
次はNreal Controller編、見てね!