ARを用いたサービスが徐々に一般的になり、様々な場面でARを目にすることが増えてきました。特に、ARはプロモーションから教育、観光などの表だった場面で活用されるようになっています。
これらをみて、「自社でもARを用いたサービスを提供したい」と考える企業も多いのではないでしょうか。
しかし、実際にARを開発するには何が必要か、どんな選択肢があり、それぞれどのような違いがあるか分からない方もいらっしゃるかと思います。
本記事では、AR開発の際に必要となる言語や環境、その代表例について解説していきます。AR開発を検討し始める際に、ぜひ参考にしていただけたらと思います。
- AR開発で知っておくべき技術
- AR開発で使用するAR開発の3つの方法
- ノーコードでAR開発をする方法
AR開発で必要になるもの
AR開発に必要なものは、「開発環境とツール」「ライブラリ」「SDK(ソフトウェア開発キット」の3つです。
- 開発環境とツール
- ライブラリSDK(ソフトウェア開発キット)
それぞれどのようなものか、代表例と共に説明します。
開発環境とツール
AR(拡張現実)の開発環境とは、ARアプリケーションや体験を作成するために使用される作業環境のことを指します。
デザイン、コーディング、テスト、デバッグなどの開発業務をサポートするために必要な一連のツールを提供しています。
この開発環境は、開発したい内容や、iOSのアプリケーション、Androidのアプリケーション、Webのどれを用いた体験を開発するかによって決まります。
例えば有名な開発環境として、UnityやUnreal Engineが挙げられます。
- Unity
- Unreal Engine
ライブラリ
ライブラリとは、再利用可能なコードの集まりであり、特定の機能やタスクを実行するために開発者が利用できるものです。
これにより開発者は、一般的な機能をゼロからコーディングする必要がなくなり、開発時間の短縮や、コードの品質と信頼性を向上が可能となります。例として、A-FrameやAR.js、Three.jsが挙げられます。
- A-Frame
- AR.js
- Three.js
SDK(ソフトウェア開発キット)
SDK(ソフトウェア開発キット)は、特定のプラットフォームでの開発を可能とするツールを組み合わせたものです。
AR開発におけるSDKには、デバイスのカメラ、センサー、ディスプレイといったハードウェア機能へのアクセス、AR体験の作成に必要なAPI(アプリケーションプログラミングインターフェイス)、および特定のAR機能をサポートするライブラリやツールが含まれています。
- ARCore:Android向け
- ARKit:iOS向け
AR開発で使用するSDK(開発キット)
SDK(ソフトウェア開発キット)やAR作成ツールは現在様々な企業から提供されています。まず、2つの代表的なSDKを特徴と共にご紹介します。
それぞれ詳細に解説していきます。
ツール①|ARcore(Android向け)
ARCoereは、Googleが提供するAndroidデバイス向けのSDKです(iOSも現在は対応可能です)。
引用元:Announcing ARCore 1.0 and new updates to Google Lens
ARアプリケーションの開発に必要なAPIとツールを提供し、モーショントラッキング、環境理解、ライト推定などの機能をサポートしています。
様々なデバイスで動作し、開発環境も以下のようなものに対応しています。
- Androidネイティブ(Java、Kotlin)
- Unity
- UnrealEngine
- iOSネイティブ
ARCoreは環境理解機能によって、壁や床、光量などを正確に把握することができます。
ツール②|ARKit(iOS向け)
引用元:Apple公式サイト
Appleが提供する、iOSデバイス向けのSDKです。ARKitは、顔認識や画像認識、空間認識などの高度なAR機能を開発者に提供しています。
これにより、iOSデバイス上でリッチなAR体験を作成することが可能です。
またARKitは、ポジショントラッキングやモーションキャプチャなど人や物の動きを検知する機能に優れています。
ARKitで開発すれば、多くの人が利用するApp Storeに公開でき、公開後のユーザー獲得に大きく有利になります。
.▼関連記事
Unityで使えるAR開発用のSDK、11種類を比較!
AR開発で使用するツール/キット
続いて、AR開発の際に使用できるツール/キットの例を5つご紹介します。
ツール①|palanAR
コードを書かずにオンラインでWebARが作成できるツールです。無料から使えるので、ARを使った名刺やプロモーションが少ない予算でも作成可能です。
例えば、2024年2月15日より提供されているサービス『溢れるキモチをARに!じゃがりこ秘密のメッセージ』は、palanARを用いて制作されました。
ユーザーは、専用サイトからARフィルターを立ち上げ「じゃがりこ」にかざすと、友人などが記載したメッセージをモーション付きで見ることかできます。
ツール②|Spark AR Studio
引用元:Meta Spark公式サイト
Spark AR Studioは、Metaが提供するプラットフォームです。InstagramやFacebook用で、フィルターやエフェクトなどのAR体験を作成するためのツールです。
コーディングが必要なく、チュートリアルやテンプレートがあるなど使いやすいインターフェースと豊富な機能を提供しています。
ツール③|Magic Leap Toolkit
Magic Leapが提供する、Magic Leapデバイス向けの開発を容易にするためのツールキットです。
UnityやUnreal Engineでの開発をサポートし、Magic Leapのユニークな機能を活用するためのコンポーネントとユーティリティを提供しています。
ツール④|Mixed Reality Toolkit
Microsoftが提供するオープンソースプロジェクトです。HoloLensなどのデバイス向けに、複合現実(MR)アプリケーションを開発するためのツールキットとなります。
Unityでの開発をサポートし、様々なMR機能の実装を容易にします。
ツール⑤|8th Wall(Webブラウザ向け)
8th Wallは、国内外の有名企業が利用するWebAR開発プラットフォームです。
ARプラットフォームや、8th Wall内で開発が完結する開発環境とホスティングサーバーを提供しています。
ARアプリの開発に必要な開発言語と環境一覧
ARアプリ開発にあたり、開発環境も選択する必要があります。
開発環境を選ぶ際は、どんなAR体験を提供したいか、デバイスは何にするか、どの言語で制作するかなどの観点から検討します。ここでは代表的な5つの開発環境と、必要な言語や特徴を説明します。
開発環境 | 用途 | 言語サポート | 特徴 |
---|---|---|---|
Unity | 3D/2Dゲーム、AR/VRアプリの開発 | C# | ・クロスプラットフォーム開発・豊富なアセットストア・ARKit(iOS)、ARCore(Android)との統合が容易 |
Unreal Engine | VRおよびAR体験の制作 | C++ | ・リアルタイム3Dコンテンツ制作・リアルタイムレンダリング技術により、高品質なビジュアル表現が可能・多くの開発者が利用していることから豊富なコミュニティサポート受けられる |
Android Studio | Androidアプリの開発 | Java, Kotlin | ・Android公式IDE・エミュレータでの多様なデバイステスト・ARCoreサポート |
Xcode | iOSおよびmacOS、visionOS、iPadOS、watchOSアプリの開発 | Swift, Objective-C | ・Apple公式開発環境・ARKit利用によるiOS向けARアプリ開発最適化 |
Visual Studio | Windows, モバイル, Webアプリの開発 | C#, C++, VB.NET など | ・多言語サポート・Unityとの連携<br>・HoloLens向けARアプリ開発サポート |
ライブラリー | WebARや軽量なAR体験の開発 | JavaScript, HTML | ・A-Frame, AR.js, Three.js・特別なアプリインストール不要・Webブラウザでのアクセス可能なAR体験を実現できる |
開発環境①|Unity – C#
Unityは、3Dゲーム、インタラクティブコンテンツ、AR/VRアプリケーションの開発の際に用いる開発環境です。
開発言語は 、C#となります。
Unityの特徴は、強力な3Dレンダリングエンジンや、豊富なアセットストア、クロスプラットフォーム開発をサポートしている点です。
また、ARKit(iOS向け)やARCore(Android向け)といったAR開発フレームワークとの統合が容易となっています。
UnityはiOSやAndroid、Mac、Windows、Linuxといった主要なプラットフォームに加えて、PlayStationやXboxにも対応しています。
開発環境②|Unreal Engine
Unreal Engineは、VRおよびAR体験の制作をする際に用いる開発環境です。
開発言語は、C++となります。
Unreal Engineの特徴は、リアルタイムで3Dコンテンツの制作ができる点や、リアルタイムレンダリング技術により、高品質なビジュアル表現が可能な点にあります。
また多くの開発者が利用しているため、豊富なコミュニティサポートが受けられます。
開発環境③|Android Studio – Java, Kotlin
Android Studioは、Googleが提供している、Androidアプリケーションの開発の際に用いる開発環境です。
開発言語は、Javaや Kotlinとなります。
Android Studioの特徴は、Android向けの公式IDE(統合開発環境)やエミュレータを通じてさまざまなデバイスやAPIレベルでのテストが可能な点です。
また、ARCoreによるARアプリケーション開発をサポートしています。
開発環境④|Xcode – Swift, Objective-C
Appleが提供している、iOSアプリケーション(iPhone、iPad)およびmacOSアプリケーションの開発に用いる環境です。
開発環境は、 SwiftやObjective-Cです。
Xcodeの特徴は、Appleの公式開発環境、ARKitを利用したiOS向けARアプリケーションの開発に最適化されている点です。
開発環境⑤|Visual Studio – C#, C++, VB.NET
Windowsアプリケーション、モバイルアプリケーション、Webアプリケーションの開発に用いられる開発環境です。
開発言語は、 C#や C++、 VB.NETなどとなります。
このVisual Studioは、Microsoftによる強力なIDE、Unity開発での使用が一般的です。
またHoloLens向けのARアプリケーション開発をサポートしています。
開発環境⑥|開発ライブラリー – A-Frame, AR.js, Three.js
WebARや軽量なAR体験の開発に用いられる開発環境です。
主要なライブラリはA-Frame、AR.js、Three.jsであり、開発言語は JavaScriptや HTMLとなります。
これらの開発ライブラリーの特徴は、Webブラウザを通じてアクセス可能なAR体験を提供しており、特別なアプリのインストールを必要としない点です。
まとめ
ARを開発するにあたり、必要な言語や環境について解説してきました。
開発には、「開発環境とツール」「ライブラリ」「SDK(ソフトウェア開発キット)」が必要です。
これらのツールを選定する際には、要件に合った機能の有無や操作性・誰がツールを運用するか・サポート内容をしっかりと確認しておきましょう。
palanでは、国内随一の実績を元に、ARの企画から制作実行まで支援しております。ARに関する課題やそもそもどう進めて良いか分からない方は、ぜひお気軽にお問い合わせください。