Unity+VuforiaでAR開発-画像マーカーで複数のオブジェクトを表示させる

unity_vuforia_r_topimage

UnityでARの開発をしたいので検証メモ。

UnityでARの開発をする場合はARKitやARcore等がありますが、
今回は一度記事を書いた事があるVuforiaを使います。

今回の目標は、

JAL都道府県シールを画像マーカーにして、複数のオブジェクトを表示させる

です。

最初は低い目標から始めます。

jal_シール
JAL都道府県シール

「JAL TODOFUKEN SEAL(JAL都道府県シール)」

JAL都道府県シールは、2017年10月から2019年3月までJALが行っていたイベントで、搭乗中に客室乗務員にプレゼントしてもらえるシールです。

客室乗務員さんの出身地など、ゆかりのある都道府県が描かれた切手風のシールで、なかなか出会えない都道府県の客室乗務員さんとか、レアなシールがあったり、コンプリートすると「コンプリートシール」をJALから貰えたりと、とても収集欲を促すゲーム性のあるイベントでした。

2019年11月7日から電子スタンプ「JAL TODOFUKEN STAMP」が始まってます。

使用機材:windows10 PC

webCam: logicool HD Pro Webcam C920

Unityのバージョン:Unity 2019 .2.17f1

マーカー画像:JAL都道府県シール

以前もUnityでVuforiaを使った記事を書いたことがありますが、
その時はVuforiaが配布していたカードを使って、サンプルを表示しただけなので、
今回はマーカーにする画像の登録からやってみます。



UnityでAR 2つのマーカーの距離に応じてスケールが変化するオブジェクト[vuforia]

Vuforiaライセンスキー取得

VuforiaでARを扱うにはライセンスキーを取得する必要があります。
VuforiaのDeveloperのポータルサイトにいってログインします。

vuforia_developer_log
https://developer.vuforia.com

筆者の登録は以前の記事の段階で済んでいるので、サクッとログインします。

VuforiaでARを使うためのライセンスキーを取得します。
[Get Development Key] をクリック

Get Development Key

ライセンスネームを記入して [Confirm] をクリック
ライセンスネームはUnityのプロジェクトごとに複数取得できて後で変更可能なので、
ここでは適当に記入しても問題ありません。

筆者は「Vuforia_jal_ar」といれて [Confirm] をクリック

License Name

ライセンスネームが登録されました

License Name set

ライセンスネームをクリックすると

VuforiaでARを使うためのライセンスキーが表示されます。

これをコピーして後でUnityにペーストします。

License Key

ARのマーカーにする画像を登録する為に画像ファイルのデータベース作成

Target Manager のタブを選択

Target Manager tab

VuforiaのARで画像マーカーに使用する登録画像用データベースが必要なので。

[Add Database] をクリック

add database
Databaseの作成
 

データベースの名前を記入して [Device] を選択して [Create] をクリック

Databaseの作成

データベース名 「lj_Database」 が作られました。

databese_lj_Database

ARのマーカーにする画像ファイルをアップロード

データベース名 「lj_Database」 をクリックすると登録した画像ファイルの
リスト表示画面になります。
データベースを作ったばかりなので今は何もありません。

それではマーカーにしたい画像ファイルをアップロードします。
[Add Target]をクリック

Add Target

画像を登録したいので [Single Image] を選択

File: Browseボタンからローカルの画像ファイルを選びます。
widht: 実物のARに使用する画像マーカーの大きさを入力します。
1m はUnityの 1 と考えて 10cm は 0.1、1cm は 0.01

都道府県シールはだいたい5cmなので 0.05 にしました。

記入したら [Add] をクリック

Single Image

複数の画像を登録しました。

画像登録したデータベースをダウンロードします。

[Download Database(All)] をクリック

Download Database(All)

ARのマーカーにする画像を登録したDatabase(Package)をダウンロード

Unityで使うので、[Unity Editor] を選んで [Download] ダウンロードします。

Database(Package)をダウンロード

Packageとしてダウンロードされました。

Database(Package)

Vuforiaを扱うためのUnityの設定

Edit > Project Settings > Player

XR Settings の項目から

[Vuforia Augmented Reality Supported]

をチェック

XR Settings

チェックしました。

Vuforia Augmented Reality Supported

インストールが終了

VuforiaのAR用カメラを使うのでMain Camera を削除します

Main Camera delete

Hierarchy で 右クリック
Vuforia Engine の項目が追加されてます。

VuforiaのAR用カメラを追加します。

Vuforia Engine > AR Camera

ARcamera

[Accept]

accept

AR Camera が追加されました。

ARcamera add

Window > VuforiaConfigurationを選択

VuforiaConfiguration

App License Key の欄に取得したライセンスキーをペーストします。

App License Key

コピーしたライセンスキーをペーストしました。

App License Key ペースト

ダウンロードした画像のデータベース(Package)をインポートします。

import Package
Database(Package)

パッケージをインポート
[Import]
import

Unityの事前設定完了しました。やっとvuforiaが扱えます。


Image Targetに画像マーカーを設定してオブジェクト表示

Image Target を作ります。

Image Target

Image Target の Inspector に登録した画像が出てきました。

Image Target Inspector

Image Target Behaviour の

Image Target に 他の画像もありました。

Image Target Behaviour

とりあえず一つ選びます。OSAKA を選択しました。

select osaka

Image Target の下に表示したいオブジェクトを作ります。

OSAKAマーカーで表示されるオブジェクトCubeを作りました。

cube add

配置します。

cube setting

今回はWebCamを使うのでカメラを選びます。

AR Camera のInspector

Vuforia Behaviour の
[Open Vuforia Engine configuration] をクリック

VuforiaConfiguration を開きます

Open Vuforia Engine configuration

Webcam の項目

Camera Device から logicool HD Pro Webcam C920 を選択

select webcam

実行

表示されました。
最初はライトの光が強すぎて画像認識がうまくいかなかったのですが、ライトを弱くしたら成功しました。

play 1

Image Targetを増やして複数の画像マーカーを設定

複数出す場合はどうするのか分からない。

とりあえず Image Target を増やします。

add imageTarget num3

それぞれの Image Target に別々の画像とオブジェクトを作ります

都道府県シール「HIROSHIMA 」と 「IWATE」にしました。

HIROSHIMA に Sphere
IWATE に Cylinder

を設定

あれ? 複数同時に表示されない

play 2

複数のオブジェクトを表示

VuforiaConfiguration を開きます

Max Simultaneous Tracked Image で 同時にマーカー認識出来るMAXの数字にするようです。

3に変えました。

Max Simultaneous Tracked Image

実行

良かった3つ同時に表示されました。 成功です

play 3

おわりに

とりあえず 目標だった  複数のオブジェクトを表示させる ことは出来ました。

オブジェクトをAR表示させる事自体は比較的楽にいけたので、これからもっと複雑な事が出来るように
いろいろと試してみたいと思います。

UnityでAR 画像マーカーの周りを回転[vuforia]

UnityでAR マーカーに追従しないでその場に留まるオブジェクト[vuforia]


オススメの関連記事:

jal_ar_flexibility_anim03

UnityでAR 2つの画像マーカーの距離に応じて伸び縮みするオブジェクト[vuforia]

JAL都道府県シールを画像マーカーにしてUnity×vuforiaのARを検証するのも今回で4回目です。

jal_ar_pos_stay18

UnityでAR マーカーに追従しないでその場に留まるオブジェクト[vuforia]

今回の目標「画像マーカーを移動しても出現位置に留まるオブジェクト」画像マーカーはワールド座標で表示され


スポンサーリンク
コチラの記事も読まれています