AR AR開発に必要な技術、開発手順などを解説 2023.01.30 AR開発は近年注目を浴びています。専門知識がないままAR開発の担当となった企業担当者も多くおられるかもしれません。本記事では専門技術も登場するAR開発において、必要な開発環境・言語、フレームワーク、ARアプリ開発の手順や、プログラミングなしでWebARを制作できるノーコードツールなどをご紹介していきます。専門用語も多いAR開発ですが、開発のヒントになる記事となっています。 1 ARアプリの種類の紹介 ARといえば、スマホやタブレットでカメラに映し出された現実世界に、拡張世界を重ね合わせるカメラアプリを思い浮かべる方も多いかもしれません。しかし、AR技術はこのようなものに留まりません。他のアプリの種類があったり、アプリではない形で提供されるARサービスもあります。ここでは、そのようなARのなかから、4種類を紹介します。 ①ウェアラブルヘッドセット用ARアプリ ARアプリ開発の専用プラットフォームといえるのが「ウェアラブルヘッドセット向けARアプリ」です。「Microsoft Hololens」「Magic Leap」などが注目されています。医療・製造などの高度な精度が必要とされる分野で活用しています。その特徴は、本体にCPU / GPUを搭載し、デバイス全体でコンピューターシステムを構成していることです。しかし、日本ではまだあまり普及していません。 ②SNS上のARエフェクトやフィルター また、注目を集めているARサービスとしてInstagram や、SnapchatなどのSNSでのSNS向けARエフェクト ・フィルターがあります。InstagramではそのストーリーズにAR効果をかけるもので、Meta社から開発キットが公開されており低コストでかつ簡単にサービスを利用できることが魅力です(もっとも、Meta社の規約に沿った活用でなければいけません)。 ③AndroidやiOS向けARアプリ ARアプリ開発のプラットフォームとして最もメジャーなのがAndroid、iOS向けARアプリです。「ポケモンGO」やカメラアプリの「SNOW」などが有名です。強みは、カメラ・GPS・センサーなど、デバイスの機能をフル活用できることです。高度でユニークなアプリを開発したい場合に最適です。 一方、難点は、コストが高額になることです。少なくとも数百万円かかると言われています。また、iOS、Androidそれぞれで開発環境を整えないといけない点にも注意が必要です。 ④Webブラウザで利用するWebAR 「WebAR」とは、Webブラウザだけで利用できるARサービスです。Androidの「Scene Viewer」、iPhoneの「Quick Look」機能を利用して、3Dオブジェクトをブラウザに呼び出す仕組みになっています。簡単かつ安価にARサービスを提供できますが、ネイティブARアプリのような高度な機能は期待できません。そのため、安価で高度な体験までは求めないARアプリの開発にはマッチしており、例えば、期間を区切ったキャンペーンなど特定の目的に使う企業も増えています。 2 ARオブジェクトのために必要なトリガーや認識技術について ARには様々な種類がありますが、基本的にはARオブジェクト(拡張世界)は「なにか」をトリガーにして出現する仕組みになっています。そして、この「なにか」を認識する技術にも複数存在します。ARアプリ開発では「アプリ・サービスの種類」と「認識技術」の組み合わせが重要です。この認識技術については、大きく「ロケーションベースAR」「ビジョンベースAR」に分けられますが、解説していきます。 ①GPS型ロケーションベースAR デバイス内のGPSなどを利用し、実際の位置情報を起点にARオブジェクトを出現させる技術が、ロケーションベースARです。磁気センサーや加速度センサーも利用し、広範囲のエリアで高度なARアプリを利用できます。「ポケモンGO」などが有名です。近年は、カメラに映し出された画像から位置情報を特定する「ビジュアル・ポジショニング・サービス(VPS)」を活用したタイプも登場しています。 ②₋1 マーカー型ビジョンベースAR ビジョンベースARとは、画像・写真・映像などを認識してトリガーにするタイプのARのことです。このビジョンベースARのなかでも、シンプルかつ安定感のある技術が、「マーカー型」といって、ある特定のマーカーを認識してトリガーにするものです。このタイプの長所は、簡単にARアプリ開発できることですが、マーカー型ではあらかじめマーカーを用意・設置する必要があります。 ②₋2 空間認識型(マーカーレス)ビジョンベースAR ビジョンベースARのなかでも、現実世界の空間をデバイスのカメラやセンサーを利用して解析・認識するのが「空間認識型(マーカーレス)」タイプです。このタイプの長所は、マーカーを用意する必要がないため、場所を限定せずにサービスを提供できることです。一方、計算や解析の負荷が大きいため、安定性・精度の確保に高度な技術が必要とされます。 ②₋3 オブジェクト型ビジョンベースAR 「オブジェクト型」とは、カメラに映った特定の立体物の特徴を解析し、トリガーとして利用するビジョンベースARのタイプです。空間認識型とは、空間全体を解析するわけではない点で異なります。現時点で安定性・精度は今一つとされていますが、デバイスのカメラやアルゴリズムの進化によってAR活用の幅を広げることを期待された技術といえます。 3 ARアプリ開発で必要なIDE(統合開発環境)や開発言語について ネイティブARアプリ開発には、IDEが必要です。このIDE(統合開発環境)とは、テキストエディタ・コンパイラ・デバッガなどのアプリ開発に必要なツールを一つにまとめたソフトウェアのことです。このIDEですが、どれを選べばよいでしょうか。代表的なIDEをご紹介致します。なお、ARアプリでWebARを開発するには、HTML / JavaScriptが中心となるため、IDEは特に必要はありません。 ①Unity 「Unity」は、Unity Technologiesが提供する、IDEを内包したゲームエンジンです。Android ・ macOS ・ iOS ・Windows向けゲーム開発はもちろん、Play StationやXbox向けゲーム開発にも対応しています。また、macOS とWindowsいずれにも対応でき、一定の基準に沿えば無料で使えます。しかし、造り込むにはコーディングが必要で、現在のUnityでは「C#」でのプログラミングが必要です。 ②Android Studio 「Android Studio」は、Androidアプリ開発専用のIDEで、Googleが提供しています。Windows 、macOS 、Linux 、Chrom OSなどの多様なOSをホストに利用でき、Androidアプリ開発に必要なツールはすべて揃います。また、WindowsとMacに対応しています。ゲーム以外のAndroidアプリ開発で必須のIDEと言っても過言ではありません。 Android StudioでGoogleがもっとも推奨しているのがKotlinとJavaです。Android Studioをインストールするだけで、設定を変更せずにKotlinでのプログラミングを開始できます。他にも C 、 Rubyといったプログラミング言語も利用できます。 ③Xcode 「Xcode」は、Apple製品向けのIDEでAppleが開発・提供するものです。iOS 、macOSアプリだけでなくwatchOS や tvOSアプリの開発にも対応しています。プログラミングからデバッグ・テスト・アプリのビルドまでの必要なツールはすべて揃っています。デベロッパー・プログラムのIDなら、無料でダウンロードとインストールができます。 プログラミング言語のメインはSwift とObjective-Cですが、C 、C++ 、 Javaなどに対応しています。また、設定によってPythonでの利用も可能です。ただし、インストールできるのはMacに限定されます。 4 ARアプリ開発で必要なAPI、フレームワーク、ライブラリについて ARアプリ開発のためには、カメラ・センサーなどのデバイスを有効活用する開発プラットフォーム(API)、フレームワーク、ライブラリが必要です。ここで、フレームワークとは、よく使われる機能をまとめたアプリ開発のベースとなるプログラムのことです。また、ライブラリとは、必要に応じて選択できる再利用可能なプログラムをまとめたものをいいます。IDEだけでもARアプリを開発できるのですが、フレームワーク・ライブラリを活用すれば開発の工数や期間を短縮できます。 ARアプリ開発によく利用される、API、フレームワーク、ライブラリをご紹介致します。 ①ARCore 「ARCore」は、Android向けのAR開発プラットフォームでGoogleが提供しています。対応するAndroid端末をPCに接続して利用します。Android Studioと組み合わせて利用される場合もありますが、専用のSDK(ソフトウェア開発キット)を追加してUnityでARアプリ開発するケースもあります。 ②ARKit 「ARKit」は、iOS・ iPadOS専用のAR開発プラットフォームでAppleが提供しています。Xcodeがインストールされていれば、特別なソフトウェアをダウンロードする必要もなく、対応のiPhone ・ iPadをMacと接続してプロジェクトを作成するだけで、簡単にビジョンベースAR 、 ロケーションベースARに対応するARアプリを開発できます。3Dモデルを作成できる「Reality Composer」、既存3Dモデルを簡単にインポートできる「Reality Converter」などのツールなどを用いて、iOS向けARアプリ開発を効率化できます。 ③Spark AR Studio 「Spark AR Studio」は、Spark ARエフェクト ・フィルター開発ツールキットで、Metaが提供しています。直感的に操作できるGUIインターフェースを持ち、専門的なプログラミング知識はなくても、ARエフェクトが開発できます。Metaが提供していることから、Facebook 、 Instagramへの公開やエフェクト管理を一元化できます。 ④ARToolkit 「ARToolkit」は、マルチプラットフォームでのARアプリ開発ができるオープンソース・ソフトウェア・ライブラリです。PC向けARアプリでもビジョンベースAR(マーカー型 / マーカーレス型)を簡単に実装できます。Android 、macOS、iOS 、Windows 、Linuxに対応しています。Unityで利用できるようにしたパッケージ版、自然画トラッキングが可能な商用版「ARToolkit5」などの多彩なバージョンが存在します。 ⑤AR.js 「AR.js」は、WebARでの利用のために開発されたオープンソースJavaScriptライブラリです。GPS型ロケーションARを実装できる「Location Based」、マーカー型ビジョンベースARを実装できる「Maker Based」、任意の画像をマーカーに見立てる「Image Tracking」などにも対応しています。WebAR開発が、WebサイトにJSライブラリを適用するような感覚でできるのです。 ⑥Lumin SDK / Magic Leap Toolkit 「Lumin SDK / Magic Leap Toolkit」は、Magic Leapが提供するAR開発プラットフォームです。便利なテンプレートプロジェクト、サンプルシーン、コードなどがまとめられています。Lumin SDKを追加すれば、UnityでのMagic Leap向けARアプリ開発を最適化できます。 5 AR開発で必要なもの、開発の順番 これまでAR開発に向けた技術やツールをご紹介してきました。ARアプリ開発に何が必要で、開発にどういったステップを踏むのかといった点を、これまで触れたもの含めて簡単にご紹介します。 ステップ1 ARアプリの開発環境の構築 まず開発するアプリの種類に応じた開発環境を構築します。以下に必要なものを簡単にまとめました。 ハードウェア・環境 PC、Mac、インターネット ソフトウェア IDE(統合開発環境)、フレームワーク・ライブラリ、2D / 3Dグラフィックツール テストに必要 iPhone / Android端末、またはシミュレーター 公開に必要 (ネイティブアプリの場合)App Store / Google Playのアカウント ステップ2 オブジェクトの作成・ARアプリのプログラミング 続いて、ARアプリに出現させるアニメーション、2D・3Dオブジェクトなどを作成し、アプリ内で動作させるためにプログラミングしていきます。2D / 3Dグラフィックツールのスキルとともに、デザインセンスも要求されます。 ステップ3 テストと公開 ARアプリが完成すれば、テストで問題がないことを確認したうえで公開します。iOS / Android向けARアプリの場合、App Store / Google Playへのアップロード・登録が必要です。また、Magic Leap向けARアプリも、Magic Leap Worldというストアへの登録が必要であり、それぞれの審査の通過も必要です。なお、App Storeへ登録するにはMacのみで動作する「Xcode」が必要ですが、Xcode以外のIDEはPCとMac双方に対応したものが多く、iOS向けARアプリ開発する可能性があればMacを選択することが無難といえます。 公開の前に注意しておかなければいけないのは 個人情報の取り扱いです。GPSを扱う場合には位置情報などの情報漏洩対策が必要です。 6 プログラミング不要のノーコードツールのご紹介 近年ではAR開発をプログラミング不要で開発できる「ノーコードツール」が登場しています。ARアプリ開発において高度な機能を求める場合知識・スキルも高くなりますが、高度の技術までは不要とのことであれば、ノーコードツールの活用も検討しましょう。ここでは、代表的なツールをご紹介します。 palanAR 「palanAR(パラナル)」は、株式会社palanが開発・提供するノーコードWebAR制作ツールです。Webブラウザ上でドラッグ&ドロップすればWebARコンテンツを制作でき、画像・3Dモデル・動画・GIFアニメのインポートにも対応しています。料金も、3つまでARコンテンツであれば作成無料のプランもあります。また、ロケーションAR、画像認識AR、音声認識ARなどを制作できるプランも用意されています。 LocationAR 「LocationAR(ロケーショナー)」は、株式会社OnePlanetが提供するノーコードWebARコンテンツ制作ツールです。管理画面に用意した画像や動画をドラッグ&ドロップし、マーカーを設置するだけで簡単に操作できます。イベントなど特定の時期だけに必要な場合には1か月のスポットプラン、継続的に使い場合には12か月のスタンダードプランがあります。マーカー型以外のARアプリ開発や、ARコンテンツ制作を検討する場合には、相談にも応じてくれます。 まとめ AR開発には様々な専門知識が必要とされます。開発に必要なツール・技術も多くあります。ここでは、それらを簡単にご紹介してきました。AR開発自体はまだまだ発展途上といえますが、本記事の内容が少しでもAR開発の一助となればと思います。 AR開発を依頼するなら エネセーブではAR開発を得意としております。AR開発をご検討の方は、是非以下よりお問い合わせ下さい。 お問い合わせ Tweet Share Hatena Pin it AR AR開発の基礎知識とおすすめソフトウェアのご紹介 UnityによるAR開発