LASSIC Media らしくメディア
アプリのAR(ARKit/ARCore)機能を実装する外注の進め方
LASSIC IT事業部|元請(プライムベンダー)としてシステム保守・運用を受託
この記事のポイント
- ARKit(iOS)・ARCore(Android)・AR Foundationの違いと選択基準を整理できます
- 家具試し置き・メイク試着・採寸・屋内ナビなど用途別の実装ポイントを把握できます
- 外注先の選び方とRFPに書くべき要件定義の勘所がわかります
目次
ARKit・ARCore・AR Foundationとは
アプリへのAR(拡張現実)機能実装とは、スマートフォンのカメラ映像に3Dオブジェクトや情報を重ねて表示するシステムを、既存アプリまたは新規アプリに組み込む開発作業を指します。iOS向けにはAppleのARKit、Android向けにはGoogleのARCore、両OS対応にはUnityのAR Foundationという3つのフレームワークが使われます。
ARKitはAppleが提供するiOS向けのARフレームワークです。iPhone・iPadのカメラと各種センサーを組み合わせ、平面検出・オブジェクトトラッキング・フェイストラッキングなどを実現します。LiDARスキャナを搭載したiPhone ProシリーズやiPad Proでは、深度情報を活用したより精度の高い空間認識が可能です。
ARCoreはGoogleが提供するAndroid向けのARフレームワークです。主要機能として、モーショントラッキング(端末の位置・姿勢推定)・環境認識(水平・垂直平面の検出)・光推定(照明環境への3D物体の馴染ませ)の3つがあります*1。近年はGeospatial API(位置情報ARで実世界に地理コンテンツを重ね合わせる機能)・Depth API(オクルージョンで前景の物体がARオブジェクトを自然に隠す機能)・Persistent Cloud Anchors(ARアンカーをクラウドに保存し複数デバイス間で共有する機能)も加わっています。
AR FoundationはUnityが提供するクロスプラットフォームフレームワークです。ワンソースでiOS(ARKit)とAndroid(ARCore)の両方向けにビルドでき、セッション管理・平面検出・画像トラッキング・アンカー・ライティングなど、プラットフォームをまたぐ共通APIを提供します*2。iOS/Android両方にリリースする計画がある場合に適した選択肢です。
用途別に見るARの活用シーン
ARアプリの用途は業種によって多様です。代表的なシーンを整理すると、担当者が外注先に伝えるべき要件の輪郭が見えてきます。
家具・インテリアの試し置き:水平面検出でフロアを認識し、3Dモデルを配置して実際の大きさ感を確認します。平面検出の精度と3Dモデルのファイルサイズ最適化が鍵で、ARCoreはAndroid端末での平面検出を標準機能としてサポートしています*1。
コスメ・アパレルの試着:フェイストラッキングやボディトラッキングを活用し、口紅・アイシャドウ・サングラスなどをカメラ映像に重ねて見せます。ARKitのフェイストラッキングはFace IDカメラを活用するため、対応デバイスの確認が必要です。
採寸・空間計測:LiDARセンサーやDepth APIを利用して部屋のサイズや物体間の距離を計測します。LiDARを活用する場合はiPhone 12 Pro以降が対象になります。ARCoreのDepth APIは対応Android端末でソフトウェアベースの深度推定も提供しています*3。
屋内ナビゲーション:GPSが届かない建物内でARを用いて経路案内をします。ARCoreのGeospatial APIは屋外の位置情報ARをカバーし、屋内はビジュアルポジショニングと組み合わせて実装するケースがあります*4。
教育・研修:3Dモデルを空間に表示して機械の構造説明や作業手順を可視化します。マーカーベース(印刷されたマーカーを認識してARを起動)とマーカーレス(平面検出で任意の場所に表示)の2方式があり、用途によって設計が変わります。
フレームワーク選択の判断軸:iOS専用・Android専用・両対応
外注先への発注仕様を固めるうえで、フレームワークの選択は開発期間・コスト・品質に直結します。主な判断軸を以下に整理します。
| フレームワーク | 対応OS | 向いている用途 | 留意点 |
|---|---|---|---|
| ARKit | iOS(iPhone/iPad) | フェイストラッキング・LiDAR採寸・高精度平面検出 | Androidには非対応。 A12 Bionic以降のiPhone推奨。 |
| ARCore | Android | 家具試し置き・Geospatial AR・Depth APIオクルージョン | ARCore対応端末リストで動作可否を確認が必要*5。 AR Required/AR Optionalの要件選択も重要。 |
| AR Foundation(Unity) | iOS・Android両対応 | iOS/Android同時リリース・共通ロジックの一元管理 | Unityの学習コストと端末別の挙動差を吸収する実装が必要*2。 |
iOSユーザーに特化したサービス(例:ブランドのコスメ試着アプリ)であればARKitネイティブ開発が有力候補です。AndroidとiOSの両ユーザーを取り込みたい場合は、AR Foundationで開発コストを圧縮する方針が現実的です。
ただしAR Foundationの「ワンソース」は、プラットフォーム固有の機能差(例:LiDARはiOSのみ、Geospatial APIはARCoreのみ)を完全に隠蔽しないことに注意が必要です。用途によってはプラットフォーム別の条件分岐実装が発生します。
AR機能実装の外注ステップ:要件定義からリリースまで5段階
AR機能の外注は、通常の機能追加と比べて技術的な要件が複雑です。以下の5段階で発注を進めることで、手戻りを減らせます。
ステップ1:用途・ターゲット端末・OSの絞り込み
最初に「何をARで実現するか」「主要ユーザーのスマートフォンはiOSかAndroidか、あるいは両方か」を確定します。ARCoreは対応端末が限定されており、GoogleのARCore対応デバイスリスト(developers.google.com/ar/devices)で自社ユーザー層の端末をカバーできているか確認します*5。
AR Requiredの設定にするとARCore非対応端末ではアプリをインストールできなくなります。ユーザーベースが広い場合はAR Optionalを選び、AR非対応端末には通常機能のみを提供する設計が無難です。
ステップ2:RFPに盛り込む技術仕様の整理
ベンダーへのRFP(提案依頼書)には以下の項目を明記します。
- ARの方式(マーカーベース/マーカーレス)と検出対象(平面・顔・画像・物体)
- フレームワーク指定(ARKit・ARCore・AR Foundation)またはベンダー提案を求める旨
- 対応OS・バージョンの下限(例:iOS 16以上、Android 8.0以上)
- 3Dモデルのファイル形式とポリゴン数の上限(パフォーマンス要件)
- 既存アプリへの機能追加か新規開発かの別
- ストア審査への対応要否(AR Requiredの場合はGoogle Play条件への適合が必要)
ステップ3:PoC(概念実証)フェーズの設定
AR機能は実機での挙動が設計段階では読みにくく、照明条件・床材・壁色によって検出精度が大きく変わります。フルスケールの開発に入る前に、主要機能だけを実装したPoCを1〜2週間で実施し、ターゲット端末での動作を確認することが実務上重要です。
PoC段階で確認すべきポイントは、平面検出の速度・3Dモデルのズレ量・フレームレートの安定性(AR体験では30fps以上が推奨される目安)です。PoCの実施を外注費用の見積もりに含めてもらうと、後工程の精度が上がります。
ステップ4:開発・端末検証
AR機能の開発では通常の画面開発と異なり、実機テストが欠かせません。シミュレータでは平面検出やカメラARの動作を完全には再現できないため、対象OS・端末モデルを複数用意した実機検証が必要です。
ARCoreはメーカー・モデルによって挙動差があります。Galaxy・Pixel・Xperiaなど代表機種での検証リストをベンダーに提示し、テスト実施を契約に明記することが大切です。
ステップ5:ストア申請・公開後のモニタリング
App Storeへの提出ではARKitの使用宣言(`NSCameraUsageDescription`・`ARWorldTrackingConfiguration`等)が必要です。Google Playでは`uses-feature`タグで`android.hardware.camera.ar`をrequiredまたはoptionalに設定します。申請時の審査観点も含めてベンダーに対応範囲を確認しましょう。
公開後はフレームレート・クラッシュ率・ARセッション成功率のモニタリングを設計しておくと、ユーザーの離脱要因を早期に特定できます。
外注先選定のチェックポイント:ARKit/ARCore実績・端末対応・設計力
AR機能の外注先を選ぶ際に確認すべきポイントは、通常のアプリ開発とは異なる観点があります。
ARKit・ARCoreの納品実績を確認する
モバイルアプリ開発の実績が豊富でも、AR機能の実装経験がないベンダーはPoC段階で大幅な手戻りが発生するリスクがあります。提案依頼段階でARKit・ARCoreを使ったアプリの納品実績(可能であればApp Store・Google Playで公開されている作品)の提出を求めましょう。
3Dモデルのパイプラインを持っているか
家具試し置きやコスメ試着ARは、3Dモデルのクオリティとファイルサイズ最適化が体験品質を左右します。GLTF・USDZ・FBXなどのフォーマット変換と、ポリゴン削減・テクスチャ圧縮の工程を担えるベンダーかどうかを確認します。3Dモデル制作は別途発注になるケースもあるため、スコープを明確にしておくことが大切です。
端末検証の体制と対応機種リスト
ベンダーが実機検証に用いる端末リストを提示してもらい、自社サービスのユーザー層をカバーしているか確認します。ARCore対応端末はメーカーごとに挙動差があるため、主要機種(Pixel・Galaxy・Xperiaなど)での実機テストが含まれているかどうかが判断基準になります。
既存アプリへの統合経験
新規開発と既存アプリへのAR機能追加では、難易度が異なります。既存のネイティブアプリにAR SDKを統合する場合、依存ライブラリの競合やアーキテクチャの整合性が課題になります。既存アプリ改修型の外注であれば、類似案件の経験をベンダーに確認しましょう。
内製リスクと外注の判断軸:スキル・工数・端末検証
AR機能を内製で実装する場合に必要なスキルセットを整理します。担当者が「自社でやるべきか外注すべきか」を判断するための材料です。
内製に必要なスキルセット
ARKit(iOS)の内製実装には、Swift/SwiftUIの実務経験に加え、ARKit・SceneKit・RealityKitの理解、3D座標変換・クォータニオンの知識が必要です。ARCore(Android)ではKotlin/Javaの実務経験とOpenGL ESまたはVulkanへの理解、ARCore SDK固有の概念(Anchor・Trackable・Session)の習熟が求められます。
AR Foundationを使うUnity開発の場合は、UnityのC#スクリプティング・ARFoundationパッケージの設定・iOS/Androidビルドパイプライン(Xcode・Android Studio連携)の知識が必要です。端末ごとに異なるARCore/ARKitの挙動差を吸収するデバッグ力も問われます。
内製時の工数とリスク
AR機能を初めて実装する内製チームでは、PoCから本実装・端末検証まで含めると半年以上のリードタイムになるケースがあります。特にARの学習コストと実機デバッグは見積もりが難しく、想定外の工数膨張が起こりやすい領域です。
実機検証に必要な端末調達コストも発生します。ARCoreはAndroid端末のメーカー・モデルごとに挙動差があり、代表機種の実機を揃えるだけで相応のコストが必要です。外注の場合はベンダーが保有する検証端末プールを活用できるため、この面でのコストを圧縮できます。
外注コストの目安(参考値)
AR機能の外注費用は要件・フレームワーク・期間によって幅があります。以下は市場参考値であり、一次資料による確認値ではありません。一般的なAR機能追加(マーカーレス平面検出・3Dモデル配置)では数十万円から数百万円のレンジが見られます。LiDARを活用した精密採寸・Geospatial APIを使った位置情報AR・マルチプラットフォーム対応など複雑な要件になるほど費用は増加します。
正確な費用は要件定義後に複数ベンダーから見積もりを取ることが欠かせません。LASSICではをご提示できますので、まずはご相談ください。
まとめ:AR外注の3つの判断軸
本稿ではARKit・ARCore・AR Foundationの特性、用途別の活用シーン、外注ステップと発注先の選び方を整理しました。要点を3つにまとめます。
第一に、フレームワーク選択はOS戦略で決まります。iOSのみであればARKit・Androidのみであればネイティブ ARCore・両方に対応するならAR Foundation(Unity)が基本の選択肢です。LiDARやGeospatial APIなどプラットフォーム固有の高度な機能は、ワンソースのAR Foundationでも条件分岐実装が必要になります。
第二に、PoC(概念実証)を外注工程の中に組み込むことが大切です。ARは照明・床材・壁色などの環境要因でフルスケール開発前に挙動を確認しておくことが手戻りを減らす実務的な方法です。
第三に、外注先の選定では「ARKit/ARCore の納品実績」「端末検証体制」「3Dモデルパイプライン」の3点を具体的に確認します。通常のモバイル開発実績だけでは担保できないAR固有のスキルセットがあるため、提案段階でのスクリーニングが重要です。
よくある質問
ARKitとARCoreのどちらで開発するか、どう判断すればよいですか。
メインユーザー層のOSで判断します。iOSユーザーが中心の場合はARKit、Androidが中心の場合はARCoreがシンプルな選択です。両OSを同等にカバーする場合はAR Foundation(Unity)でのクロスプラットフォーム開発が工数を抑えられます。ただしLiDAR採寸(iOS専用)やGeospatial API(ARCore専用)など機能によってはプラットフォーム固有の実装が必要になります。
既存のiOS/AndroidアプリにあとからAR機能を追加することはできますか。
技術的には追加可能です。既存のネイティブアプリにARKit・ARCore SDKを組み込む形になりますが、依存ライブラリの競合やアーキテクチャ設計によっては改修コストが高くなるケースがあります。既存アプリのコードベースをベンダーに事前共有し、統合難易度の見積もりを取ることが大切です。
AR機能の外注費用はどの程度を見込めばよいですか。
市場参考値として、マーカーレス平面検出・3Dモデル配置のような基本AR機能の追加は数十万円からのレンジが見られます。LiDARを使った精密採寸・Geospatial APIを活用した位置情報AR・iOS/Android両対応など要件が複雑になるほど費用は増加します。正確な費用は要件定義後に複数ベンダーから比較見積もりを取ることをお勧めします。
ARCore対応端末かどうかはどうやって確認できますか。
Googleが公式のARCore対応デバイスリストを公開しています(developers.google.com/ar/devices*5)。このリストで対象機種の対応状況を確認できます。AR Required設定にすると非対応端末ではアプリをインストールできなくなるため、自社ユーザーの端末構成を把握したうえでAR Required/AR Optionalを選択します。
AR Foundationを使う場合でも、iOS・Android個別の実機検証は必要ですか。
必要です。AR Foundationはワンソース開発を可能にしますが、ARKit(iOS)とARCore(Android)のプラットフォーム側の挙動差はAR Foundationで完全には吸収されません。照明推定の精度差・平面検出の速度差・端末モデルごとのカメラ特性の違いが現れます。iOS・Android両方の代表機種で実機検証を実施することが品質確保の条件です。
著者:テレリモ総研編集部 鈴木 亮佑
ご不明な点はお問い合わせフォームからもご連絡いただけます。
- *1 出典:Google「ARCore fundamentals」(Google for Developers)
- *2 出典:Unity Technologies「AR Foundation 6.0 Manual」(Unity Documentation)
- *3 出典:Google「ARCore Depth API」(Google for Developers)
- *4 出典:Google「ARCore Geospatial API」(Google for Developers)
- *5 出典:Google「ARCore supported devices」(Google for Developers)