RAKUS Developers Blog | ラクス エンジニアブログ

株式会社ラクスのエンジニアブログ

ARKit + Unityのサンプルアプリで手軽にAR体験

こんにちはsts-250rrです。

今回は最近リリースされたiPhoneのOSであるiOS11から追加された「ARKit」を少し触ってみましたので紹介したいと思います。

あまり業務的ではありませんが、昨年はVR元年と言われ3D関連は少しだけホットな話題ですよね。インタラクティブな内容になっていますがお付き合いいただければ幸いです。

ARKitってなに?

ARKitはその名の通りAR(拡張現実:Augmented Reality)なアプリケーションを開発するためのフレームワークです。

何か特別なセンサー類を用意せずともARアプリの開発が可能になったためハードルは下がったのではないかと思います。

ARKitでの開発を始めるために必要なものは以下のものです。

ハードウェア
  • Mac macOS Sierra以降
  • iPhone 6s以降でiOS11が入っているもの
ソフトウェア
  • Unity version5.6.2以降
  • Unity ARKit Plugin
  • Xcode version9以降
Apple Developer のライセンス
  • 今回はAppStoreに公開するわけではないため無料のもので良いです。 無料ライセンスでもアプリを3つまでiOSバイスに転送できます。サンプルを動かす分には十分です。

Unityでサンプルアプリを動かしてみる

Unityでプロジェクトを作成

まずはUnityでプロジェクトを作成していきます。 プロジェクト作成時点で注意すべき点はありませんがプロジェクト名を「ARSample」とでもしておき、[Create Project]しましょう。 作成が終わるとUntitledという名前のシーンが作成された状態になります。 私も3DモデリングやUnity自体に詳しいわけではないですが、シーンとは3Dオブジェクトを配置していくための「舞台」であると解釈しています。 f:id:sts-250rr:20180204190645p:plain iOS用のビルド設定を行う

Fileメニューの[Build Settings]を開くと図のような画面が開きます。 [Platform]にiOSを選択して[Switch Platform]ボタンを押してビルド設定をiOSにします。 ※iOSの項目にUnityのアイコンが表示されているはずです。 f:id:sts-250rr:20180204190748p:plain

UnityにARKit Pluginをインポートする

UnityのWindowメニューから[Asset Store]を選択すると画面上にAsset Storeが表示されます。 Asset StoreはプラグインやUnityで使用できる3Dモデルや素材を画像などを購入することができます。無料のものもあるので色々探してみるのも良いと思います。 f:id:sts-250rr:20180204190910p:plain

話を戻しましょう。Asset Storeの検索フォームから「Unity ARKit Plugin」を検索し、インポートします。 ダイアログが出てくる場合がありますが、特に問題はないようなので気にせずインポートします。

ボタンをぽちぽちしているとなんのパッケージをインポートするのかといった画面が出てきますので全てのチェックボックスにチェックが入っていることを確認し[Import]しましょう。 f:id:sts-250rr:20180204191053p:plain

インポートが完了すると[Project]ウィンドウの[Asset]フォルダに[Unity ARKit Plugin]のフォルダが作成されます。
これでUnityでARKitプロジェクトを作成する準備が整いました。 f:id:sts-250rr:20180204191338p:plain

ARKitのサンプルを開く

[Unity ARKit Plugin/Example/UnityARKitScene]にサンプルのシーンがあるのでダブルクリックして開きます。
[Scene]ウィンドウに切り替えると図のようなシーンが表示されています。この画面をARで表示していくわけです。
左側のタブに表示されているものはシーンに追加されているオブジェクトの一覧です。
今回は3Dモデリングに関しての話がメインではないので割愛します。

ARKitサンプルのビルド設定

再びFileメニューの[Build Settings]を開き、上部のUnityARKitSceneのチェックボックスをチェックします。
次に[Player Settings...]ボタンを押すと[inspector]タブにiOSの用のプレイヤー設定画面が表示されます。
[Other Settings]の項目を設定していきます。設定を行う項目は以下の3点です。

  • Identification [Bundle Identifier]
    「com.unity.arkitscene」という文字列が入っていますが、ここの固有(一意)のものでないといけません。自身でドメインを持っておられるような方はドメインを入れてしまうのが手っ取り早いです。
    ここが固有のものでなかった場合、後の工程でつまづきます。(筆者談)

  • Configuration [Camera Usage Description]
    「AR BABY」の文字列が入っていることを確認します。
    ここの値は今回作成するARアプリがiPhoneのカメラにアクセスする権限を得るために必要なようです。 (よくある「〇〇がアクセスを求めています」のやつ)

  • Supported URL schemes [Target minimum OS Version]
    中身の値を「11.0」に変更。

Build Settingsのウィンドウの[Build And Run]を押下して、任意の名前(UnityARKitSceneで良いです)で保存しビルドを始めます。 処理が完了すると、Xcodeが起動し「Unity-iPhone」のプロジェクトが表示されます。 f:id:sts-250rr:20180204191629p:plain

サンプルアプリの実行

MaciPhoneを接続し、Xcodeの左上の▶️ボタンを押すとiPhone側にアプリが転送され問題なく完了するとiPhone上でアプリが起動します。カメラへのアクセス許可を求められるので、拒否しないであげてください。
カメラ画面が表示されると画面上に黄色い点が表示されたり、水色の枠が表示されます。黄色い点は特徴点、水色の枠は水平面を認識していることを示しています。水色の枠内をタップすると立方体が設置されます。
この立方体は水平面上に配置されているので、回り込んでみたりするとまるでその場所に置いてあるように見えます。
色々なところをぐるぐる見回してみたり、平面に立方体を設置してみてAR体験をしてみてください。

f:id:sts-250rr:20180206110654p:plainf:id:sts-250rr:20180206110759p:plain

まとめ

簡単なサンプルでしたがいかがでしょうか?
実際にアプリを開発しようと思うと3DモデリングiOSアプリ開発の知識が必要になるかと思いますが、比較的ハードルが低く感じられたのではないでしょうか?

筆者の感想としては、iPhoneの優秀さが感じられ非常に手軽に楽しく開発ができそうだなと思いました。

みなさんのアイデアをぜひARで実現してみませんか?

Copyright © RAKUS Co., Ltd. All rights reserved.