【Unity】ARKit2のサンプルを実装する!準備から実装まで


ついに9/18、AppleからiOS12が配信されました。

それによってパフォーマンスの向上だけでなく「ARKit2」の利用が開始されました。

そこで今回はARKit2のUnityサンプルを実機で使用する方法をご紹介します。

ARkitロゴ

ARKit2とは

まずはじめに「ARKit2」について簡単にご紹介します。

ARKit2はAppleが提供するAR (拡張現実)プラットフォームです。9/18に配信されたOS「iOS12」で使用可能なプラットフォームです。

ここからARKit2でできることをご紹介します。

また、ARKit2について詳しく知りたい方はこちらをご参考ください。

AR空間の共有

今までのARKitでは自分がカメラを通して見るAR空間を他人と共有することができませんでした。

しかし、今回のアップデートによって複数のユーザーが同じAR空間を共有することが可能になりました。

これによって複数人での共同作業や、ARゲームを楽しむことも可能になります。

AR空間の保存

次にAR空間全体の状態を保存し、再開できるパーシステントARについてご紹介します。

この機能により現実空間に仮想オブジェクトを保存しておくことが可能になります。

これによって、中断したARゲームを中断した状態で再開することができます。さらにARのアート作品を作成する際、毎回やり直しをすることなく製作することができます。

3Dオブジェクトの認識

イメージの認識とトラッキングのサポートの拡大により、3Dオブジェクトの認識が可能になりました。

これにより、現実空間の物体(植物・彫刻など)をマーカーとして仮想オブジェクトを出現させることができます。

美術館などで彫刻などを紹介する新しい手段になるかもしれませんね。

ARKit2を使用するための準備

ここからARKit2を実機で使用するための準備を始めます。

端末に関する準備とARKit自体の準備の方法をご紹介します。

端末の準備

端末の準備を始めます。

使用する端末は以下の通りです。

  • iPhone8(実機)
  • MacBook Pro

次に各端末のバージョンを確認します。

  • iOS12(iPhoneのOS)
  • Mac OS High Sierra バージョン10.13.6(MacBook ProのOS)
  • Xcode 10
  • Unity 2018.2.4f1

上記のバージョンにしていないと開発の途中でエラーが発生しますのでご注意ください。

また、Xcode10はMacOSのバージョンを10.13.6にしておかないとインストールできませんのでご注意ください。

ここではApple端末のバージョンアップデートの方法は以下の通りです。

  • iPhoneの場合
    「設定→一般→ソフトウェアアップデート」を選択してそこで最新のOSを選択してアップデートしてください。
    また、現在のOSは「設定→ソフトウェアアップデート」を選択して確認することができます。
  • MacBookの場合
    「App Store→アップデート」を選択して一番上のMacOSアップデートを選択してアップデートしてください。このとき、すでに最新のOSを使用している場合は、選択肢が現れません。
    また、現在のOSは「左上Appleロゴ→このMacについて」を選択して確認することができます。

XcodeはApp Storeからダウンロードしてください。詳しくはApple公式のサポートをご参考ください。

Unityの環境構築につきましてはコチラをご参考ください。

ここまでの操作全てを一から実施した場合、1時間程度かかると思います。作業自体は非常に簡単ですので根気強く準備しましょう。

ARKit2のインポート

次にARKit2の準備を開始します。

9/18現在、アセットストアからARKitをインポートすると以前のバージョンのARKitしか使用することができませんのでご注意ください。

今後アセットストアからインポートすることが可能になると思いますが現状は別途ARKit2をダウンロードして使用してください。

以下インポート方法をご紹介します。

ARKit2のダウンロード

まずはじめにARKit2をダウンロードします。

ARKit2 for Unityのダウンロードページはコチラ

ARKit2forUnityダウンロードページ

ARKit2ダウンロードページの赤枠「リポジトリをダウンロードする」を選択してARKit2をダウンロードしてください。

ARKit2 Plugin

以上のようなプラグインが確認できれば、ダウンロードは完了です。

ARKit2をインポートする

次に先ほどダウンロードしたプラグインをUnityでインポートします。

方法は複数ありますが、今回は一番簡単な方法でインポートします。

ARKit2インポート

以上のように、Finderから先ほどダウンロードしたプラグイン(Assets→UnityARKitPluginフォルダのみ)をUnityのプロジェクトビューのAssetsへドラッグ&ドロップしてください。

これでARKit2をUnityでインポートすることができました。

ARKit2サンプルの実装

今回はサンプルの中の「UnityARWorldMap」を実装してみたいと思います。これ以外のサンプルもこれから行う方法と同様に実装が可能ですので、ぜひほかのサンプルもお試しください。

サンプルの呼び出し

まずサンプルを呼び出します。

UnityARWorldMap

赤枠①「Assets→UnityARKitPlugin→Examples→ARKit2.0→UnityARWorldMap」を選択して、赤枠②「UnityARWorldMap」を選択してください。

これでサンプルの呼び出しが完了しました。

ビルド設定

次にUnityのビルド設定を行います。

Unity上部のメニューバーのFileから「Build Settings」を開いてください。

シーンビルド設定

赤枠①「Add Open Scenes」を選択して、赤枠②「UnityARKitPlugin/…UnityARWorldMap」にチェックを入れてください。

スイッチプラットフォーム

次に赤枠①「iOS」を選択して、赤枠②「Switch Platform」を選択してください。この処理には少し時間がかかります。

これでビルド設定は完了です。

プレイヤー設定

次にプレイヤー設定をします。

Build Settings下部の「Player Settings」を選択してください。

ARKitプレイヤー設定

インスペクタービューの赤枠部分を以下のように編集してください。

  • Bundle Identifier:com.XR-Hub(任意).ARKit2Sample (任意)
  • Target Device:iPhone Only
  • Target minimum iOS Version:12.0
  • Requires ARKit support:チェックを入れてください

これでプレイヤー設定は完了です。

実装

いよいよ実機で使用する方法をご紹介します。

ビルド

ビルド実行

Build Settingsの赤枠「Build And Run」を選択してください。

「Save as」では任意の名前で保存して問題ありませんが、今回は「ARKit2Sample」と保存します。

Xcodeの設定

先ほどの操作でXcodeが起動すれば、Unityでの操作は完了です。

以下はXcodeのパーソナルアカウントでの実装方法ですのでご注意ください。

Xcodeサインイン設定

Xcodeが起動したら、赤枠「Automatically manage signing」にチェックを入れてください。次に「Automatically manage signing will reset build settings」と出てきますので、「Enable Automatic」を選択してください。

XcodeSigning設定

次に赤枠「Signing→Team→ご自身のお名前(Personal Team)」を選択してください。

また、この時点でMacBookとiPhoneは接続しておきましょう。

最後に左上の再生ボタンを押してください。

パスワード入力

問題なくコンパイルできている場合、以上のようにパスワードを求められますので、入力して実装完了です。

では実際にiPhoneで動かしてみましょう。

ARKit2サンプル実装

セーブとロードが可能なようですが、いまいち使い方を理解しきれていません…

おそらく次のようなことができていると思われます。

  • 平面を認識→タップでオブジェクト出現→セーブクリックで状態が保存→ロードクリックで再び出現

まだ詳しくプログラム等を確認していないため、大雑把な説明になり申し訳ありません。

後々プログラム等を解析してどのような処理が裏で行なわれているか確認出来次第、記事を更新いたしますのでご容赦ください。

まとめ

いかがでしたでしょうか。

いよいよARKit2を本格的に利用することが可能になりました。これによって様々なデベロッパーが革新的なARアプリを開発して世の中がどんどん便利になってくると思います。

さらにARグラスが世間に普及し始めれば、いよいよARの時代がやってきます。時代の波に乗るためにもARKit2を用いてARアプリケーションを作成してみてはいかがでしょうか。


ARkitロゴ

この記事はいかがでしたか?よければシェアをお願いします。

Furui