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
How to handle 3D content on Android XR
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Akio Itaya
June 26, 2025
Programming
240
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
What If Your App Could Debug Itself?
akkeylab
0
42
How to stabilize UI tests using XCTest
akkeylab
0
180
Bringing Spatial Web to E-Commerce
akkeylab
0
95
Learn CPU architecture with Assembly
akkeylab
1
2.1k
Porting a visionOS App to Android XR
akkeylab
0
1.2k
Create a website using Spatial Web
akkeylab
0
430
How to build visionOS apps using Windows
akkeylab
0
220
How to build visionOS apps using Persona
akkeylab
1
490
Summary - Introducing enterprise APls for visionOS
akkeylab
0
580
Other Decks in Programming
See All in Programming
[2026年度第1回ORセミナー] 計画最適化ベンチャーと競技プログラミング人材
terryu16
0
280
なぜ型を書くのか? TSKaigi2026で改めて考える #tskaigi_smarthr
kajitack
0
170
JavaDoc 再入門
nagise
1
430
才能?センス?知らん、 続けたもん勝ちだ。-- 結婚・出産・癌を越えてなお、私がプロダクトを創り続ける理由
16bitidol
1
590
エージェンティックRAGにAWSで入門しよう!
har1101
9
1.8k
Inside Stream API
skrb
1
810
Even G2とAWSで推しのエージェントを召喚しよう!
har1101
1
140
Lessons from Spec-Driven Development
simas
PRO
0
230
Dataformのリポジトリを立ち上げるときにまずやること / dataform-day0-2026
snhryt
0
200
Signal Forms: Details & Live Coding @enterJS 2026 in Mannheim
manfredsteyer
PRO
0
210
act1-costs.pdf
sumedhbala
0
130
技術記事、 専門家としてのプログラマ、 言語化
mizchi
13
6.6k
Featured
See All Featured
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
400
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
1
360
Joys of Absence: A Defence of Solitary Play
codingconduct
1
400
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.5k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Scaling GitHub
holman
464
140k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
62
44k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
62
55k
Automating Front-end Workflow
addyosmani
1370
210k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
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 !!