Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
【超入門】AR 技術の"さわり"だけ学んでみる
Search
Yuto
October 31, 2025
Programming
0
1
【超入門】AR 技術の"さわり"だけ学んでみる
Yuto
October 31, 2025
Tweet
Share
More Decks by Yuto
See All by Yuto
MCPサーバーって結局何ができるの?
tsukamoto1783
0
7
LT会:普段お世話になってるStackTraceと少しだけ向き合ってみる
tsukamoto1783
0
52
初使用の技術スタックで、 ミニマルなアプリケーションを 2日で作る
tsukamoto1783
0
62
アクセシビリティ対応について考えよう
tsukamoto1783
0
8
Flutterのすヽめ
tsukamoto1783
0
8
Other Decks in Programming
See All in Programming
ZOZOにおけるAI活用の現在 ~モバイルアプリ開発でのAI活用状況と事例~
zozotech
PRO
8
5.5k
Building AI Agents with TypeScript #TSKaigiHokuriku
izumin5210
6
1.3k
Cap'n Webについて
yusukebe
0
130
Developing static sites with Ruby
okuramasafumi
0
260
안드로이드 9년차 개발자, 프론트엔드 주니어로 커리어 리셋하기
maryang
1
110
愛される翻訳の秘訣
kishikawakatsumi
1
310
DSPy Meetup Tokyo #1 - はじめてのDSPy
masahiro_nishimi
1
160
ID管理機能開発の裏側 高速にSaaS連携を実現したチームのAI活用編
atzzcokek
0
210
令和最新版Android Studioで化石デバイス向けアプリを作る
arkw
0
380
CSC305 Lecture 17
javiergs
PRO
0
340
ハイパーメディア駆動アプリケーションとIslandアーキテクチャ: htmxによるWebアプリケーション開発と動的UIの局所的適用
nowaki28
0
390
從冷知識到漏洞,你不懂的 Web,駭客懂 - Huli @ WebConf Taiwan 2025
aszx87410
2
1.4k
Featured
See All Featured
A Modern Web Designer's Workflow
chriscoyier
698
190k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.7k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.3k
Code Review Best Practice
trishagee
74
19k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Designing for humans not robots
tammielis
254
26k
The Pragmatic Product Professional
lauravandoore
37
7.1k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
700
Product Roadmaps are Hard
iamctodd
PRO
55
12k
Automating Front-end Workflow
addyosmani
1371
200k
Transcript
【超入門】AR 技術の”さわり”だけ学んでみる ~ 割と普及しているけど意外と知らない AR 技術について ~
はじめに • 本勉強会は以下の状態を目標としています • 困りはしないが知ってて損はない、AR 技術周りについての超ざっくり理解 • 「正直全く分かんない」状態から「なんとなくは分かった」状態へ • →
知識の引き出しの一つになれば幸いです
目次 • AR とは • AR 開発における基本的かつメジャーな技術 • AR 機能を提供してくれる二大フレームワーク
• ネイティブアプリ開発における3Dコンテンツの描画 • 3Dコンテンツの作成 • スマホ標準搭載の簡易版 AR 機能 • Unity アプリと iOS/Android ネイティブアプリとの関係性 • AR アプリ作成時の技術構成
AR とは • ARとは、拡張現実(Augmented Reality)の略 • 現実世界にデジタル情報を重ね合わせて表示する技術
AR とは • AR 技術における主な構成要素(全体像)
目次 • AR とは • AR 開発における基本的かつメジャーな技術 • AR 機能を提供してくれる二大フレームワーク
• ネイティブアプリ開発における3Dコンテンツの描画 • 3Dコンテンツの作成 • スマホ標準搭載の簡易版 AR 機能 • Unity アプリと iOS/Android ネイティブアプリとの関係性 • AR アプリ作成時の技術構成
AR 機能を提供してくれる二大フレームワーク • ARCore(Google) • ARKit(Apple)
AR 機能を提供してくれる二大フレームワーク ARCore や ARKit の主な機能 • モーショントラッキング:スマホと世界の相対位置を認識して追跡 • 環境認識:水平面、垂直面、地面、テーブル、壁などのあらゆる種類の
表面のサイズと位置を検出 • 光の推定:現在の明るさの状態を推定
AR 機能を提供してくれる二大フレームワーク ARCore や ARKit の主な機能 • モーショントラッキング:スマホと世界の相対位置を認識して追跡
AR 機能を提供してくれる二大フレームワーク ARCore や ARKit の主な機能 • 環境認識:水平面、垂直面、地面、テーブル、壁などのあらゆる種類の 表面のサイズと位置を検出
AR 機能を提供してくれる二大フレームワーク ARCore や ARKit の主な機能 • 光の推定:現在の明るさの状態を推定
AR 機能を提供してくれる二大フレームワーク 違いや特徴 • 対応プラットフォーム • ARCore: Google製: Android以外も可(マルチプラットフォーム) •
ARKit: Apple製: iOS • 対応デバイス • ARCore: 幅広い端末に対応。アクティブな端末の約90%の端末でARCoreが有効 • ARKit: iOS端末のみ。Pro 機種のみで有効な機能もあり • 強み • ARCore: GoogleMap API を活用した位置情報系のAR 機能 • ARKit: iOSに最適化・洗練された機能。Pro 機種端末での高機能センサー(LiDAR)
AR 機能を提供してくれる二大フレームワーク まとめ • ARCore( Google ) / ARKit(Apple) •
AR技術の根幹・土台 • ARCore や ARKit の主な機能 • モーショントラッキング • 環境認識 • 光の推定
目次 • AR とは • AR 開発における基本的かつメジャーな技術 • AR 機能を提供してくれる二大フレームワーク
• ネイティブアプリ開発における3Dコンテンツの描画 • 3Dコンテンツの作成 • スマホ標準搭載の簡易版 AR 機能 • Unity アプリと iOS/Android ネイティブアプリとの関係性 • AR アプリ作成時の技術構成
ネイティブアプリにおける3Dコンテンツの描画 Android(Kotlin) / iOS(Swift) でのネイティブアプリ開発時に使用する 描画フレームワーク • SceneView(Kotlin) • RealityKit
(Swift)
ネイティブアプリにおける3Dコンテンツの描画 Android(Kotlin) / iOS(Swift) でのネイティブアプリ開発時に使用する 描画フレームワーク • SceneView(Kotlin) • Google
非公式、OSSライブラリ • 基本的な AR + 描画機能を提供 • RealityKit (Swift) • Apple 公式 • 高度な(カスタマイズ性の高い)描画設定が可能
ネイティブアプリにおける3Dコンテンツの描画 • SceneView(Kotlin) • Google 非公式、OSSライブラリ • 基本的な AR +
描画機能を提供 特徴 • 描画に特化したライブラリ • コミュニティによるOSSライブラリであり、将来性的な部分での不安はあり • 元々は公式ライブラリがあったが、 2020年にサポート終了 • 公式側としては、AR 開発については Unity での開発を推奨の流れに
ネイティブアプリにおける3Dコンテンツの描画 現在、3D の経験を持たないユーザーが採用しやすいように ARCore の Android SDK を変更する計画はありません。 Sceneform のリポジトリをアーカイブ化し、当社が
Sceneform の積極的なメンテナンスを終了したことを明確にしました。 1.16 リリース時にオープンソース化したため、有用と判断された場合は引き続きご利用いただけます。 これは、必要な追加機能をリポジトリにフォークして追加することも可能であることを意味します。 ただし新規プロジェクトを構築する場合は、Unity ARCore SDK for Android の利用をご検討ください。Unity を用いて 3D 空間でオブジェクトをレンダリングし、ARCore アプリを容易に作成できます。
ネイティブアプリにおける3Dコンテンツの描画 • RealityKit (Swift) • Apple 公式 • 高度な(カスタマイズ性の高い)描画設定が可能 特徴
• 物理演算、アニメーション、空間オーディオなど、高度なレンダリング設定が可能 • Apple純正ツールは慣れるまでに学習コストはかかる • GUI 操作(iPhone/iPad)可能な Reality Composer というアプリも公式で提供されて いるが、どこまで高度な設定が可能なのかは不明
ネイティブアプリにおける3Dコンテンツの描画
ネイティブアプリにおける3Dコンテンツの描画 まとめ • Android/Kotlin : SceneView ライブラリ • Google 非公式、OSSライブラリ
• 基本的な AR + 描画機能を提供 • 公式側は、ARCoreの開発については Unity を推奨の流れあり • iOS/Swift : RealityKit ライブラリ(SDK) • Apple 公式 • Apple純正ツールは慣れるまでに学習コストはかかるものの、高度な(カスタマイ ズ性の高い)描画設定が可能
目次 • AR とは • AR 開発における基本的かつメジャーな技術 • AR 機能を提供してくれる二大フレームワーク
• ネイティブアプリ開発における3Dコンテンツの描画 • 3Dコンテンツの作成 • スマホ標準搭載の簡易版 AR 機能 • Unity アプリと iOS/Android ネイティブアプリとの関係性 • AR アプリ作成時の技術構成
3Dコンテンツの作成 AR空間上に表示する3Dコンテンツは、アプリとは別に用意する必要があります 基本的にはアプリからはコンテンツを呼び出すだけのイメージ • Unity • Blender • etc.
目次 • AR とは • AR 開発における基本的かつメジャーな技術 • AR 機能を提供してくれる二大フレームワーク
• ネイティブアプリ開発における3Dコンテンツの描画 • 3Dコンテンツの作成 • スマホ標準搭載の簡易版 AR 機能 • Unity アプリと iOS/Android ネイティブアプリとの関係性 • AR アプリ作成時の技術構成
スマホ標準搭載の簡易版 AR 機能 • Scene Viewer(Android / Googleアプリ) • AR
Quick Look(iOS / Safariアプリ) • Web ブラウザやアプリから AR コンテンツを表示できる、Android / iOS 端末の標準搭載の機能 • フル機能の AR アプリを開発するコストをかけずに、シンプルかつ手軽に AR コンテンツを提供したい場合に有効
スマホ標準搭載の簡易版 AR 機能 • Scene Viewer(Android / Googleアプリ) • AR
Quick Look(iOS / Safariアプリ)
スマホ標準搭載の簡易版 AR 機能 まとめ • Scene Viewer(Android / Googleアプリ) •
AR Quick Look(iOS / Safariアプリ) • Web ブラウザやアプリから AR コンテンツを表示できる、Android / iOS 端末の標準搭載の機能 • フル機能の AR アプリを開発するコストをかけずに、シンプルかつ手軽に AR コンテンツを提供したい場合に有効
目次 • AR とは • AR 開発における基本的かつメジャーな技術 • AR 機能を提供してくれる二大フレームワーク
• ネイティブアプリ開発における3Dコンテンツの描画 • 3Dコンテンツの作成 • スマホ標準搭載の簡易版 AR 機能 • Unity アプリと iOS/Android ネイティブアプリとの関係性 • AR アプリ作成時の技術構成
UnityアプリとiOS/Androidネイティブアプリとの関係性 AR 開発で主流となるUnity についても軽く触れておきます。
UnityアプリとiOS/Androidネイティブアプリとの関係性 AR 開発で主流となるUnity についても軽く触れておきます。 Unity とは、 ゲーム開発を中心に、VR/ARコンテンツ、シミュレーションなど、 リアルタイムな3Dコンテンツを作成するための、統合開発環境(≒IDE)です。
UnityアプリとiOS/Androidネイティブアプリとの関係性 例) • スマホゲーム • ポケモンGO • ウマ娘 • インディーズゲーム
• Fall Guys • Among Us • OverCooked
UnityアプリとiOS/Androidネイティブアプリとの関係性 特徴 • ゲーム開発を中心に、VR/ARコンテンツ、シミュレーションなど、リアル タイムな3Dコンテンツを作成が強み • ARや描画時のカスタマイズ、3Dコンテンツの作成まで、全てUnity上で完結可能 • マルチプラットフォームであり、Android や
iOS にも対応可能 • 大部分は単一のコードで対応が可能に • AR Foundation というライブラリを使用すると、ARCore と ARKit 両方 に対応したアプリ開発が可能
UnityアプリとiOS/Androidネイティブアプリとの関係性 苦手なこと(※一般論) • ゲーム以外のモダンなモバイルアプリには不向き • リアルタイムやグラフィックに特化しているため、機能過多 & 複雑化 • OSの標準的な機能やUIコンポーネントへのアクセスがネイティブ開発
(Kotlin/Swift)よりも複雑 • 機能性、利便性、デザイン性、すべてにおいて、静的なモバイルアプリとしては最 適性に劣る
UnityアプリとiOS/Androidネイティブアプリとの関係性 質問 Unity で作られたゲームアプリも、Android や iOS のストアで配信されてい るが、Kotlin や Swift
で作られたネイティブアプリと何がどう違う?
UnityアプリとiOS/Androidネイティブアプリとの関係性
UnityアプリとiOS/Androidネイティブアプリとの関係性 • Unity as a Library を使用すれば、Unityアプリをネイティブアプリから 呼び出すことも可能に
UnityアプリとiOS/Androidネイティブアプリとの関係性 • Unity as a Library
目次 • AR とは • AR 開発における基本的かつメジャーな技術 • AR 機能を提供してくれる二大フレームワーク
• ネイティブアプリ開発における3Dコンテンツの描画 • 3Dコンテンツの作成 • スマホ標準搭載の簡易版 AR 機能 • Unity アプリと iOS/Android ネイティブアプリとの関係性 • AR アプリ作成時の技術構成
AR アプリ作成時の技術構成 1. Kotlin + ARCore 2. Swfit + ARKit
3. Unity + AR Foundation 4. Kotlin / Swift + Unity
AR アプリ作成時の技術構成 1. Kotlin + ARCore 2. Swfit + ARKit
• シンプル目なAR機能向き • OSに最適化されているとはいえ凝ったAR機能はUnityの方が対応しやすいかも • ARCoreではUnityが推奨されていることもり、マルチプラットフォームの性質 を鑑みると、Unity開発の方が効率は良いかも? • AndroidはUnityでAR部分作って、iOSだけARKit っていうのもなぁ、という気持ちもあり • ただ、Unity自体が巨大なプラットフォームなので、過多 & 必要以上感もあり
AR アプリ作成時の技術構成 3. Unity + AR Foundation • 高度なAR機能を実現したい場合 •
マルチプラットフォームなので大部分は単一のコードベースで両OS対応可能 • ゲーム/AR 要素がメインのアプリだとよいが、静的な一般的なモバイルアプリ には不向きな点も多々
AR アプリ作成時の技術構成 4. Kotlin / Swift + Unity • 基本は静的なモバイルアプリとしつつ、一部画面だけ高度なAR機能を実現
したい場合 • Unityとネイティブ側で責務を分けれるので、開発チームも分けれる • ネイティブアプリから呼び出す(組み込む)設定がかなり面倒となる想定 • 保守性や開発効率が高くなる反面、ビルドエラー対応がかなり増える想定 • ※ 実際にテンプレPJ同士を連携するだけでも既にややこしかった。。。
【超入門】AR 技術の”さわり”だけ学んでみる ~ 割と普及しているけど意外と知らない AR 技術について ~ おわり ご清聴ありがとうございました