LoginSignup
7
5

More than 1 year has passed since last update.

[Unity]マーカーを使ってオブジェクトを出そう

Posted at

はじめに

UnityのAR Foundationを使うと写真やロゴなどをマークとして認識し、
そこを基準としてオブジェクトの生成などが行えます。
アイデア次第で色々な表現ができるので是非やってみてください!

この記事を読むとこんなことができるようになる

XRecorder_11102022_013549_5.gif

名称未設定_2.gif

解説

環境

  • UnityHub 3.0.1
  • Unity 2021.3

準備

プロジェクトの作成

プロジェクトの作成はテンプレート使って簡単に作れますので、こちらを参照してください。

リソースの準備

マーカーとして必要な画像を1枚用意してください。
身近にあるカード(Suicaとかクレジットカードとか)の画像があると、
そのカードで試せるためおすすめです。

お手頃のものがなければこちらを使用してください。
自分が作った著作権フリーの画像ですので、読みやすいように加工などもしてもOKです。
icon2.png

シーンの準備

通常であれば、ARを使用するシーンではMain Cameraを削除してARSessonオブジェクトなどを配置する必要があります。
テンプレートには既にそういったシーンの設定が済まされている「BlankAR」というシーンを用意してくれているのでそれを使用します。

実装

参照する画像の登録

  • プロジェクトウィンドウ内で右クリック

  • Create > XR > Reference Image Libraryを選択
    スクリーンショット 2022-10-11 0.05.57.png

  • 作成されたReferenceImageLibrary.assetを選択し、インスペクターウィンドウに表示される[Add Image]をクリック
    スクリーンショット 2022-10-11 0.29.36.png

  • マーカーとして使用する画像をドラッグ&ドロップ

  • [Specify Size]にチェック

  • マーカーの実物サイズを入力
    スクリーンショット 2022-10-11 0.41.05.png

実物サイズとは?

UniyのTransformはメートル表記です。
つまりScaleが1ずつなら、縦・横・奥が1mの物体になります。
スクリーンショット 2022-10-11 1.00.54.png

なので10cm*10cmのマーカーを作りたいのであれば0.1と入力してください。

シーンの設定

  • シーン内にある[AR Session Origin]に[AR Tracked Image Manager]スクリプトを追加
  • [Serialized Library]にReferenceImageLibrary.assetをドラッグ&ドロップ
  • [Max Number of Moving Images]を1に設定
  • [Tracked Image Prefab]にマークに表示したいプレハブを設定
    スクリーンショット 2022-10-11 1.09.33.png

出力

Pasmoをマークにして線路図を表示してみる
XRecorder_11102022_013549_5.gif

Unityちゃんをだしてみる
名称未設定_2.gif

うまくいかない場合は以下の項目をチェックしてみてください

  • 表示するプレハブのPositionやScaleが正しく設定されているか
  • マーカーに登録した実物サイズは適正であるか

おわり

ARグラスなどが普及してきてそろそろAR用のUIがあるアプリとか出てくると思います。
そう考えると色々なアイデアが出てきてワクワクします。

参考させて頂いたURL
https://docs.unity3d.com/Packages/com.unity.xr.arfoundation@2.2/manual/tracked-image-manager.html

7
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
5