[プログラミング不要]Unityで自作AR! Vuforiaで初心者でも簡単にARを作るやり方 

IT
この記事は約12分で読めます。
スポンサーリンク

昨今テーマパークやスマホゲームで身近に感じることのできることが多くなってきたAR。

今回はそんなARを自分で作ってしまおうというやり方の紹介です!

プログラミングをしたことのない人でも大丈夫!コードを一切書かずに実装することができます

ARとは

拡張現実(かくちょうげんじつ、英: Augmented Reality、オーグメンテッド・リアリティ、AR)とは、人が知覚する現実環境をコンピュータにより拡張する技術、およびコンピュータにより拡張された現実環境そのものを指す言葉。
英語の Augmented Reality の日本語訳であるため、その発音に基づいた日本語表記「オーグメンテッド・リアリティ」や省略形のARも用いられる。また、拡張現実感(かくちょうげんじつかん)、強化現実(きょうかげんじつ)、増強現実(ぞうきょうげんじつ)とも言う。似た言葉に複合現実 (MR) がある。

Wikipedia

ARとはAugmented Realityの略で、日本語にすると拡張現実といいます

有名なARの例でいうと、ポケモンGOのカメラ機能や自動車のフロントガラスに直接カーナビを表示するシステムなどが挙げられます

参考元:ポケモンGO公式ページ

似たような言葉にVR(Virtual Reality) 仮想現実 という言葉がありますが、両者の違いはコンピューターで作ったものの中に入るか、外から眺めるかの違いというイメージで表すことができます

  • AR → 現実世界にコンピューターで作った情報をプラスで表示(外から眺める)
  • VR→ コンピューターで作った世界の中に入る(中に入る)

ARの活用例や期待される例

ではARを応用するとどのように便利なものができるのでしょうか?

いくつかの例を紹介します

手術の補助

病院の外科手術を想像してみてください。ドラマなどでも目にしますが、手術を始める前に切るところを赤い線で描いていますよね。また、手術には執刀医の経験や知識が必要です。

逆に言えば経験の浅い執刀医は手術の手順や細かな位置に対する不安要素があったり、慣れているお医者さんでもトラブルが起こるなどのリスクがあります。

そこでARの活用事例の一つに手術の補助があります

イメージしてみてください。
手術室には台の上に患者さんが寝ていて、何人かのお医者さんが台の周りを囲っています。台の真上にはプロジェクターが設置されていて何かを患者さんに投影しています。また、台の横には透明なモニターがつけられていて、一人のお医者さんはそれを通して患者さんを見ています。

患者さんに投影されているプロジェクターはCTスキャンやレントゲンの画像を本人の体に重ねて映し出すことでどこに病気があるのかを視覚的に分かりやすくし、透明なモニターを通して患者さんをみることでバイタルなどの情報を得ることができます

もちろんお医者さんの手術の技術は必要ですが、リスクを回避する補助になることが期待されているのです

以下の動画はARを医療に用いる際のイメージ例の動画で、遠く離れた場所から専門医が手術の指示を出し、それをARで見ながら実行するといった例が示されています。遠隔地から手術ができるというのは有名なお医者さんや専門医の物理的距離を解消するとても大きな技術です。

STAR Project

観光の案内板

観光の案内板にもARが活用されることがあります。

昨今海外旅行者が数多く訪れるようになり、英語だけではなく韓国語や中国語、その他の言語での案内説明が必要となったり画像や記号を使ったわかりやすい案内が求められています。

ARの活用事例としては、スマホをかざすと求めている言語での説明が出たりその観光スポットの詳細情報など案内板+αの情報を表示するといったものです

ARのいいところは物理的な更新がいらないということ。案内板に直接書いている情報が変わったとしたら、載っている情報の訂正のために上からテープを張ったり案内板を作り替えたりする必要があります。テープで修正してある案内板なんかは見た目にも悪いですしわかりづらいですよね。

ARの場合は修正する情報がある場合は「ARで何を表示するか」という部分を変更すればいいので、物理的に修正をするよりも融通が利きます。また、情報の追加や音・動画といった追加コンテンツも容易に実装することができるので、観光客にとってわかりやすい説明や興味をそそるPRに有効な手段です

ARを作ろう!

ここから実際にARを作る方法を説明していきます。

ARの手順は簡単に言えば 登録する→読み取る→表示する というもの。

「登録する」で何をきっかけにARで情報を表示するのかを指定します。例えば

  • マーカーを読み込んだら
  • 位置情報がここに来たら

といった具合。今回は「マーカーを読み込んだら」というきっかけで作っていこうと思います。

「読み取る」では登録したものを実際にどう読み取るのかの設定。

  • カメラで映す
  • 位置情報を取得する

今回はマーカーを使用するので「カメラでマーカーを読み取る」という方式にします。

「表示する」ではマーカーを読み取った際に何を表示するか設定します。

  • 文字を出す
  • 音を鳴らす
  • 動画を映す
  • 画像を出す

など、出したい情報を設定してあげます。

では、実際に作っていきましょう!

ARを作るのに必要なもの

今回使うものは

  • Unity(無料のゲーム開発エンジン)
  • Vuforia(無料で使えるARコンテンツ作成のためのもの)
  • android端末(作ったARを動かす)
  • ペイントソフト

です。

注意事項としては、作ったARを動かすのを何にするかということ。

Unityでつくったコンテンツはいろいろなもので動かすことができるのですが、そのためには動かすものによって設定が必要になってきます。

Unityで何も作ったことがない・出力したことのない人はその設定を済ませなければ実際に動作させることができません

一例を示すと、

  • android端末 → SDK,JDKなどのインストール
  • IOS端末   → xcodeなどで端末に入れる環境
  • PC     → カメラが必要

Unityで作ったコンテンツをPCで動かすのは一番簡単ですが,AR表示のためにカメラを使うのでもとからカメラが付いているノートPCやウェブカメラなどの接続されたカメラが必要です。

IOS端末の場合は確か端末に入れなくてもPCとUSB接続すれば動作テストが簡単に行えたと思うので、調べてみてください(私自身詳しくないので割愛します)

Unityをインストール

まず初めにUnityというゲーム開発エンジンをインストールします。

下のリンクからUnityの公式サイトに飛べます

Download Unity!
Unity is the ultimate game development platform. Use Unity to build high-quality 3D and 2D games, deploy them across mobile, desktop, VR/AR, consoles or the Web...

リンク先にある「Unity Hubをダウンロード」をクリックしてください。するとダウンロードが始まりますので、ダウンロードできたらそれを起動しましょう。

Unity Hubのインストールが終わったら、実際にバージョンを指定してUnityをインストールします。UnityHubはいろんなUnityのバージョンを管理するようなものなので、実際にバージョンを指定してUnity本体をインストールする必要があります。

今回はUnity 2019.2.6f1 というバージョンにします

「インストール」から右上の青い「インストール」をクリックします

Unity2019.2.6f1を選択して「次へ」

するとモジュールの追加の設定になります。これはUnityでつくったものを動作させるのに必要な設定で、自分が動作させたいものを選択しましょう。

私はandroid,IOS,Windowsを選択しました。選択したら「実行」を押します。

しばらくするとインストールが完了します。

Unityプロジェクトを作成

次に、Unityのプロジェクトを作成します。これは「ARコンテンツをつくる」という作業スペースのようなものです。

「プロジェクト」の欄から「新規作成」をクリックします

すると次のような設定画面になりますので、「テンプレート」は「3D」を選択、あとは適当にプロジェクト名を変更し、保存先を指定して「作成」をクリックします。

プロジェクト名は「ARsample」なんかにしておくとよいと思います

「作成」を押してしばらくするとUnityが立ち上がります

Vforiaをインストール

次にUnityでARをするためのVuforiaというものをunityに読み込ませてやります。

Unityの画面で上のほうにある「Edit」→「Project Settings…」を選択します

出てきたウィンドウの左側から「Player」を選択し、下のほうにある「Vuforia Augmented Reality Supported」にチェックを入れます。

チェックを入れるとインストールが始まるのでしばらく待てばOK。

Vuforiaでの設定

次にUnityからはいったん離れて、Vuforiaの設定に入ります。

読み取るためのマーカーやARを作成するためのパッケージを準備するためです。

Vuforiaのホームページに移動しましょう。

Vuforia Developer Portal |

ホームページに移動したら、右上から「登録」をクリックしてアカウント登録を行います。

登録をしたらログインしておきましょう。

ログイン後、「ターゲットマネージャー」に行き右上の「データベースを追加」をクリックします

データベース名はUnityプロジェクトと同じ名前、「タイプ」は「端末」(Device)を選択し「作成する」をクリック

すると先ほどの「ターゲットマネージャー」に作成したデータベースが追加されていますので、そこをクリックして中に移動します。

その後、「ターゲットを追加」を押します。これは読み取るマーカーを登録するステップです。

以下のような画面になると思うので、「タイプ」は「単一画像」、「幅」は「1」に設定します。

「ファイル」の「ブラウズ」というところから自分がマーカーにしたい画像を選択してアップロードします。マーカーは何でもいいのですが、特徴量が豊富でないと機能しません。

私はペイントで適当に線を書いて塗りつぶした画像を使いました。⇩

マーカー画像を登録すると、ターゲットマネージャーに画像の情報が載っています。

「Rating」の星はその画像がマーカーとして機能しやすいかどうかを示しており、多いほど良いです。星が二つ以下の場合はもう少し特徴量の多そうな画像に変更しましょう。

この画面で「Status」がActiveになっていることを確認し、右上の「Download Database(All)」をクリックします。注意点として、google翻訳で日本語化しているとうまくいかないです。原文のページに再表示してから行いましょう。

以下のようなウィンドウが出てくるので、「Unity Editor」を選択して「Download」をクリックします。

するとUnityのパッケージがダウンロードできますので、ダウンロードが終わったらそれをダブルクリック。すると作ったUnityの画面が呼び出されてパッケージをインポートすることができます。

インポートの画面ではチェックボックスがありますが、何もいじらず「import」を押しましょう。

Unityでの作業

Vuforiaの準備があらかたできたので、実際にUnityでARを作っていきます。

Unityの画面に行ったら、まず初めにデフォルトで用意されている「Main Camera」を削除します。

「Main Camera」で右クリックをして「Delete」を選択し削除しましょう。

次にARに必要なものを設置していきます。

左上の「Create」から「Vuforia Engine」→「AR Camera」をクリック。

同様にして「Image」も設置しましょう。

さらに、ARで表示させたいものを設置します。今回はテストとして立方体を表示させてみたいと思うので、「3D Object」から「Cube」を選択しましょう。

ここまで設置できたら、設置した「Image Target」に登録した画像が表示されているか確認してみてください。(おそらく自動で設定されています。)

次にARで表示するものの設定です。先ほど設置したCubeをクリックして、y座標を0.5に設定しましょう。これはARマーカーを読み取ったらその上にCubeを表示するための設定です。

空中に表示したり埋まるように表示したりするのも面白いので後でいろいろと試してみてください

y座標を設定したら、CubeをImage Targetの子に設定します。
Unityのオブジェクト(設置したもの)には親子関係があり、そうすることでImageTargetを読み取ったら子要素を表示することができるのです。

左側のウィンドウで「Cube」をドラッグして「Image Target」の上でドロップすると子要素に設定することができます。

下の画像のようになっていればOK

Vuforiaのライセンスを登録

最後のステップです。ARを使うためにVuforiaのライセンスキーを登録します。

Unityで「AR Camera」を選択し、右側の欄から「Open Vuforia Engine configuration」をクリックします

すると次のような表示があるので、「Add License」をクリック。クリックするとVuforiaのサイトに移動します。

「License Manager」に行ったら、右側の「Get Development Key」をクリック。

設定画面になるので、「License Name」を設定し利用規約に同意したら「Confirm」をクリックしてライセンスキーを生成します

作成後「License Manager」に作ったライセンスが登録されているのでクリックして中に入ります。すると次のような表示になるので、灰色で囲まれている部分をコピーします。(画像では黒く塗りつぶしています)

コピーしたライセンスキーをUnityで先ほど表示した「Add License」の上にあるボックスにペーストして完了です。

完成!

これでARの作成は完了です!

Unity左上の「Build Settings」から動作させたい端末に出力するか、テストをして動作をみてみましょう

下の画像のように、マーカーを映したら立方体が表示されれば成功です!
(テストのためにPCで表示したマーカーをandroid端末で読み取っています)

まとめ

今回はARの紹介と、UnityとVuforiaを使って自分でARを作る方法を解説いたしました!

ARの表示自体はプログラミングが必要なく、とても簡単に行えることがわかりました。

ただ立方体を表示させるのではなく文字を表示したり音を鳴らしたり動画を流したり、、ARではいろいろな拡張が期待できますし、そのようなものを作りながら学んでいくのも面白いですね!

みなさんもぜひ自分オリジナルのARコンテンツを作成してみてください!

コメント

  1. kk1889 より:

    解説記事大変参考になります。動画を表示させる場合は、具体的にどのような設定を行ったらいいのでしょうか。よろしくお願いします。

タイトルとURLをコピーしました