Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
How to handle 3D content on Android XR
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Akio Itaya
June 26, 2025
Programming
290
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
How to handle 3D content on Android XR
Android XR で3Dコンテンツを扱う方法
https://hey.connpass.com/event/358065/
Akio Itaya
June 26, 2025
More Decks by Akio Itaya
See All by Akio Itaya
Androidだけじゃない、DroidKaigiで広がった私の技術スタック
akkeylab
0
140
iOSDCのペンライトを自動制御したい!
akkeylab
0
550
Building a Meta Ray-Ban display app
akkeylab
0
240
What If Your App Could Debug Itself?
akkeylab
0
120
How to stabilize UI tests using XCTest
akkeylab
0
250
Bringing Spatial Web to E-Commerce
akkeylab
0
140
Learn CPU architecture with Assembly
akkeylab
1
2.3k
Porting a visionOS App to Android XR
akkeylab
0
1.3k
Create a website using Spatial Web
akkeylab
0
460
Other Decks in Programming
See All in Programming
Coding with AI: How to trust the storyteller (AWS Community Day Adria, Ljubljana 2026)
slobodan
0
140
小さなアプリを作って公開するまで
onozaty
0
160
Enforcing Your Architecture with Unit Tests in the AI Era (Swift Connection X)
steliosf
PRO
1
160
そのデザイントークン、Flutterでも同じ見た目になりますか?
nakamizu
0
330
AI Augmentation Techniques with Liberty
ivargrimstad
1
430
Long Living Tokens, Die, Die, Die! (or: The One Ring is Banned in Modern)
sylph01
0
420
AI時代のIaC入門 〜なぜインフラをコードで管理したいのか?〜 / Introduction to IaC in the AI Era
akihisaikeda
6
1.5k
AIが生成したコードは読むべきか?抽象化設計とコードの品質保証 / abstraction-design-and-quality
minodriven
16
9k
AIがコードを書いてくれる時代、我々は何を確かめるのか
yosuke_furukawa
PRO
13
5.9k
AI-Powered Domain-Driven Design
ziobrando
0
430
Engineering Biometric UX Across Android Versions | DroidKnights 2026
ryunen344
1
190
graphql-ruby を Spinel で速くしようとした話
mtsmfm
0
140
Featured
See All Featured
How to Talk to Developers About Accessibility
jct
2
620
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
400
brightonSEO & MeasureFest 2025 - Winning Strategies for Black Friday CRO & PPC - Christian Goodrich
cargoodrich
3
890
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
380
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
560
Heart Work Chapter 1 - Part 1
lfama
PRO
11
37k
Odyssey Design
rkendrick25
PRO
3
940
New Earth Scene 8
popppiees
5
2.8k
Utilizing Notion as your number one productivity tool
mfonobong
4
640
Making the Leap to Tech Lead
cromwellryan
135
10k
Into the Great Unknown - MozCon
thekraken
41
2.8k
WCS-LA-2024
lcolladotor
0
990
Transcript
AKKEY / AKIO ITAYA Android XRͰ3DίϯςϯπΛѻ͏ํ๏ Ebisu.mobile #10 Google I/O
https://io.google/2025/explore/technical-session-22 Building di ff erentiated apps for Android XR
with 3D content Google I/O 2025
1. ࠷ॳͷσόΠε Samsung ͷ Project Moohan 2. Home SpaceɾFull Space
ͱ͍͏2ͭͷϞʔυ 3. SceneCore ʹΑΔ Skybox ͱೖܕϏσΦ 4. glTFϑΝΠϧΛ༻ͨ͠3DΦϒδΣΫτදࣔ 5. ARCore ʹΑΔӬଓΞϯΧʔͱϋϯυτϥοΩϯά Summary of the Session
1. ࠷ॳͷσόΠε Samsung ͷ Project Moohan 2. Home SpaceɾFull Space
ͱ͍͏2ͭͷϞʔυ 3. SceneCore ʹΑΔ Skybox ͱೖܕϏσΦ 4. glTFϑΝΠϧΛ༻ͨ͠3DΦϒδΣΫτදࣔ 5. ARCore ʹΑΔӬଓΞϯΧʔͱϋϯυτϥοΩϯά Summary of the Session https://news.samsung.com/global/unlock-the-in fi nite-possibilities-of-xr-with-galaxy-ai ޖೠ / ແݶ
1. ࠷ॳͷσόΠε Samsung ͷ Project Moohan 2. Home SpaceɾFull Space
ͱ͍͏2ͭͷϞʔυ 3. SceneCore ʹΑΔ Skybox ͱೖܕϏσΦ 4. glTFϑΝΠϧΛ༻ͨ͠3DΦϒδΣΫτදࣔ 5. ARCore ʹΑΔӬଓΞϯΧʔͱϋϯυτϥοΩϯά Summary of the Session https://developer.android.com/design/ui/xr/guides/foundations
1. ࠷ॳͷσόΠε Samsung ͷ Project Moohan 2. Home SpaceɾFull Space
ͱ͍͏2ͭͷϞʔυ 3. SceneCore ʹΑΔ Skybox ͱೖܕϏσΦ 4. glTFϑΝΠϧΛ༻ͨ͠3DΦϒδΣΫτදࣔ 5. ARCore ʹΑΔӬଓΞϯΧʔͱϋϯυτϥοΩϯά Summary of the Session https://developer.android.com/design/ui/xr/guides/environments
1. ࠷ॳͷσόΠε Samsung ͷ Project Moohan 2. Home SpaceɾFull Space
ͱ͍͏2ͭͷϞʔυ 3. SceneCore ʹΑΔ Skybox ͱೖܕϏσΦ 4. glTFϑΝΠϧΛ༻ͨ͠3DΦϒδΣΫτදࣔ 5. ARCore ʹΑΔӬଓΞϯΧʔͱϋϯυτϥοΩϯά Summary of the Session ࠓճͷ ຊ
1. ࠷ॳͷσόΠε Samsung ͷ Project Moohan 2. Home SpaceɾFull Space
ͱ͍͏2ͭͷϞʔυ 3. SceneCore ʹΑΔ Skybox ͱೖܕϏσΦ 4. glTFϑΝΠϧΛ༻ͨ͠3DΦϒδΣΫτදࣔ 5. ARCore ʹΑΔӬଓΞϯΧʔͱϋϯυτϥοΩϯά Summary of the Session https://io.google/2025/explore/technical-session-22
glTF
Passthrough in screen capture 3Dσʔλʹ·ͭΘΔ֦ுࢠΛ·ͱΊͯΈͨɹ ~ GLB/OBJ/STL/FBX/USDZ ~ https://note.com/andpad_zero/n/n74fb9a73b4a4
࣮
Zenith for Android Android XR Sample App AkkeyLab
@SuppressLint("RestrictedApi") @Composable fun MySpatialContent() { val session = checkNotNull(LocalSession.current) SpatialPanel()
{ LaunchedEffect(key1 = Unit) { val model = GltfModel.create(session, “models/girl.gltf") .await() var modelEntity = GltfModelEntity.create( session = session, model = model ) } } }
@SuppressLint("RestrictedApi") @Composable fun MySpatialContent() { val session = checkNotNull(LocalSession.current) var
modelEntity by remember { mutableStateOf<GltfModelEntity?>(null) } SpatialPanel() { LaunchedEffect(key1 = Unit) { val model = GltfModel.create(session, “models/girl.gltf") .await() modelEntity = GltfModelEntity.create( session = session, model = model ) } DisposableEffect(Unit) { onDispose { modelEntity?.dispose() } } } }
@SuppressLint("RestrictedApi") @Composable fun MySpatialContent(onRequestHomeSpaceMode: () -> Unit) { val session
= checkNotNull(LocalSession.current) var modelEntity by remember { mutableStateOf<GltfModelEntity?>(null) } SpatialPanel(SubspaceModifier.width(1280.dp).height(800.dp).resizable().movable()) { LaunchedEffect(key1 = Unit) { val model = GltfModel.create(session, "models/girl.gltf").await() val entity = GltfModelEntity.create( session = session, model = model, pose = Pose( translation = Vector3(0f, -0.5f, 0.2f), rotation = Quaternion.fromEulerAngles(Vector3(90f, 0f, 0f)) ) ) entity.setScale(0.5f) modelEntity = entity } DisposableEffect(Unit) { onDispose { modelEntity?.dispose() } } } }
LTͰొஃ https://gdg-tokyo.connpass.com/event/356777/
Zenith for Android github.com/AkkeyLab/zenith-android 3D Anime Character girl for Blender
C1 by CGCOOL https://skfb.ly/oyACQ
Thank you !!