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
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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
32
How to stabilize UI tests using XCTest
akkeylab
0
170
Bringing Spatial Web to E-Commerce
akkeylab
0
90
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
420
How to build visionOS apps using Windows
akkeylab
0
220
How to build visionOS apps using Persona
akkeylab
1
480
Summary - Introducing enterprise APls for visionOS
akkeylab
0
580
Other Decks in Programming
See All in Programming
Inside Stream API
skrb
1
650
Lemonade + Foundry Toolkit でお手軽アプリ開発
seosoft
1
310
キャリア迷子上等 ─ "ない道"は自分で作ればいい
16bitidol
3
1.6k
正しくソフトウェアを作る、前提を疑うための認知の視点 / doubt-premise
minodriven
17
6k
JavaDoc 再入門
nagise
0
280
ADKを使って簡単にAIエージェントを作ってみよう
k1mu21
0
230
運用エージェントは "作る" から "育てる" へ - 記憶と自己進化の3層設計パターン / self-evolving-agents-three-layer-agent-design
gawa
12
3.5k
Language Server 使ってる? 〜VSCode と Zed の場合〜 / Are you using a Language Server? ~For VS Code and Zed~
handlename
0
760
Why Laravel apps break—Mastering the fundamentals to keep them maintainable
kentaroutakeda
1
340
密結合なバックエンドから TypeScript のコードを生成する
kemuridama
1
740
「AIで開発し、AIを届ける」をEvalでつなぐ 〜AIネイティブに始めるプロダクト開発の実践〜 / Connecting "Develop with AI, deliver AI" with Eval
rkaga
4
2.9k
AutonomyとControlのあいだ:Graflowで記述するAIエージェント協調
myui
0
110
Featured
See All Featured
Designing Experiences People Love
moore
143
24k
Unsuck your backbone
ammeep
672
58k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.5k
New Earth Scene 8
popppiees
3
2.3k
Building Adaptive Systems
keathley
44
3k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
130
Fireside Chat
paigeccino
42
3.9k
Paper Plane (Part 1)
katiecoart
PRO
0
8.5k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.2k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
280
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
220
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 !!