SlideShare una empresa de Scribd logo
1 de 26
Descargar para leer sin conexión
2019-05-17 Shibuya.apk #34 - Report from Google I/O 2019 @cattaka_net
Google I/O 2019 の Codelabs で
ARCore Cloud Anchors を触った話
Takao Sumitomo
@cattaka_net
2019-05-17 Shibuya.apk #34 - Report from Google I/O 2019 @cattaka_net
自己紹介
●
住友 孝郎(Takao Sumitomo)
●
Wantedly, Inc. 所属
●
Androidアプリを主に担当
●
@cattaka_net (アイコンは気分で変わる)
2019-05-17 Shibuya.apk #34 - Report from Google I/O 2019 @cattaka_net
Google I/O 2019行ってきたよ
2019-05-17 Shibuya.apk #34 - Report from Google I/O 2019 @cattaka_net
内容被ったので
Codelabsで得た知見を共有します
2019-05-17 Shibuya.apk #34 - Report from Google I/O 2019 @cattaka_net
Codelabsで遊んできました
2019-05-17 Shibuya.apk #34 - Report from Google I/O 2019 @cattaka_net
2019-05-17 Shibuya.apk #34 - Report from Google I/O 2019 @cattaka_net
お題:ARCore Cloud Anchors
2019-05-17 Shibuya.apk #34 - Report from Google I/O 2019 @cattaka_net
そもそも ARCore って?
●
カメラやセンサー類で動きを検出
●
動かしたらそれに追従する
●
アンカーを使うと、それを起点にオブジェクトを表示できる
公式のQuickstartより
https://developers.google.com/ar/develop/java/quickstart
2019-05-17 Shibuya.apk #34 - Report from Google I/O 2019 @cattaka_net
ARCore Cloud Anchors って?
●
クライアント側で作ったアンカーを共有できる
アンカーに
なりそうなものを
撮影して作成
Cloud Anchorsホストさせる
共有する
2019-05-17 Shibuya.apk #34 - Report from Google I/O 2019 @cattaka_net
複数人が同じ空間を共有できる
●
たとえば2人で1つの机に向かい、その机をアンカーにする
2019-05-17 Shibuya.apk #34 - Report from Google I/O 2019 @cattaka_net
実装はどんな感じなのか?
2019-05-17 Shibuya.apk #34 - Report from Google I/O 2019 @cattaka_net
アンカーを作る
●
ARCoreが自動で認識した平面をタップしたとき、
そのタップした平面が渡される
// コールバックで渡される
HitResult hitResult = /* タップした平面 */;
// アンカーを作成する
Anchor anchor = hitResult.createAnchor();
setNewAnchor(anchor);
2019-05-17 Shibuya.apk #34 - Report from Google I/O 2019 @cattaka_net
アンカーを Cloud Anchors にホストする
●
普通にメソッドをたたいて、成否はコールバック
Scene arScene = getArSceneView().getScene();
// Cloud Anchor にホストさせる
Anchor newAnchor = getArSceneView().getSession().hostCloudAnchor(anchor);
// 反映されたラコールバックが呼ばれる
arScene.addOnUpdateListener(frameTime -> { /* コールバック */ });
2019-05-17 Shibuya.apk #34 - Report from Google I/O 2019 @cattaka_net
アンカーのIDを取得
●
ただの String です
●
これを共有すればOK
String cloudAnchorId = anchor.getCloudAnchorId();
2019-05-17 Shibuya.apk #34 - Report from Google I/O 2019 @cattaka_net
共有されたアンカーを取得する
●
普通にメソッドをたたいて、成否はコールバック
Scene arScene = getArSceneView().getScene();
Anchor newAnchor = getArSceneView().getSession()
.resolveCloudAnchor(cloudAnchorId);
// 反映されたラコールバックが呼ばれる
arScene.addOnUpdateListener(frameTime -> { /* コールバック */ });
2019-05-17 Shibuya.apk #34 - Report from Google I/O 2019 @cattaka_net
すごい簡単!!
2019-05-17 Shibuya.apk #34 - Report from Google I/O 2019 @cattaka_net
どうして今まで手を出さなかったのか、、、
2019-05-17 Shibuya.apk #34 - Report from Google I/O 2019 @cattaka_net
学習を阻むもの
●
やったことが無いものはハードルが高い
●
サンプルコードは実行しただけで満足してしまう
2019-05-17 Shibuya.apk #34 - Report from Google I/O 2019 @cattaka_net
Codelabの良いところ
●
直接関係しない部分は準備されている
●
要点のみが適度な穴埋め問題になっている
●
自分で動かせている感がある
●
完全に理解した気持ちになれる
2019-05-17 Shibuya.apk #34 - Report from Google I/O 2019 @cattaka_net
Codelabs は小一時間で把握できた
2019-05-17 Shibuya.apk #34 - Report from Google I/O 2019 @cattaka_net
CameraX と MLKit も楽しかった
2019-05-17 Shibuya.apk #34 - Report from Google I/O 2019 @cattaka_net
Object Detection Model
https://drive.google.com/file/d/1LXBsgIRMeNSpB3zV1MmAcGGPjqlakTo2/view?usp=sharing
2019-05-17 Shibuya.apk #34 - Report from Google I/O 2019 @cattaka_net
Image Label Model
https://drive.google.com/file/d/1DUszdyxs5T5RLEH3QiXOnO8u7BLuHyRn/view?usp=sharing
2019-05-17 Shibuya.apk #34 - Report from Google I/O 2019 @cattaka_net
カメラアプリのサンプル
https://github.com/cattaka/CameraXMLKit
2019-05-17 Shibuya.apk #34 - Report from Google I/O 2019 @cattaka_net
学ぶモチベーションを得た!
2019-05-17 Shibuya.apk #34 - Report from Google I/O 2019 @cattaka_net
ご清聴ありがとうございました
Takao Sumitomo
@cattaka_net

Más contenido relacionado

Más de Takao Sumitomo

Viewを動的に変化させるアプローチ
Viewを動的に変化させるアプローチViewを動的に変化させるアプローチ
Viewを動的に変化させるアプローチTakao Sumitomo
 
プロダクトを育てるのにGoogleのサービスが助けてくれること
プロダクトを育てるのにGoogleのサービスが助けてくれることプロダクトを育てるのにGoogleのサービスが助けてくれること
プロダクトを育てるのにGoogleのサービスが助けてくれることTakao Sumitomo
 
AdapterToolboxでRecyclerViewを楽にする
AdapterToolboxでRecyclerViewを楽にするAdapterToolboxでRecyclerViewを楽にする
AdapterToolboxでRecyclerViewを楽にするTakao Sumitomo
 
エンジニアがプロダクト育成を始めるまでにやったこと
エンジニアがプロダクト育成を始めるまでにやったことエンジニアがプロダクト育成を始めるまでにやったこと
エンジニアがプロダクト育成を始めるまでにやったことTakao Sumitomo
 
Wantedlyのテスト事情
Wantedlyのテスト事情Wantedlyのテスト事情
Wantedlyのテスト事情Takao Sumitomo
 
用途に合わせたアニメーションの実装方法
用途に合わせたアニメーションの実装方法用途に合わせたアニメーションの実装方法
用途に合わせたアニメーションの実装方法Takao Sumitomo
 
potatotips (iOS/Android開発Tips共有会) 第19回 資料
potatotips (iOS/Android開発Tips共有会) 第19回 資料potatotips (iOS/Android開発Tips共有会) 第19回 資料
potatotips (iOS/Android開発Tips共有会) 第19回 資料Takao Sumitomo
 
SQLiteDatabaseを無理矢理覗く
SQLiteDatabaseを無理矢理覗くSQLiteDatabaseを無理矢理覗く
SQLiteDatabaseを無理矢理覗くTakao Sumitomo
 
開発を効率的に進めるられるまでの道程
開発を効率的に進めるられるまでの道程開発を効率的に進めるられるまでの道程
開発を効率的に進めるられるまでの道程Takao Sumitomo
 
テストがあればなんとかなる〜効率化までの道程〜
テストがあればなんとかなる〜効率化までの道程〜テストがあればなんとかなる〜効率化までの道程〜
テストがあればなんとかなる〜効率化までの道程〜Takao Sumitomo
 
勉強会資料 データ構造とアルゴリズム
勉強会資料 データ構造とアルゴリズム勉強会資料 データ構造とアルゴリズム
勉強会資料 データ構造とアルゴリズムTakao Sumitomo
 
勉強会資料 Uml概要
勉強会資料 Uml概要勉強会資料 Uml概要
勉強会資料 Uml概要Takao Sumitomo
 
Firefox OSの何が嬉しいか
Firefox OSの何が嬉しいかFirefox OSの何が嬉しいか
Firefox OSの何が嬉しいかTakao Sumitomo
 
HTML5でFirefox OSアプリを作ろう
HTML5でFirefox OSアプリを作ろうHTML5でFirefox OSアプリを作ろう
HTML5でFirefox OSアプリを作ろうTakao Sumitomo
 
フォクすけロボ開発進捗報告
フォクすけロボ開発進捗報告フォクすけロボ開発進捗報告
フォクすけロボ開発進捗報告Takao Sumitomo
 
今更ながらCSS3を試してみた
今更ながらCSS3を試してみた今更ながらCSS3を試してみた
今更ながらCSS3を試してみたTakao Sumitomo
 
Crystalskullを改造してみる
Crystalskullを改造してみるCrystalskullを改造してみる
Crystalskullを改造してみるTakao Sumitomo
 
もしソフトウェアディベロッパーが3Dプリンターで『フォクすけ』を作ったら
もしソフトウェアディベロッパーが3Dプリンターで『フォクすけ』を作ったらもしソフトウェアディベロッパーが3Dプリンターで『フォクすけ』を作ったら
もしソフトウェアディベロッパーが3Dプリンターで『フォクすけ』を作ったらTakao Sumitomo
 
アンドロイダー的にHTML5でどこまでできそうか
アンドロイダー的にHTML5でどこまでできそうかアンドロイダー的にHTML5でどこまでできそうか
アンドロイダー的にHTML5でどこまでできそうかTakao Sumitomo
 

Más de Takao Sumitomo (20)

Viewを動的に変化させるアプローチ
Viewを動的に変化させるアプローチViewを動的に変化させるアプローチ
Viewを動的に変化させるアプローチ
 
プロダクトを育てるのにGoogleのサービスが助けてくれること
プロダクトを育てるのにGoogleのサービスが助けてくれることプロダクトを育てるのにGoogleのサービスが助けてくれること
プロダクトを育てるのにGoogleのサービスが助けてくれること
 
AdapterToolboxでRecyclerViewを楽にする
AdapterToolboxでRecyclerViewを楽にするAdapterToolboxでRecyclerViewを楽にする
AdapterToolboxでRecyclerViewを楽にする
 
エンジニアがプロダクト育成を始めるまでにやったこと
エンジニアがプロダクト育成を始めるまでにやったことエンジニアがプロダクト育成を始めるまでにやったこと
エンジニアがプロダクト育成を始めるまでにやったこと
 
Wantedlyのテスト事情
Wantedlyのテスト事情Wantedlyのテスト事情
Wantedlyのテスト事情
 
用途に合わせたアニメーションの実装方法
用途に合わせたアニメーションの実装方法用途に合わせたアニメーションの実装方法
用途に合わせたアニメーションの実装方法
 
Uml速習会
Uml速習会Uml速習会
Uml速習会
 
potatotips (iOS/Android開発Tips共有会) 第19回 資料
potatotips (iOS/Android開発Tips共有会) 第19回 資料potatotips (iOS/Android開発Tips共有会) 第19回 資料
potatotips (iOS/Android開発Tips共有会) 第19回 資料
 
SQLiteDatabaseを無理矢理覗く
SQLiteDatabaseを無理矢理覗くSQLiteDatabaseを無理矢理覗く
SQLiteDatabaseを無理矢理覗く
 
開発を効率的に進めるられるまでの道程
開発を効率的に進めるられるまでの道程開発を効率的に進めるられるまでの道程
開発を効率的に進めるられるまでの道程
 
テストがあればなんとかなる〜効率化までの道程〜
テストがあればなんとかなる〜効率化までの道程〜テストがあればなんとかなる〜効率化までの道程〜
テストがあればなんとかなる〜効率化までの道程〜
 
勉強会資料 データ構造とアルゴリズム
勉強会資料 データ構造とアルゴリズム勉強会資料 データ構造とアルゴリズム
勉強会資料 データ構造とアルゴリズム
 
勉強会資料 Uml概要
勉強会資料 Uml概要勉強会資料 Uml概要
勉強会資料 Uml概要
 
Firefox OSの何が嬉しいか
Firefox OSの何が嬉しいかFirefox OSの何が嬉しいか
Firefox OSの何が嬉しいか
 
HTML5でFirefox OSアプリを作ろう
HTML5でFirefox OSアプリを作ろうHTML5でFirefox OSアプリを作ろう
HTML5でFirefox OSアプリを作ろう
 
フォクすけロボ開発進捗報告
フォクすけロボ開発進捗報告フォクすけロボ開発進捗報告
フォクすけロボ開発進捗報告
 
今更ながらCSS3を試してみた
今更ながらCSS3を試してみた今更ながらCSS3を試してみた
今更ながらCSS3を試してみた
 
Crystalskullを改造してみる
Crystalskullを改造してみるCrystalskullを改造してみる
Crystalskullを改造してみる
 
もしソフトウェアディベロッパーが3Dプリンターで『フォクすけ』を作ったら
もしソフトウェアディベロッパーが3Dプリンターで『フォクすけ』を作ったらもしソフトウェアディベロッパーが3Dプリンターで『フォクすけ』を作ったら
もしソフトウェアディベロッパーが3Dプリンターで『フォクすけ』を作ったら
 
アンドロイダー的にHTML5でどこまでできそうか
アンドロイダー的にHTML5でどこまでできそうかアンドロイダー的にHTML5でどこまでできそうか
アンドロイダー的にHTML5でどこまでできそうか
 

Último

DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024The Digital Insurer
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024The Digital Insurer
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 

Último (20)

DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 

Google I/O 2019 の Codelabs で ARCore Cloud Anchors を触った話

  • 1. 2019-05-17 Shibuya.apk #34 - Report from Google I/O 2019 @cattaka_net Google I/O 2019 の Codelabs で ARCore Cloud Anchors を触った話 Takao Sumitomo @cattaka_net
  • 2. 2019-05-17 Shibuya.apk #34 - Report from Google I/O 2019 @cattaka_net 自己紹介 ● 住友 孝郎(Takao Sumitomo) ● Wantedly, Inc. 所属 ● Androidアプリを主に担当 ● @cattaka_net (アイコンは気分で変わる)
  • 3. 2019-05-17 Shibuya.apk #34 - Report from Google I/O 2019 @cattaka_net Google I/O 2019行ってきたよ
  • 4. 2019-05-17 Shibuya.apk #34 - Report from Google I/O 2019 @cattaka_net 内容被ったので Codelabsで得た知見を共有します
  • 5. 2019-05-17 Shibuya.apk #34 - Report from Google I/O 2019 @cattaka_net Codelabsで遊んできました
  • 6. 2019-05-17 Shibuya.apk #34 - Report from Google I/O 2019 @cattaka_net
  • 7. 2019-05-17 Shibuya.apk #34 - Report from Google I/O 2019 @cattaka_net お題:ARCore Cloud Anchors
  • 8. 2019-05-17 Shibuya.apk #34 - Report from Google I/O 2019 @cattaka_net そもそも ARCore って? ● カメラやセンサー類で動きを検出 ● 動かしたらそれに追従する ● アンカーを使うと、それを起点にオブジェクトを表示できる 公式のQuickstartより https://developers.google.com/ar/develop/java/quickstart
  • 9. 2019-05-17 Shibuya.apk #34 - Report from Google I/O 2019 @cattaka_net ARCore Cloud Anchors って? ● クライアント側で作ったアンカーを共有できる アンカーに なりそうなものを 撮影して作成 Cloud Anchorsホストさせる 共有する
  • 10. 2019-05-17 Shibuya.apk #34 - Report from Google I/O 2019 @cattaka_net 複数人が同じ空間を共有できる ● たとえば2人で1つの机に向かい、その机をアンカーにする
  • 11. 2019-05-17 Shibuya.apk #34 - Report from Google I/O 2019 @cattaka_net 実装はどんな感じなのか?
  • 12. 2019-05-17 Shibuya.apk #34 - Report from Google I/O 2019 @cattaka_net アンカーを作る ● ARCoreが自動で認識した平面をタップしたとき、 そのタップした平面が渡される // コールバックで渡される HitResult hitResult = /* タップした平面 */; // アンカーを作成する Anchor anchor = hitResult.createAnchor(); setNewAnchor(anchor);
  • 13. 2019-05-17 Shibuya.apk #34 - Report from Google I/O 2019 @cattaka_net アンカーを Cloud Anchors にホストする ● 普通にメソッドをたたいて、成否はコールバック Scene arScene = getArSceneView().getScene(); // Cloud Anchor にホストさせる Anchor newAnchor = getArSceneView().getSession().hostCloudAnchor(anchor); // 反映されたラコールバックが呼ばれる arScene.addOnUpdateListener(frameTime -> { /* コールバック */ });
  • 14. 2019-05-17 Shibuya.apk #34 - Report from Google I/O 2019 @cattaka_net アンカーのIDを取得 ● ただの String です ● これを共有すればOK String cloudAnchorId = anchor.getCloudAnchorId();
  • 15. 2019-05-17 Shibuya.apk #34 - Report from Google I/O 2019 @cattaka_net 共有されたアンカーを取得する ● 普通にメソッドをたたいて、成否はコールバック Scene arScene = getArSceneView().getScene(); Anchor newAnchor = getArSceneView().getSession() .resolveCloudAnchor(cloudAnchorId); // 反映されたラコールバックが呼ばれる arScene.addOnUpdateListener(frameTime -> { /* コールバック */ });
  • 16. 2019-05-17 Shibuya.apk #34 - Report from Google I/O 2019 @cattaka_net すごい簡単!!
  • 17. 2019-05-17 Shibuya.apk #34 - Report from Google I/O 2019 @cattaka_net どうして今まで手を出さなかったのか、、、
  • 18. 2019-05-17 Shibuya.apk #34 - Report from Google I/O 2019 @cattaka_net 学習を阻むもの ● やったことが無いものはハードルが高い ● サンプルコードは実行しただけで満足してしまう
  • 19. 2019-05-17 Shibuya.apk #34 - Report from Google I/O 2019 @cattaka_net Codelabの良いところ ● 直接関係しない部分は準備されている ● 要点のみが適度な穴埋め問題になっている ● 自分で動かせている感がある ● 完全に理解した気持ちになれる
  • 20. 2019-05-17 Shibuya.apk #34 - Report from Google I/O 2019 @cattaka_net Codelabs は小一時間で把握できた
  • 21. 2019-05-17 Shibuya.apk #34 - Report from Google I/O 2019 @cattaka_net CameraX と MLKit も楽しかった
  • 22. 2019-05-17 Shibuya.apk #34 - Report from Google I/O 2019 @cattaka_net Object Detection Model https://drive.google.com/file/d/1LXBsgIRMeNSpB3zV1MmAcGGPjqlakTo2/view?usp=sharing
  • 23. 2019-05-17 Shibuya.apk #34 - Report from Google I/O 2019 @cattaka_net Image Label Model https://drive.google.com/file/d/1DUszdyxs5T5RLEH3QiXOnO8u7BLuHyRn/view?usp=sharing
  • 24. 2019-05-17 Shibuya.apk #34 - Report from Google I/O 2019 @cattaka_net カメラアプリのサンプル https://github.com/cattaka/CameraXMLKit
  • 25. 2019-05-17 Shibuya.apk #34 - Report from Google I/O 2019 @cattaka_net 学ぶモチベーションを得た!
  • 26. 2019-05-17 Shibuya.apk #34 - Report from Google I/O 2019 @cattaka_net ご清聴ありがとうございました Takao Sumitomo @cattaka_net