ARアプリの開発に必要な言語や環境は?費用相場や注意点もあわせて解説
ARアプリの開発を視野に入れているけれど、どのように開発を進めたら良いか分からない企業の担当者の方も多いのではないでしょうか。
この記事では、ARアプリの開発において把握しておきたいその概要や用途を左右するトリガー、必要な開発環境やプログラミング言語などについて解説しています。
開発にあたって必須の注意事項もあわせて解説しているため、検討中の方はぜひ最後までご覧ください。
ARアプリの概要
拡張現実(Augmented Reality)は現実の世界にバーチャルな視覚情報を重ねて表示するものです。近年、スマホゲームやアプリが話題になり、身近に感じられることも増えてきたのではないでしょうか。
そんなARを体験できるアプリは提供方法によって主に3種類(iOS/Android向けアプリ・WebAR・ヘッドセット向けARアプリ)に分けられます。それぞれの特徴を以下の表にまとめました。
iOS/Android向けアプリ | WebAR | ヘッドセット向けARアプリ | |
使用環境 | スマホ | ブラウザ | ウェアラブルヘッドセット |
メリット | WebARより機能・精度が高い継続利用されやすい | デバイスへのインストール不要開発も容易で安価 | より高度なAR体験が可能 |
デメリット | 開発コストは高額になりがち審査が必要OSにより機能の差がある | 機能面で制限あり | 専用プラットフォームが必要普及が進んでいない |
上記の表の通り、同じARでもそれぞれのアプリで特徴や向き不向きが異なることがおわかりいただけるでしょう。
iOS/Android向けアプリは、スマホのデバイスの機能を活用できる点が特徴です。そのため、カメラ・GPS・センサーなどを活用したゲームやカメラアプリなども開発可能となるうえ、スマホゆえに継続して利用してもらいやすいメリットがあります。一方で、OSごとの開発環境が必要なうえにストアの審査もあるため、開発期間もかかり費用も高額になりがちです。
WebARはインストール不要のブラウザで利用できるARです。3Dオブジェクトをブラウザに呼び出すことで、ARを体験できます。開発期間も短く、費用も比較的安価であるため、期間限定のイベントやキャンペーンなどに特に最適です。機能面の制限はあるものの、インストールも不要であり、多くの人に体験してもらいやすいと言えます。
ウェアラブルARアプリは専用のヘッドセット向けのアプリです。ウェアラブルヘッドセット自体がパソコンのようになっており、ARゲームはもちろん、医療や製造などの専門的な領域でもシミュレーションなどに活用されています。あまり日本での普及が進んでいないのが欠点ですが、今後の産業領域での活用が期待されています。
AR以外のアプリに関してはこちらの記事をご覧ください。
ARのトリガー(認識方法)
ARは現実世界にバーチャルな映像を映し出すものですが、その映像を出現させるためには、トリガーと呼ばれるきっかけが必要です。ARのトリガーとなる認識方法はさまざまであり、用途も異なります。
マーカー型 (画像認識型) | マーカーレス型 (空間認識型) | マーカーレス型 (物体認識型) | GPS型 (ロケーションベース型) | |
トリガー | 画像・写真・文字などを認識 | 画面のタップ(カメラやセンサーを利用) | カメラで特定の立体物を認識 | スマートフォンなどの位置情報 |
特徴 | マーカーとなるものが必要・比較的開発が容易 | マーカーが不要・高度な技術が必要 | デバイスにより精度や安定性が左右される | GPSの精度により精度が左右される |
用途 | イベント・商品・カタログ・SNS・店舗 | 家具などの配置シミュレーション・ゲーム・イベント | 商品やパッケージ・産業分野 | 道案内サービス・建物・観光地・ゲーム |
※マーカー型とマーカーレス型を合わせてビジョンベース型と呼称する。
それぞれのトリガーのタイプによって、ARコンテンツの向き不向きがあるのも特徴です。一例ではありますが、店舗の商品に関連するもの、配置のシミュレーションができるもの、移動しながら利用するものであれば、トリガーもまた異なります。そのため、ARアプリを開発するなら、まずは用途を明確にしなければなりません。
ARアプリ開発に必要な開発環境・言語
ARアプリに必要な開発環境や言語は、ARコンテンツの目的やプラットフォームなどにより異なります。開発環境はさまざまありますが、よく利用されるものには以下のものが挙げられます。
- Unity
- Unreal Engine
- Xcode
- Android Studio
それぞれの特徴や対応するOSなどを以下の表にまとめました。
Unity | Unreal Engine | Xcode | Android Studio | |
特徴 | ゲーム開発に特化素材が豊富 | ゲームに特化グラフィック性能が高い | Apple社が提供iPhoneやiPadの開発に適している | Google社が提供Androidアプリの開発に適している |
OS | 問わない | Windows・Mac | Mac | Windows・Mac |
言語 | C/C++・C# | C/C++・C# | C++・Java・Swiftなど | Java・Kotlin |
費用 | 小規模企業なら無料 | 無料(ただし、開発したゲームやアプリの収入が100万ドルを超えると5%のロイヤリティが必要) | Macユーザーなら無料 | 無料 |
用途やプラットフォーム合わせて開発環境や言語を選ぶ必要がありますが、さらにライブラリと呼ばれるプログラムをまとめたものも必要です。特殊な場合を除いて、基本的にはプラットフォームが提供する公式ライブラリの使用が推奨されており、概ね以下のような選び方が適しているでしょう。
- iOSならARKit
- Android・iOSならARCore
- 画像認識型であればVuforia
- Magic Leap(ヘッドマウント型デバイス)ならMagic Leap Toolkit
- webARアプリならAR.jsや8th wall
まとめると、ゲーム開発で美麗なグラフィックを求めるならUnreal Engine、それ以外のゲームはUnity、iPhoneなどのMac製品向けならXcode、AndroidアプリであればAndroid Studioが良いでしょう。
ARアプリの開発費用相場
ARアプリの開発費用は、その内容により大きく異なります。
iOS/Android向けのネイティブアプリは高額となる場合が多く、多数の機能を盛り込めば500〜1000万、作り込みをしなければ200〜300万程度が相場と言えるでしょう。さらに、スマホアプリの場合は各プラットフォーム毎に販売手数料がかかるため、注意が必要です。
一方でWebARは比較的安価であり、キャンペーンやプロモーション用で簡素なものであれば月額3万円程度で可能な場合もあります。もちろん、ARの数やコンテンツの充実度などにも影響するため、一概に安ければ良いとも言えないのが難しいところです。そのため、開発したいARアプリの内容と照らし合わせながら、機能の盛り込みや予算を考えると良いでしょう。
ARアプリを開発する際の注意点
ARアプリを開発する際には、ARならではの注意点があります。開発を検討しているのであれば、ぜひ覚えておきましょう。
個人情報の取り扱い
ARアプリでは、さまざまな場面で個人情報を扱うこととなります。
ビジョンベース型では顔認識などで人を認識するため個人特定がしやすく、ロケーションベース型であればユーザーが今どこにいるのかが判明してしまう恐れがあります。
トリガーの種類は異なれど、いずれも個人情報であるため、プライバシーの侵害を起こしかねません。そのため、情報の取り扱いは厳しく管理する必要があります。
利用規約の記載
個人情報の取り扱いは厳重に管理しなければなりませんが、個人情報に付随したトラブルを回避するためには利用規約の作成も必要不可欠です。問い合わせ先などの明記はもちろん、免責事項は賠償責任に影響するため慎重に作成しなければなりません。
上記のような、個人情報の取り扱いや利用規約の作成のほかには、著作権にも注意が必要です。既にリリースされているアプリにあまりに類似したものになると著作権違反になる可能性があるため、企画・開発の際には注意しましょう。
まとめ|ARアプリを開発するなら環境や言語の理解は必須。難しければ外注しましょう
ARアプリと一口に言っても、その用途やプラットフォームによって種類が異なります。
スマートフォン向けのARアプリであれば、デバイスの機能を活用できるため、さまざまな機能を盛り込める一方で開発費用は高額なりがちです。
ブラウザで利用できるWebARは機能が限られるものの、用途や期間を絞って作成するなら向いていると言えます。ヘッドセット向けARアプリは専用のウェアラブルヘッドセットを用いるもので、ゲーム以外でも業務用のシミュレーションなどで活用できますが、まだ日本での普及はさほど進んでいません。
また、ARアプリの開発にあたっては、開発環境や言語、ライブラリも用途に合わせて考える必要があります。そのため、内製するにはスキルのある人材とリソース、開発環境が整っていなければなりません。ARアプリの開発を検討されているのであれば、自社のリソースとコストを考慮のうえ、外注も選択肢に入れてみてはいかがでしょうか?
クリーヴァでは、SucSak(サクサク)という、月額制でシステム開発チームのレンタルサービスを行なっております。CTOレベルの技術者がやりたいこともシステム化をサポートすることも可能です。
ご興味を持たれた方は、以下URLより弊社サービスをご覧ください。