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
PHP に部分適用が来るぞ!……ところで何それ?おいしいの? #phpcon / phpcon-2026
shogogg
0
680
数百円から始めるRuby電子工作
tarosay
0
160
そこに3びきプロダクトがいるじゃろう——生成AI時代における“価値が届かない理由”の構造
kosuket
0
510
「寝てても仕事が進む」Claude Codeで組む第二の脳
tomoyafujita2016
0
340
Go 1.27 における memory allocation の高速化
andpad
0
230
引き算の組織 ― アウトカムとAIに全振りするために辞めたこと ― / Organization by Subtraction
hirokiyamamoto14
PRO
0
220
AI Engineeringは、AIプロダクトだけのものか? 〜AIがソフトウェアを作る時代の新しい当たり前〜 / No AI in your product. AI Engineering in your development.
rkaga
4
460
仕様駆動開発の消費期限
watany
20
8.6k
夏だ!祭りだ!祭りとはドメインモデリングでは?
ryugen04
0
310
freeeにおけるEvalsの実践例の紹介
freee
PRO
0
120
komatsuna「分散システムにおけるバグ分析手法」
komatsunaqa
0
270
Android CLI
fornewid
0
220
Featured
See All Featured
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
210
Optimizing for Happiness
mojombo
378
71k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
250
How to Ace a Technical Interview
jacobian
281
24k
How GitHub (no longer) Works
holman
316
150k
Designing for humans not robots
tammielis
254
26k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
410
A designer walks into a library…
pauljervisheath
211
24k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
1.2k
Code Review Best Practice
trishagee
74
20k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
280
Being A Developer After 40
akosma
91
590k
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 技術について ~ おわり ご清聴ありがとうございました