おもちゃラボ

Unityで遊びを作っていきます

【AR Foundation】マーカーを使ったARを作る

この記事では、AR Foundationでマーカーを使ったARを作る方法を紹介します。マーカー型のARといえばVuforiaが有名でしたが、ARKit3からはARKit/ARCoreでも精度よくロバストな検出ができるようになっています。

f:id:nn_hokuson:20201109131911j:plain:w650

AR Foundationの基礎になっているARKitについては「swiftで作る ARKit超入門」がオススメです!こちらも、ぜひご参照ください。
booth.pm

今回の目次は次のとおりです。

プロジェクトの作成と準備

AR Foundationを使ったプロジェクトの作り方と、その準備についてはこちらの記事に詳しく説明しています。

nn-hokuson.hatenablog.com

ここでは、ヒエラルキーウインドウにAR SessionとAR Session Originオブジェクトを配置し終えたところからスタートします。

f:id:nn_hokuson:20201108093632j:plain

AR Foundationでマーカーを使ったARを作る流れは次のとおりです。

  1. ARマーカー用のライブラリを作成
  2. 作成したライブラリにARマーカーを登録
  3. 登録したARマーカーに紐付けるモデルを指定

それではこの流れに沿って、ARを表示する手順を見ていきましょう。

ARマーカーのライブラリを作成する

AR Foundationでマーカーを使ったARを作る場合、まずはARマーカーにしたい画像をライブラリに登録します。

まずはARマーカーのライブラリを作成します。ライブラリを作成するにはプロジェクトウィンドウで右クリック→Create→XR→Reference Image Libraryを選択してください。

f:id:nn_hokuson:20201108093641p:plain:w500

次に、作成したImage LibraryにARマーカーを登録します。作成したReference Image Libraryを選択して、インスペクタからAdd Imageのボタンをクリックします。

f:id:nn_hokuson:20201108093655j:plain

新しくARマーカーを登録する画面が表示されるので、ARマーカーをドラッグ&ドロップします。

次に「Specify Size」 にチェックを入れ、ARマーカーの実物サイズを指定します。入力はメートル単位なので、例えば5cm x 5cmのマーカーであれば0.05と入力してください。このARマーカーの物理サイズを指定しないと実行時にエラーになるので注意です!

f:id:nn_hokuson:20201108093714j:plain

AR Tracked Image Managerの設定

ARマーカーライブラリの作成ができたので、次はこのライブラリをTracked Image Managerに登録します。Tracked Image Managerでは

  • ARマーカーライブラリの登録
  • ARマーカーの個数の上限
  • ARマーカーが検出されたときに表示するARモデルの登録

の設定を行います。

まずはヒエラルキーウインドウでAR Session Originを選択して、インスペクタのAdd Componentから「AR Tracked Image Manager」をアタッチします。

f:id:nn_hokuson:20201108093843j:plain

次にSerialized Libraryの欄に、作成したReferenceImageLibraryをドラッグ&ドロップします。また、Max Number of Moving Imagesにトラッキングするマーカーの個数、Tracked Image PrefabにARマーカーが検出されたときに表示するARモデルを設定します。

f:id:nn_hokuson:20201108093748j:plain

これでAR Tracked Image Managerの設定は終わりです。最後にAR Foundationの各種設定を次の記事を参考にして行い、実行してみてください。

nn-hokuson.hatenablog.com

ARマーカーの上に指定したARモデルが表示されれば成功です!

f:id:nn_hokuson:20201109133455g:plain:w450

まとめ

この記事では、AR Foundationを使ってマーカー型のARを表示する方法を紹介しました。AR Foundationではマーカーを使ったARの他にも色々と面白い機能がありますので、こちらも今後、紹介していきたいと思います。