Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
【超入門】AR 技術の"さわり"だけ学んでみる
Search
Yuto
October 31, 2025
Programming
30
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
【超入門】AR 技術の"さわり"だけ学んでみる
Yuto
October 31, 2025
More Decks by Yuto
See All by Yuto
自分の言葉で伝える
tsukamoto1783
0
2
画像のリサイズ関数の裏側では何が起きている?
tsukamoto1783
0
18
「ラストエリクサー症候群」からの脱却~ 持ってるアイテム温存するだけで眠らせてませんか? ~
tsukamoto1783
0
26
humanlayerのブログから学ぶ、良いCLAUDE.mdの書き方
tsukamoto1783
0
290
MCPサーバーって結局何ができるの?
tsukamoto1783
0
33
LT会:普段お世話になってるStackTraceと少しだけ向き合ってみる
tsukamoto1783
0
80
初使用の技術スタックで、 ミニマルなアプリケーションを 2日で作る
tsukamoto1783
0
90
アクセシビリティ対応について考えよう
tsukamoto1783
0
31
Flutterのすヽめ
tsukamoto1783
0
31
Other Decks in Programming
See All in Programming
ドリフトを絶対に許さない(?)CDK運用 / CDK Ops with Zero Tolerance for Drifts (?)
akihisaikeda
1
200
琵琶湖の水は止められてもNet--HTTPのリトライは止められない / You might be able to stop the water flow of Lake Biwa but you can't stop Net::HTTP retries
luccafort
PRO
0
770
ここ半年くらいでAIに作らせたR用ツール
eitsupi
0
390
Flow は今どうなっているか
mizdra
PRO
0
600
ソフトウェア設計に溶けるインフラ ― AWS CDK のインフラ認識論
konokenj
3
800
Google Apps Script で Ruby を動かす
kawahara
0
260
AI Readyの正体はデータマネジメントだ メダリオン2.0の最前線
freee
PRO
0
280
「人を評価する AI」の設計と実装
ryoyanara
0
210
為什麼你並不需要ViewModel / No, you don't need a ViewModel
lovee
1
500
VibeCodingからAgenticWorkflowへ
starfish719
0
600
freee が目指す データ マネジメント戦略 AI-Ready 時代を支える 攻めのガバナンスとは
freee
PRO
0
410
人間の目はかわらない、だからJPEGは30年もつ
yuzneri
12
19k
Featured
See All Featured
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.5k
How Software Deployment tools have changed in the past 20 years
geshan
1
34k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Building Adaptive Systems
keathley
44
3.2k
How STYLIGHT went responsive
nonsquared
100
6.2k
Google's AI Overviews - The New Search
badams
0
1.1k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.7k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
490
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
460
For a Future-Friendly Web
brad_frost
183
10k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
770
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
290
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 技術について ~ おわり ご清聴ありがとうございました