63
58

More than 3 years have passed since last update.

ARCoreを簡単にUnityで始める

Last updated at Posted at 2018-12-06

はじめに 

こんにちは。Life is Tech! Tokai Mentors Advent Calendar 2018の7日目は、自分だすが書かせてもらいます。

VRやらARすごく来てますよね。ポケモン:hamster:を捕まえたり、自分の部屋でアイドル:dancers:が踊ったり、夢が広がりまくりですね〜!!

で、最近ARCoreに触れる機会があってその手軽さに感動したので、共有したいと思います。
細かいこと抜きに、なんとなくARやってみたいなーって思った人とかに向けて書きます。

ARCoreを簡単にUnityで始める

ARCoreとは?

ARCoreは、Googleが提供するAR(拡張現実)環境を構築するためのプラットフォームです。ちなみに、AppleがiOS用に提供しているのがARKitです。

ARCoreができること

  • モーショントラッキング
  • 水平・垂直の表面の検出
  • 環境光推定
  • Augmented Images(マーカー画像認識)
  • Cloud Anchor(AR空間の共有)

この記事でやること

この記事では、UnityにARCoreを導入して、モーショントラッキングとARで検出した平面に衝突判定を付けるところまでやります。
ここまで用意すれば、あとはここにオブジェクトを置くだけでも楽しそうですよね。

環境

導入

準備

ARCoreをダウンロードして、自分でわかるところに置いといてください。

その1 プロジェクト作成

まず、プロジェクトを新規作成して、Assets → Import Package → Custom PackageからARCoreのパッケージをインポートしてください。
スクリーンショット 2018-12-06 20.56.35.png

その2 カメラとライト

Sceneを開いたら中に入ってるカメラとライトは全部消してください。
代わりに、GoogleARCore → PrehabsにあるARCore DeviceとEnvironment Lightを入れてください。
スクリーンショット 2018-12-06 21.01.42.png
スクリーンショット 2018-12-07 0.15.39.png
スクリーンショット 2018-12-07 0.15.49.png

ScenesにCreateからGoogleARCore → SessionConfigを追加してください。
そして、ARCore DeviceのSession Configに置いてください。
スクリーンショット 2018-12-07 2.57.28.png
スクリーンショット 2018-12-07 0.17.36.png

その3 Controller

次に、Controllerという名前でGameObjectを作成。
そこに、Add ComponentよりDetected Plane Generatorを追加します。
そして、そのDetected Plane Prefabという項目に、GoogleARCore → Examples → Common → PrefabsのDetectedPlaneVisualizerを置きます。
スクリーンショット 2018-12-07 3.20.36.png
スクリーンショット 2018-12-07 0.25.45.png

その4 コード

最後に、DetectedPlaneVisualizer.csに数行コードを加えます。

DetectedPlaneVisualizer.cs
private void _UpdateMeshIfNeeded()
{
//---------------省略---------------//
//平面のメッシュにコライダーを加えるコード
GetComponent<MeshCollider>().sharedMesh = null;
GetComponent<MeshCollider>().sharedMesh = m_Mesh;
}

スクリーンショット 2018-12-07 0.32.00.png

その5 ビルド

ビルド設定は、Androidを選択します。
Other Settingsより、Multithreaded Renderingチェックを外し、Minimum API LevelをAndroid7.0以上にします。
XR Settingsより、ARCore Supportedのチェックを入れます。
スクリーンショット 2018-12-07 3.43.02.png

完成!

これだけで終わりです!
実行してみて壁や床を検出してたら完成です!
あとは自由に作りましょう!
Screenshot_1544112403.png

楽しい!

自分は、ここにピンを並べてボールを転がすコードを足して、ARボーリングができました!
現実世界に表示できるってだけでかなり楽しい!


終わりに

自分でもこんな簡単にAR開発を始めれると思ってなかったんで、ぜひ皆さんも体験してみてください。そして、ヴァーチャル世界に進出していきましょう。

63
58
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
63
58