第1回UnityでARkit2アプリを作る!

イマイです。

以前投稿していた記事
UnityでARKitアプリを作る!
ですが、ARKitの更新やUnityのバージョンの変更で大幅な修正が必要になった部分があるので書き直していこうと思います!

ARKitとは?

・iOS11で搭載されたARフレームワーク
2017年の秋のアップデートで正式にリリースされたiOS11にARKitのフレームワークが搭載されました。
昨年まではARKitでしたが、2018年iOS12へのアップデートに伴いARKit2がリリースされました!
・床だけでなく壁の認識
・AR空間の共有
その他様々な機能が追加されました!

詳しくは公式ホームページから

iOS 12

iOS 12は、アプリケーションの速さと反応の良さを一段と向上させます。みんなとつながる方法も、カスタマイズできることも、あなたの楽しみも、一段と広がります。

なお、対応している機種は
A9/A10チップ以降機種となります。(iPhone6s以降の機種)

開発環境の準備

・MacOS Sierra以上
(私の環境はMojaveです)

・Xcode 10.0
こちらも原稿最新版を入れれば問題ないと思われます
最新版のダウンロードは普通にAppstoreで入手できます。

・iOS12搭載の機種
これがないと始まりません。
もし持っていない方はこれを機に購入するか諦めましょう…
(エミュレーターではカメラが使えないので代わりに使用することができません。)

・Unity 2017.4以降
私はUnity2018.2.1を使用しています。
特にこだわりがなければアップデートしてしまいましょう。

・Unity ARKit plugin(GitやBitbukcetで入手)
—–追記2018/11/14—–
以前はUnityのアセットストアに並んでいてそこから入手するのが簡単だったのですが
今は販売が停止されているのでGitなどから入手しましょう。
(再販されるととってもありがたいですが…)

ストアから削除されたのはUnityのパッケージマネージャに導入された為だったようです!
最新版のUnityをインストール後Window/PackageManargerからプロジェクトに追加できるのでお試しください。
なお、今回の記事で使用しているARKitPlugInはARKit2なので壁の認識などにも対応しています。
—–追記ここまで———
私はこちらのBitBucketから入手しました。
ここにマニュアルやAPIなども書いてあるので一読することをお勧めします。

ARkitを実機で動かす

今回はiPhoneで実際にサンプルシーンを動かすところを目標にやっていきます
壁と床を認識して、認識された場所をタップするとそこにCubeを生成するサンプルを動かします。

まずダウンロードしてきたファイルをUnityで開きます。
Assets/UnityARKitPlugin/Examples/UnityARKitScene内の
UnityARKitSceneという名前のシーンファイルを開きます。

開いた状態では真ん中に白黒の四角い箱が表示されるだけです。
この状態でUnityエディタで再生すると以下のように緑の画面が表示されればOKです。

これであとはUnity側で書き出してXcodeでビルドすれば完成です!

Xcodeの方はビルドの記事がたくさんあるのでもしエラーなどが出るようならその都度調べてみてください。
Unity側よりXcode側の方が時間がかかる気がしますね…

実機で動かすとこのようになります。

床や壁を認識すると青い枠で囲まれそこをタップするとCubeが生成されているのが確認できるかと思います。
生成するオブジェクトを変えるにはARkitの記事を読んでいただけると理解できるかと思います。

第二回UnityでARKitアプリを作る!

連載UnityでARKitアプリを作る。 第二回目 今回はサンプルプロジェクトを動かして少し改造してみましょう。 前回の記事はこちらから まずはUnityを起動して空のプロジェクトを作ります。 そしてアセットストアからUnity ARkit Pluginをダウンロードします こちらからどうぞ Unity ARKit Plugin by Unity TechnologiesThis is an experimental native plugin that enables using all the functionality of the ARKit SDK simply within your Unity projects for iOS.

今回はここまで!
それでは良いハッキングライフを〜

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)