UnityでARKit2.0

ここ最近iOSのARKitやAndroidのARCoreのようなスマホARのSDKが充実してきているようなので、オイラも遊んでみたくなった。

ARKit2.0

オイラが持っているスマホはiPhone 8だけなので、とりあえずARKitを触ってみよう。ARKit2.0は色々とすごいらしいですね。
https://developer.apple.com/videos/play/wwdc2018/602/

ということで、ARアプリの開発環境は必然的にMacとXCodeになる。
最新のARKit2.0を使うには最新のMacを購入しないと無理かと思ってたけど、オイラが今持っている古いMacBook Air(2012年モデル)もOSを最新のMojaveへアップデートしたらiOS12.1対応のXcode 10.1が使えるようだ。(7年前のハードなのに!)
MacBook Air購入時にスペックを割と高めにしておいて良かった。

Unity-ARKit-Plugin

今時はゲームエンジンのプラグインという形でAR系(主に画像認識)の機能を利用してコンテンツを作るのが当たり前になっているので、当然UnityからARKitの機能を利用できるプラグインが配布されています。
(Apple公式ではなく)Unity TechnologiesのリポジトリからUnity-ARKit-Pluginおよびサンプルプロジェクトがダウンロードできる↓
https://bitbucket.org/Unity-Technologies/unity-arkit-plugin

README.mdによると、このプラグインの推奨環境は以下。

  • Unity 2017.4以上
  • Xcode 10.0以上とARKitフレームワークの入った最新のiOS SDK
  • ARKitをサポートしたiOSデバイス(iPhone 6S以降、iPad(2017)以降)
  • iOS 12以上

これならオイラでも満たせるぞ。


スポンサーリンク


オイラの開発環境は以下。

  • macOS 10.14.2 (Mojave)
  • Unity 2018.3.0f2
  • Xcode 10.1
  • iPhone 8 (iOS 12.1.2)

Apple Developer アカウントの設定についてはここを参考に↓
https://docs.unity3d.com/ja/2018.3/Manual/iphone-GettingStarted.html
https://docs.unity3d.com/ja/2018.3/Manual/iphone-accountsetup.html

昔と違って、今はiOS開発もただ動作を試すだけなら無料でできるんですね。

まずはこの記事を参考にサンプルシーンをビルドして実機で動かしてみよう↓
http://nn-hokuson.hatenablog.com/entry/2018/09/19/205354

ダウンロードしたサンプルプロジェクトを展開し、
Assets/UnityARKitPlugin/Examples/UnityARKitScene
を開いてビルドしてみる。
UnityのBuild SettingでビルドするPlatformにiOSを選択し、MacにiPhone実機を繋いだ状態でBuild And Runを押す。



ビルドが始まるとXCodeプロジェクトが生成され、自動的にXCodeが立ち上がり、iOSアプリのビルドが進む。
と、ここに来てXCode上でエラー発生↓



TeamにはXCodeに登録したAppleIDに紐づいたチーム情報を指定しないといけないらしい。
Unityから生成されるXCodeプロジェクトではこの設定がデフォルトで空になっていた。Unityから生成されたXCodeプロジェクト上で手動で設定して、
XCodeの▶️ボタンを押してやればビルドが通る。(これってビルドの度に毎回手動でやらないといけないの?)

実機にアプリのアイコンが追加された。



ビルドしたサンプルシーンUnityARKitSceneは、画像認識で平面を検出して、タップするとそこにCubeを配置するというシンプルなもの。

ARKit2.0のポテンシャルについては、Apple公式のドキュメントを読んだ方が良いんだろうか。
https://developer.apple.com/documentation/arkit

CGオブジェクトへの環境マッピングは是非とも試したいところ。

UnityEnvironmentProbe

https://blogs.unity3d.com/jp/2018/06/14/whats-new-in-unity-arkit-plugin-for-arkit-2/

映り込みのサンプルシーンは
〜/Examples/ARKit2.0/UnityAREnvironmentTexture/UnityAREnvironmentProbeAnchor




〜/Examples/ARKit2.0/UnityAREnvironmentTexture/UnityAREnvironmentProbeAnchorManual



か。

実機で動作させてみた↓


スポンサーリンク

View this post on Instagram

UnityからiOSのARKit 2.0の機能を使うサンプルを試してみた

NegativeMindさん(@negative0mind)がシェアした投稿 –


ARKitRemote

頻繁に修正してデバッグしていくならARKitRemoteを使った方が良いんだろうな。
http://nn-hokuson.hatenablog.com/entry/2018/10/17/190203
https://lilea.net/lab/how-to-use-arkit-remote/

AR Foundation

どうやらUnityでは、マルチプラットフォームAR開発環境も用意しているらしい。AR KitとAR Coreに対応しているらしい。
https://docs.unity3d.com/Packages/com.unity.xr.arfoundation@1.0/manual/index.html
http://tsubakit1.hateblo.jp/entry/2018/11/21/211400



スポンサーリンク

関連記事

トランスフォーマー/ロストエイジのメイキング
C++の抽象クラス
C#で使える遺伝的アルゴリズムライブラリ『GeneticSharp』
第20回 文化庁メディア芸術祭『3DCG表現と特撮の時代』
参考書
複数画像から3次元形状を再構築するライブラリ『Multi-View Environment』
3Dスキャンに基づくプロシージャルフェイシャルアニメーション
Mayaのポリゴン分割ツールの進化
Google XML Sitemap Generatorプラグインを3.4.1へダウングレード
ハリウッド版「GAIKING」パイロット映像
WordPressのテーマを自作する
ROSの薄い本
Google App Engine上のWordPressでFlickrの画像を貼る
OpenCV 3.1のsfmモジュールを試す
ZBrushCore
Shader.jp:リアルタイム3DCG技術をあつかうサイト
機械学習手法『SVM(Support Vector Machine)』
UnrealCLR:Unreal Engineで.NET Coreを利用できるプラグイン
クリエイターのための機械学習ツール『Runway ML』
Maya API Reference
Unityからkonashiをコントロールする
ラクガキの立体化 1年半ぶりの続き
網元AMIで作ったWordpressサイトのインスタンスをt1microからt2microへ移行した
無料で使える人体3DCG作成ツール
映画『ブレードランナー 2049』のVFX
OpenMVSのサンプルを動かしてみる
WordPress on Windows Azure
Pythonのベイズ統計ライブラリ『PyMC』
OpenCV バージョン4がリリースされた!
CGレンダラ研究開発のためのフレームワーク『Lightmetrica (ライトメトリカ)』
Konashiを買った
WebGL開発に関する情報が充実してきている
『ピクサー展』へ行ってきた
OpenCVの超解像処理モジュール『Super Resolution』
Raspberry Piでセンサーの常時稼働を検討する
ZBrushのTranspose Masterでポーズを付ける
仮想関数
Web経由でRaspberry PiのGPIOを操作したい
ブラウザ操作自動化ツール『Selenium』を試す
UnityのuGUIチュートリアル
OpenCVで平均顔を作るチュートリアル
機械学習で流体シミュレーションを近似する『Physics Forests』

コメント