• ブログTOP
  • AI・ディープラーニング
  • AR
  • VR
  • WEBサイト
  • WEBマーケティング
  • SEO
  • SNS
  • その他
  • お問い合わせ

ALAKI株式会社

COZIKEEいつまでも使えるTech情報発信ブログ

Unity + ARkitで始める、初心者のためのAR開発

2018年8月31日

  • このエントリーをはてなブックマークに追加

こんにちは!
デザイナーの伊東です。

現在ALAKIで取り組んでいるVR/AR開発の話題から、今日はARのお話です。
先日、WebARについての記事を投稿しました。

WebARはじめてみませんか?〜第1回 AR.jsで簡単WebAR〜

A-FrameとAR.jsを組み合わせて、簡単にブラウザ上でAR体験を提供する方法をご紹介しました。
WebARの場合はカメラに映ったマーカーを認識して、それに対して3Dオブジェクトを表示するという仕組みです。ブラウザで動かすので、高い負荷のかかることはできませんでした。

今回は、もっと高度なAR開発にチャレンジしたい!という方のために、Unity + ARkitでARを開発する方法をご紹介します。
プログラミングの経験がなくて不安な方でも体験していただけるよう、入門編のような内容になっています。

こんなサンプルができるところまでを、今日のゴールとします。

https://alaki.co.jp/blog/wp-content/uploads/2018/08/ScreenRecording_08-29-2018-23-17-38.mp4

最後までよろしくお願いします!

この記事の目次

  • 1 はじめに
  • 2 Unityのインストール
  • 3 プロジェクトの作成
  • 4 Unity ARKit Pluginのインストール
  • 5 サンプルのカスタマイズ
  • 6 ビルドする
  • 7 まとめ

はじめに

先ほどのデモを作成するために、今回は以下のような技術・ツールを使用しました。

  • Unity
  • ARkit
  • Xcode

それぞれ簡単にご説明します。

Unity

こちらはゲームの開発言語として知られたプログラミング言語です。
3Dを扱うのが非常に得意で、優秀な物理エンジンが用意されています。
3Dを簡単に扱えるということで、ゲームの開発のみならずAR/VRなどの開発にも適している人気の言語です。

無料版と有料のPro版がありますが、無料版でも多くの機能を使用することが可能です。

開発者数が多く、日本語の情報も多いので、開発のしやすい言語と言えるかもしれません。

ARkit

こちらはAR開発を行うためのSDK(Software Development Kit)です。
Appleが開発したSDKとして知られており、IOSでARアプリをリリースすることに適しています。

ARkit特徴は以下の通りです。

ARKitができる事

  • ポジショントラッキング
  • 平面検出
  • ポイントクラウド(3次元の点座標情報)取得
  • 周囲の明るさ推定
  • 現実空間への当たり判定(HitTest)
  • 現実空間とのスケール一致
  • カメラ画像の取得

ARKitができない事

  • 取得した情報の保存/読み込み
  • 現実空間の位置との関連付け
  • 精度の高いリアルタイムなポイントクラウド取得
  • ポイントクラウドからのジオメトリ生成
  • マーカートラッキング

出典 : ARKitができる事、できない事
https://qiita.com/arumani/items/6efad65a17e2eafde5a1

Xcode

こちらもApple製のアプリケーション開発ツールです。
今回は、Unityで作成したデモを実機にインストールする際に利用します。

ちなみに、今回はXcodeのインストール方法は割愛します。
下記のページからダウンロードしてください。

https://itunes.apple.com/jp/app/xcode/id497799835?mt=12

Unityのインストール

それではUnityのインストールから始めていきましょう。

ダウンロードページは下記になります。
https://store.unity.com/ja

無料版のところから、”Personalを試す”のリンクからダウンロードしましょう。

Unity Store

インストールが完了したら、Unityへサインアップを済ませてください。

プロジェクトの作成

インストールしたUnityを立ち上げたら、新しいプロジェクトを作成します。

スクリーンショット 2018-08-30 23.12.35

  1. “New”のボタンをクリックします。
  2. 必要な情報を入力しましょう。”Project name”、”location”は任意で設定してください。
    “Template”のところは”3D”を指定してください。
  3. “Create project”をクリックすれば、プロジェクトの作成が完了します。

Unity ARKit Pluginのインストール

次に、Unityで利用できるARkitのプラグインをインストールします。

メニューバーから、”window”>”General”>”Assets Store”を選択してください。
こちらから様々なプラグインをインストールすることができます。

スクリーンショット 2018-08-30 23.20.16

標準だと画面が小さく見づらいので、”Maximize”を選択して画面を大きくします。

スクリーンショット 2018-08-30 23.24.13

検索窓に”Unity ARKit Plugin”と入力して、該当するプラグインをインストールしてください。

スクリーンショット 2018-08-30 23.26.21

これでUnity ARKit Pluginのインストールが完了し、ARkitのアセットが使用可能になりました。

サンプルのカスタマイズ

インストールしたARkitのアセットの中身を確認してみましょう。

スクリーンショット 2018-08-30 23.31.19

 

  1. “Scene”を選択して、開発画面に切り替えます。
  2. 画面下部の”Project”から、”Assets”>”UnityARKitPlugin”>”Examples”>”UnityARKitScene”を選択
  3. 画面右下に表示されたファイルをダブルクリック

すると、画面中央のシーンに立体が追加されました。
この状態ではじめてARkitのアセットを使用することができます。

スクリーンショット 2018-08-30 23.40.31

  1. 次に、画面左上の”Hierarchy”から、”HitCubeParent”>”HitCube”を選択します。
  2. 画面右側の”Inspector”から、”Script”の”UnityARHitExample”というファイルをダブルクリックします。

すると、エディタが立ち上がると思います。
そのファイルを以下のように書き換えましょう。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
using System;
using System.Collections.Generic;
 
namespace UnityEngine.XR.iOS
{
    public class UnityARHitTestExample : MonoBehaviour
    {
        //Cameraの宣言
        public Camera cam;
 
        void Update()
        {
            if (Input.touchCount > 0 && cam != null)
            {
                //キューブの生成
                GameObject cube = GameObject.CreatePrimitive(PrimitiveType.Cube);
                //ランダムに色を生成
                Material material = new Material(Shader.Find("Diffuse"))
                {
                    color = new Color(Random.value, Random.value, Random.value)
                };
                //色をキューブに適用する
                cube.GetComponent<Renderer>().material = material;
 
                cube.transform.position = cam.transform.TransformPoint(0, 0, 0.5f);
                cube.transform.localScale = new Vector3(0.2f, 0.2f, 0.2f);
                //重力の設定
                cube.AddComponent<Rigidbody>();
                cube.GetComponent<Rigidbody>().AddForce(cam.transform.TransformDirection(0, 1f, 2f), ForceMode.Impulse);
            }
        }
    }
}

編集後、エディタで忘れずにビルドしてください。
エディタを閉じてUnityの画面に戻理ます。

すると、”Inspector”の部分に”Cam”という項目が追加されているかと思います。
その項目を選択して、”Main Camera”に設定してください。

ビルドする

カスタマイズしたサンプルアプリをビルドしていきます。
メニューバーから、”File”>”Build Setting”を選択します。

スクリーンショット 2018-08-30 23.56.52

  1. “Add Open Scenes”をクリックして、作成したサンプルアプリのシーンを追加します。
  2. 追加されたシーンにチェックをつけます。
  3. “Platform”の項目から、”iOS”を選択して”Player Settings”をクリックします。
  4. 最後に”Build And Run”をクリックしてビルドを開始します。

これでUnityのビルドは完了です。
Xcodeが立ち上がるので、実機と繋いでテストアプリをインストールします。

インストールできたら、実機で動作確認できたら成功です!

まとめ

いかがだったでしょうか。
今回はまずサンプルを読み込んでビルドするところまでをご紹介しました。

ARkitを利用した開発は、基本的には同じようにサンプルコードをシーンに読み込んで、それをベースに開発を進めていきます。

サンプルコードの意味がわかるようになれば、改修してやりたい表現を実装していくことも可能です。

わからないコードがあればどんどん調べてみることをおすすめします。

あなたもUnity + ARkitでのAR開発に挑戦してみてはいかがでしょうか。

 

  • ツイート
  • このエントリーをはてなブックマークに追加
ALAKI ロゴ
さよなら過去のAR。
WebARがイベント集客に
革命を起こします。
特設サイトはこちら >

You may also like...

  • スクリーンショット 2019-02-15 20.02.23

    WebARはじめてみませんか?〜第3回 8th Wall WebでAndroidにも対応のマーカーレスWebARを実装する〜

    15 2月, 2019

  • スクリーンショット 2019-02-15 20.02.23

    WebARはじめてみませんか?〜第5回 8th Wall Webの画像認識機能の使い方〜

    26 4月, 2019

  • スクリーンショット 2022-11-19 7.29.55

    WebARで平面認識からインタラクションまで!「AR Quick Look」の新機能を試してみた

    19 11月, 2022

  • Next story Laravelで、フォームが動かないときの対処法
  • Previous story Laravel5.6でテンプレートエンジン「Twig」を使えるようにしよう!

弊社サービス

MONJI+ MUGHEN ALAKI クラウド型受発注システム さよなら過去のAR。WebARがイベント集客に革命を起こします。

運営会社

ALAKI株式会社 ALAKI株式会社採用サイト

人気の記事

  • alaki1462_A_businessman_who_works_logically_1da80a2e-c297-4911-bdd6-feba0ebf1357

    仕事術

    【書籍要約】数学的な仕事術大全

    4 11月, 2024

  • fv-main-img-min

    空間コンピューティング

    世界初!「空間コンピューティング」を専用端末不要、スマホのWebブラウザのみで実現する『Web XR Site』を公開しました

    22 6月, 2023

  • Virtual reality players isometric vector illustration. VR UI and navigation. Futuristic digital technology. Virtual screen. Mixed reality 3d concept. Person in VR headset. Web banner idea

    AR

    Appleから新世代MRグラス「Vision Pro」の登場 – デジタルと現実世界が融合する新時代へ

    6 6月, 2023

  • AWE

    未分類

    ARアプリ『MUGHEN』が世界最大のAR/VRアワード「AWE」のファイナリストに選出されました!

    26 5月, 2023

  • python-logo-master-v3-TM

    pyhotn / 業務効率化

    「SwinIR」で高画質化した画像を pythonを使用して一括で元のサイズに戻す方法

    2 2月, 2023

カテゴリー

  • AI・ディープラーニング
  • AR
  • BtoB
  • CMS
  • Git
  • Google AdWords
  • gulp
  • Javascript
  • Laravel
  • Photoshop
  • Pug
  • pyhotn
  • Sass
  • SEO
  • SNS
  • Twitter広告
  • VR
  • Web3.0
  • WEBサイト
  • WEBマーケティング
  • YouTube
  • コーディング
  • システム開発
  • スマートフォンサイト
  • セキュリティ
  • セミナー
  • その他
  • ツール
  • デザイン
  • ベトナムレポート
  • 仕事術
  • 未分類
  • 業務効率化
  • 空間コンピューティング
  • 色

アーカイブ

  • 2024年11月
  • 2023年6月
  • 2023年5月
  • 2023年2月
  • 2023年1月
  • 2022年12月
  • 2022年11月
  • 2022年10月
  • 2022年9月
  • 2022年2月
  • 2021年12月
  • 2021年9月
  • 2021年7月
  • 2021年6月
  • 2020年10月
  • 2020年9月
  • 2020年8月
  • 2020年6月
  • 2019年6月
  • 2019年5月
  • 2019年4月
  • 2019年3月
  • 2019年2月
  • 2019年1月
  • 2018年12月
  • 2018年11月
  • 2018年9月
  • 2018年8月
  • 2018年7月
  • 2018年6月
  • 2018年5月
  • 2018年4月
  • 2018年3月
  • 2018年2月
  • 2018年1月
  • 2017年12月
  • 2017年11月
  • 2017年10月
  • 2017年9月
  • 2017年8月
  • 2017年7月
  • 2017年6月
  • 2017年4月
  • 2017年3月
  • 2017年2月
  • 2017年1月
  • 2016年12月
  • 2016年11月
  • 2016年10月
  • 2016年9月
  • 2016年8月
  • 2016年7月
  • 2016年6月
  • 2016年5月
  • 2016年4月
  • 2016年3月
  • 2016年2月
  • 2016年1月
  • 2015年12月
  • 2015年11月
  • 2015年10月
  • 2015年9月
  • 2015年7月
  • 2015年3月
  • 2015年2月
  • 2015年1月
  • 2014年12月
  • 2014年11月
  • 2014年10月
  • 2014年9月
  • 2014年8月
  • 2014年7月
  • 2014年6月
  • 2013年10月
  • 2013年9月

Facebook

お問い合わせ

お問い合わせ

人気の記事

  • 【書籍要約】数学的な仕事術大全
  • 世界初!「空間コンピューティング」を専用端末不要、スマホのWebブラウザのみで実現する『Web XR Site』を公開しました
  • Appleから新世代MRグラス「Vision Pro」の登場 – デジタルと現実世界が融合する新時代へ
  • ARアプリ『MUGHEN』が世界最大のAR/VRアワード「AWE」のファイナリストに選出されました!
  • 「SwinIR」で高画質化した画像を pythonを使用して一括で元のサイズに戻す方法

カテゴリー

  • AI・ディープラーニング
  • AR
  • BtoB
  • CMS
  • Git
  • Google AdWords
  • gulp
  • Javascript
  • Laravel
  • Photoshop
  • Pug
  • pyhotn
  • Sass
  • SEO
  • SNS
  • Twitter広告
  • VR
  • Web3.0
  • WEBサイト
  • WEBマーケティング
  • YouTube
  • コーディング
  • システム開発
  • スマートフォンサイト
  • セキュリティ
  • セミナー
  • その他
  • ツール
  • デザイン
  • ベトナムレポート
  • 仕事術
  • 未分類
  • 業務効率化
  • 空間コンピューティング
  • 色

検索

ALAKI株式会社 © 2025. All Rights Reserved.