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
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Akio Itaya
June 26, 2025
Programming
250
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
Building a Meta Ray-Ban display app
akkeylab
0
80
What If Your App Could Debug Itself?
akkeylab
0
81
How to stabilize UI tests using XCTest
akkeylab
0
190
Bringing Spatial Web to E-Commerce
akkeylab
0
100
Learn CPU architecture with Assembly
akkeylab
1
2.2k
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
230
How to build visionOS apps using Persona
akkeylab
1
500
Other Decks in Programming
See All in Programming
【SRE NEXT 2026 Lunch Session】一人目専任SREの立ち上げを加速する ― AIと進めたオンボーディングで2分を0.04秒にした話
pkshadeck
PRO
0
3.5k
言語を使う側から、作る側へ。 自作 Lisp で得た新たな気づき。
andpad
0
150
AI時代に設計が 最大の生産性レバーになる 意図駆動開発とデータを消さない設計|Don't Delete Your Data or Your Intent — Design as the Deepest Lever in the AI Era
tomohisa
1
660
5分で問診!Composer セキュリティ健康診断
codmoninc
0
860
属人化した知識を、 AIが辿れる地図にする
pkshadeck
PRO
1
140
Apache Hive: そしてCloud Native Lakehouseへ
okumin
1
200
Google Apps Script で Ruby を動かす
kawahara
0
130
ここ半年くらいでAIに作らせたR用ツール
eitsupi
0
360
FDEが実現するAI駆動経営の現在地
gonta
2
260
PHPだって関数型したい 〜できること、できないこと〜 / fp-in-php
jsoizo
1
270
人間の目はかわらない、だからJPEGは30年もつ
yuzneri
12
18k
AWS DevOps AgentのAzure接続機能を検証して見えた活用法/Use Cases Verified for the AWS DevOps Agent's Azure Connectivity Feature
masakiokuda
1
210
Featured
See All Featured
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
330
Raft: Consensus for Rubyists
vanstee
141
7.6k
Embracing the Ebb and Flow
colly
88
5.1k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
610
First, design no harm
axbom
PRO
2
1.2k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
890
Bash Introduction
62gerente
615
220k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
420
The SEO Collaboration Effect
kristinabergwall1
1
510
The untapped power of vector embeddings
frankvandijk
2
1.8k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
190
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 !!