Quantcast
Channel: かずきのBlog@hatena
Viewing all articles
Browse latest Browse all 1387

Vuforia で認識中のオブジェクトの位置をトラッキングしたい

$
0
0

Vuforiaで簡単に任意のマーカーを認識させることが出来るらしい。

かっこいい! しかも、カメラから見て、どれくらいの位置にあるのか?とかどれくらい傾いてるのか?という情報がとれるらしい。凄い。

開発で試すのには無料っぽいので登録してみましょう。あと、Unity 2017.2 あたりからは Unity に組み込まれてるので使うのも簡単!

Vuforia Developer Portal |

HoloLens でも使える!すごい!

azure-recipe.kc-cloud.jp

さて、実際に認識まではさくっといけるのですがオブジェクトがカメラから見てどの位置にいるのかを取得するときのポイントなどを…

  • ImageTargetのサイズは現実世界にあるマーカーのサイズと一致させる必要があります。これがあってないと、位置があわなかったりします。
  • ARCameraWorld Center ModeCAMERAにします。これで世界の中心はカメラ!ということで ImageTargettransformの各種プロパティから情報が引っこ抜けます。
  • 認識されてる間だけ情報を抜きたかったら、ITrackableEventHandlerを以下のような要領で実装したクラスを ImageTargetにアタッチしてあげればいい
publicclass TrackingHandler : MonoBehaviour, ITrackableEventHandler
{
    private GameObject target;

    private TrackableBehaviour trackableBehaviour;

    private TrackableBehaviour.Status currentStatus;

    privatevoid Start()
    {
        this.trackableBehaviour = this.GetComponent<TrackableBehaviour>();
        this.trackableBehaviour.RegisterTrackableEventHandler(this); // これ大事
    }

    privatevoid Update()
    {
        if (this.currentStatus == TrackableBehaviour.Status.TRACKED)
        {
            // ここでトラッキングできてるときの処理とか
        }
    }

    publicvoid OnTrackableStateChanged(TrackableBehaviour.Status previousStatus, TrackableBehaviour.Status newStatus)
    {
        this.currentStatus = newStatus;
    }
}

なかなか、面白いね!Vuforia!!


Viewing all articles
Browse latest Browse all 1387

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>