テラシュールブログ

旧テラシュールウェアブログUnity記事。主にUnityのTipsやAR・VR、ニコニコ動画についてのメモを残します。

ARマーカーが外れてもトラッキングする機能で、スカートの中を覗く事が出来るのか?

今回はARマーカー外でも追跡するARを作成する方法について紹介します。

この記事はUnity Advent Calendar 2014 の参加記事です。

「参照関係の見える化する奴を自慢する」と言ったな? あれは嘘だ。

 

f:id:tsubaki_t1:20141203212155p:plain

ARマーカーでARをやる以上、ARマーカーの参照が切れるとトラッキングが解除され追跡が出来なくなります。コレに対し「ジャイロセンサー」や「加速度センサー」等を用いてトラッキングするアイディアがありますが、これは余りにも現実の値との差があり上手く行きません(端末が固定なら何とか出来そうではありますが)

 

で、マーカーレスARとかその話になる訳ですが、実はVuforiaはのExtended Trackingを使用するとマーカー外もトラッキングする事ができます。


Vuforia SDK 2.8: Now with Extended Tracking - YouTube

目次

マーカーが外れても追跡するExtended Tracking

Extended Trackingはマーカーから外れてもモデルや座標をと追跡出来る機能です。この機能を設定していると、例えば地面にマーカーがある状態で顔を覗きこむような事をしても(この場合、カメラ外にマーカーがあるため普通はトラッキングが切れる)きちんとキャラクターを追跡してくれます。(このARのマーカーは、下にあるきのこの山です)

f:id:tsubaki_t1:20141203212933p:plain

このExtended Trackingのギミックは、どうやら「背景の画像の特徴点を検出し、それを追跡する」事みたいです。つまりリアルタイムに背景の特徴点の動きを検出し、それを追跡します。

これの凄い所は特徴点が連続しているならば、マーカーを消しても追跡できる点にあります。例えば一旦マーカーを検出後に画面外へカメラを移動し、カメラを戻してもARは正しくトラッキングする事が出来ます。

 

勿論問題もあります。一つ目は糞重い事です。iPhone 5sクラスならば大丈夫ですが、iPhone 4やHTC Oneでは非常に重いため、しばしば動きがガクガクします。

また、背景をトラッキングしている関係上、背景が動くと追跡に不整合が発生します。このため交差点のような激しい所では使えません。

追撃の悪い点として、この機能は「マーカーが動かない」事を想定しているため、マーカーを動かしても動きが鈍いです。

Extended Tracking の設定方法

超簡単です。


【Unity】Vuforiaとユニティちゃんを使ってARアプリケーションを作る - プログラムは、用いる言葉の選択で決まる

 

普通にここの手順みたいな感じでARマーカーを設定し、後はImage TargetのExtended Trackingにチェックを入れるだけです。

これでマーカーは静的な物的な感じになり、画面外に移動しても追跡するようになります。

f:id:tsubaki_t1:20141203205016p:plain

例えばコレに4.6のCharacter Controllerを突っ込めば、AR画面内を動き回るゲームが作れそうです。また*1ラッキングの機能だけ使ってHMDに突っ込めば擬似ヘッドトラッキングが出来たりします*2


Unity内でMMDモデルを自由に走らせる手軽な方法 - テラシュールブログ

f:id:tsubaki_t1:20141203213033g:plain

で、パンツは?

結論から言えば難しいです。理由は2つ。

一つは下から覗き込む形がExtended Trackingと相性が悪い点です。要するに壁が汚ければ追跡出来るのですが、壁に何もない状態だと余り上手い感じにトラッキングしてくれません。また接地面というシビアな設定に対して少々あいまいすぎる所もあります。

2つ目の理由は、「下から覗き込む」形で見た場合、足の裏が見えてしまう為です。この辺りはシェーダーで抜き取れば何とかなりそうですが、めり込むのは正直なんというかアレです。

やり方は色々とありそうですが、とりあえず面倒そう。

 

なので、マーカーレスの方法は諦めて、立方体のARマーカーにする方法を試してみます。

立方体のARマーカー

Vuforiaは単純な二次元画像マーカーだけでなく、立方体や筒・正方形といった形状のマーカーを作成することが出来ます。

Metarioは確かより複雑な(プラモデルのような)物のトラッキングが出来るとの噂ですが、試してないのでわかりません。

 

とりあえずマーカーの種類を Cuboidにしてマーカーを作成します。

f:id:tsubaki_t1:20141203190421p:plain

f:id:tsubaki_t1:20141203190621p:plain

画像は市販のきのこの山を撮影して切り抜きました。本当は正方形に近いもののほうが良いですが。

f:id:tsubaki_t1:20141203192048p:plain

これで作成したマーカーをMulti Targetに指定してやれば準備は完了です。他の項目はいつもの様に。

 

これでマーカーを作成する事により、上からの視点にも反応し下からえぐるように見てもトラッキングする事が可能になります。ちなみに正面にデカイポスターを置いて、それをトラッキングするのも可。

マーカーレスじゃなくても色々やろうと思えば出来ますね。

f:id:tsubaki_t1:20141203210306p:plain

f:id:tsubaki_t1:20141203211247p:plain

次回はtomotacoさんの今さらですが柳沢PIC形式の画像を読込むです。

*1:パフォーマンスが足りるなら

*2:高速で動くとトラッキングが外れますが、嫁を愛でるだけなら十分使えます