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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Yuto
October 31, 2025
Programming
0
9
【超入門】AR 技術の"さわり"だけ学んでみる
Yuto
October 31, 2025
Tweet
Share
More Decks by Yuto
See All by Yuto
「ラストエリクサー症候群」からの脱却~ 持ってるアイテム温存するだけで眠らせてませんか? ~
tsukamoto1783
0
10
humanlayerのブログから学ぶ、良いCLAUDE.mdの書き方
tsukamoto1783
0
200
MCPサーバーって結局何ができるの?
tsukamoto1783
0
19
LT会:普段お世話になってるStackTraceと少しだけ向き合ってみる
tsukamoto1783
0
57
初使用の技術スタックで、 ミニマルなアプリケーションを 2日で作る
tsukamoto1783
0
66
アクセシビリティ対応について考えよう
tsukamoto1783
0
15
Flutterのすヽめ
tsukamoto1783
0
12
Other Decks in Programming
See All in Programming
組織で育むオブザーバビリティ
ryota_hnk
0
180
なるべく楽してバックエンドに型をつけたい!(楽とは言ってない)
hibiki_cube
0
140
LLM Observabilityによる 対話型音声AIアプリケーションの安定運用
gekko0114
2
440
Unicodeどうしてる? PHPから見たUnicode対応と他言語での対応についてのお伺い
youkidearitai
PRO
1
2.6k
CSC307 Lecture 08
javiergs
PRO
0
670
今から始めるClaude Code超入門
448jp
8
9k
Lambda のコードストレージ容量に気をつけましょう
tattwan718
0
140
それ、本当に安全? ファイルアップロードで見落としがちなセキュリティリスクと対策
penpeen
7
4k
CSC307 Lecture 05
javiergs
PRO
0
500
副作用をどこに置くか問題:オブジェクト指向で整理する設計判断ツリー
koxya
1
610
AIで開発はどれくらい加速したのか?AIエージェントによるコード生成を、現場の評価と研究開発の評価の両面からdeep diveしてみる
daisuketakeda
1
2.5k
CSC307 Lecture 04
javiergs
PRO
0
660
Featured
See All Featured
The browser strikes back
jonoalderson
0
400
Are puppies a ranking factor?
jonoalderson
1
2.7k
Abbi's Birthday
coloredviolet
1
4.8k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
87
Discover your Explorer Soul
emna__ayadi
2
1.1k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
1
57
Designing for humans not robots
tammielis
254
26k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.7k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
1
1.4k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.3k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
390
The SEO Collaboration Effect
kristinabergwall1
0
350
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 技術について ~ おわり ご清聴ありがとうございました