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
17
0
Share
【超入門】AR 技術の"さわり"だけ学んでみる
Yuto
October 31, 2025
More Decks by Yuto
See All by Yuto
「ラストエリクサー症候群」からの脱却~ 持ってるアイテム温存するだけで眠らせてませんか? ~
tsukamoto1783
0
15
humanlayerのブログから学ぶ、良いCLAUDE.mdの書き方
tsukamoto1783
0
250
MCPサーバーって結局何ができるの?
tsukamoto1783
0
26
LT会:普段お世話になってるStackTraceと少しだけ向き合ってみる
tsukamoto1783
0
63
初使用の技術スタックで、 ミニマルなアプリケーションを 2日で作る
tsukamoto1783
0
78
アクセシビリティ対応について考えよう
tsukamoto1783
0
24
Flutterのすヽめ
tsukamoto1783
0
21
Other Decks in Programming
See All in Programming
10年分の技術的負債、完済へ ― Claude Code主導のAI駆動開発でスポーツブルを丸ごとリプレイスした話
takuya_houshima
0
2.6k
CursorとClaudeCodeとCodexとOpenCodeを実際に比較してみた
terisuke
1
470
Kingdom of the Machine
yui_knk
2
370
AI時代のPhpStorm最新事情 #phpcon_odawara
yusuke
0
190
(Re)make Regexp in Ruby: Democratizing internals for the JIT
makenowjust
2
190
書籍「ユーザーストーリーマッピング」が私のバイブル
asumikam
4
370
PCOVから学ぶコードカバレッジ #phpcon_odawara
o0h
PRO
0
270
実践CRDT
tamadeveloper
0
570
PDI: Como Alavancar Sua Carreira e Seu Negócio
marcelgsantos
0
120
VueエンジニアがReactを触って感じた_設計の違い
koukimiura
0
180
ソフトウェア設計の結合バランス #phperkaigi
kajitack
0
140
アーキテクチャモダナイゼーションとは何か
nwiizo
19
5.3k
Featured
See All Featured
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.1k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
450
Navigating Weather and Climate Data
rabernat
0
170
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
680
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.1k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
200
Design in an AI World
tapps
1
200
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Building Applications with DynamoDB
mza
96
7k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9k
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 技術について ~ おわり ご清聴ありがとうございました