Soumettre la recherche
Mettre en ligne
Build your AR app by using AR Foundation samples
•
Télécharger en tant que PPTX, PDF
•
1 j'aime
•
545 vues
Hirokazu Egashira
Suivre
日本アンドロイドの会 2020年1月定例会発表資料
Lire moins
Lire la suite
Technologie
Affichage du diaporama
Signaler
Partager
Affichage du diaporama
Signaler
Partager
1 sur 28
Télécharger maintenant
Recommandé
ARCore Update (Jan 2020)
ARCore Update (Jan 2020)
Hirokazu Egashira
Introduction to AR Foundation
Introduction to AR Foundation
Hirokazu Egashira
Maker Faire Tokyo 2016 Talk
Maker Faire Tokyo 2016 Talk
Reo Matsumura
はじめようArcore (修正版)
はじめようArcore (修正版)
Takashi Yoshinaga
Ar unity project改善
Ar unity project改善
shimada tatsuya
Google vrからはじめるdaydreamへの道
Google vrからはじめるdaydreamへの道
shimada tatsuya
ジャンクのススメ(公開用)
ジャンクのススメ(公開用)
Akira Kaneda
ARコンテンツ作成勉強会 in 宮崎: はじめようARCore
ARコンテンツ作成勉強会 in 宮崎: はじめようARCore
Takashi Yoshinaga
Recommandé
ARCore Update (Jan 2020)
ARCore Update (Jan 2020)
Hirokazu Egashira
Introduction to AR Foundation
Introduction to AR Foundation
Hirokazu Egashira
Maker Faire Tokyo 2016 Talk
Maker Faire Tokyo 2016 Talk
Reo Matsumura
はじめようArcore (修正版)
はじめようArcore (修正版)
Takashi Yoshinaga
Ar unity project改善
Ar unity project改善
shimada tatsuya
Google vrからはじめるdaydreamへの道
Google vrからはじめるdaydreamへの道
shimada tatsuya
ジャンクのススメ(公開用)
ジャンクのススメ(公開用)
Akira Kaneda
ARコンテンツ作成勉強会 in 宮崎: はじめようARCore
ARコンテンツ作成勉強会 in 宮崎: はじめようARCore
Takashi Yoshinaga
201304013 LOD Prize in Android Yokosuka
201304013 LOD Prize in Android Yokosuka
Kenichi Ohwada
はじめようARCore
はじめようARCore
Takashi Yoshinaga
MAX-JSオジサン#5
MAX-JSオジサン#5
minoru nakanou
Global Azure Boot Camp 妖怪は見た!実録Azure事件簿
Global Azure Boot Camp 妖怪は見た!実録Azure事件簿
Keiichi Hashimoto
Android WearとXXXX
Android WearとXXXX
Masaya Tanaka
javafx-mini4wd
javafx-mini4wd
Kiyotaka Oku
Node.jsのオートスケールをFRPで管理する
Node.jsのオートスケールをFRPで管理する
kidach1
ROS JAPAN Users Group Meetup 03
ROS JAPAN Users Group Meetup 03
Daiki Maekawa
[Road to Stingray] Stingrayで進めるアニメーションワークフローについて
[Road to Stingray] Stingrayで進めるアニメーションワークフローについて
ue_ta
おいしいFragment #antama_ws
おいしいFragment #antama_ws
Takahiro Yoshimura
Zabbixを徹底活用してみよう ~4.2の最新情報もご紹介~
Zabbixを徹底活用してみよう ~4.2の最新情報もご紹介~
Daisuke Ikeda
Amebaにおけるレコメンデーションシステムの紹介
Amebaにおけるレコメンデーションシステムの紹介
cyberagent
Android Hacks - 合宿 Activity
Android Hacks - 合宿 Activity
Masanori Ohkawara
20120422 日本androidの会 横浜支部 smartwatch開発
20120422 日本androidの会 横浜支部 smartwatch開発
ta9mar
Osakijs #01 「enchant.jsハンズオン資料」
Osakijs #01 「enchant.jsハンズオン資料」
Yusuke HIDESHIMA
SPAJAMでやったこと
SPAJAMでやったこと
Hiroto Imoto
History api
History api
Takami Kazuya
OPTPiX SpriteStudio 勉強会#03 「今回は中~上級者向け! キーワードは『達人のコツ』と『2Dツールの可能性』、そして『グロテスク』!!」
OPTPiX SpriteStudio 勉強会#03 「今回は中~上級者向け! キーワードは『達人のコツ』と『2Dツールの可能性』、そして『グロテスク』!!」
Web Technology Corp.
iPhoneカメラアプリ開発入門(第1回)
iPhoneカメラアプリ開発入門(第1回)
Takashi Ohtsuka
AWS(Rekognition)と Pepperでご機嫌解析
AWS(Rekognition)と Pepperでご機嫌解析
Mitsuhiro Yamashita
AppSEO(ASO)の基本と活用方法
AppSEO(ASO)の基本と活用方法
StarGarage inc.
知っ徳!納徳!Magic Leap 《デバイス編》
知っ徳!納徳!Magic Leap 《デバイス編》
Sadao Tokuyama
Contenu connexe
Tendances
201304013 LOD Prize in Android Yokosuka
201304013 LOD Prize in Android Yokosuka
Kenichi Ohwada
はじめようARCore
はじめようARCore
Takashi Yoshinaga
MAX-JSオジサン#5
MAX-JSオジサン#5
minoru nakanou
Global Azure Boot Camp 妖怪は見た!実録Azure事件簿
Global Azure Boot Camp 妖怪は見た!実録Azure事件簿
Keiichi Hashimoto
Android WearとXXXX
Android WearとXXXX
Masaya Tanaka
javafx-mini4wd
javafx-mini4wd
Kiyotaka Oku
Node.jsのオートスケールをFRPで管理する
Node.jsのオートスケールをFRPで管理する
kidach1
ROS JAPAN Users Group Meetup 03
ROS JAPAN Users Group Meetup 03
Daiki Maekawa
[Road to Stingray] Stingrayで進めるアニメーションワークフローについて
[Road to Stingray] Stingrayで進めるアニメーションワークフローについて
ue_ta
Tendances
(9)
201304013 LOD Prize in Android Yokosuka
201304013 LOD Prize in Android Yokosuka
はじめようARCore
はじめようARCore
MAX-JSオジサン#5
MAX-JSオジサン#5
Global Azure Boot Camp 妖怪は見た!実録Azure事件簿
Global Azure Boot Camp 妖怪は見た!実録Azure事件簿
Android WearとXXXX
Android WearとXXXX
javafx-mini4wd
javafx-mini4wd
Node.jsのオートスケールをFRPで管理する
Node.jsのオートスケールをFRPで管理する
ROS JAPAN Users Group Meetup 03
ROS JAPAN Users Group Meetup 03
[Road to Stingray] Stingrayで進めるアニメーションワークフローについて
[Road to Stingray] Stingrayで進めるアニメーションワークフローについて
Similaire à Build your AR app by using AR Foundation samples
おいしいFragment #antama_ws
おいしいFragment #antama_ws
Takahiro Yoshimura
Zabbixを徹底活用してみよう ~4.2の最新情報もご紹介~
Zabbixを徹底活用してみよう ~4.2の最新情報もご紹介~
Daisuke Ikeda
Amebaにおけるレコメンデーションシステムの紹介
Amebaにおけるレコメンデーションシステムの紹介
cyberagent
Android Hacks - 合宿 Activity
Android Hacks - 合宿 Activity
Masanori Ohkawara
20120422 日本androidの会 横浜支部 smartwatch開発
20120422 日本androidの会 横浜支部 smartwatch開発
ta9mar
Osakijs #01 「enchant.jsハンズオン資料」
Osakijs #01 「enchant.jsハンズオン資料」
Yusuke HIDESHIMA
SPAJAMでやったこと
SPAJAMでやったこと
Hiroto Imoto
History api
History api
Takami Kazuya
OPTPiX SpriteStudio 勉強会#03 「今回は中~上級者向け! キーワードは『達人のコツ』と『2Dツールの可能性』、そして『グロテスク』!!」
OPTPiX SpriteStudio 勉強会#03 「今回は中~上級者向け! キーワードは『達人のコツ』と『2Dツールの可能性』、そして『グロテスク』!!」
Web Technology Corp.
iPhoneカメラアプリ開発入門(第1回)
iPhoneカメラアプリ開発入門(第1回)
Takashi Ohtsuka
AWS(Rekognition)と Pepperでご機嫌解析
AWS(Rekognition)と Pepperでご機嫌解析
Mitsuhiro Yamashita
AppSEO(ASO)の基本と活用方法
AppSEO(ASO)の基本と活用方法
StarGarage inc.
知っ徳!納徳!Magic Leap 《デバイス編》
知っ徳!納徳!Magic Leap 《デバイス編》
Sadao Tokuyama
謎解き分科会講演 「NOT DIGITAL」
謎解き分科会講演 「NOT DIGITAL」
Youichiro Miyake
JJavaプログラム実行の仕組みと、高速・安定動作に向けた取り組み
JJavaプログラム実行の仕組みと、高速・安定動作に向けた取り組み
日本Javaユーザーグループ
『機械学習 (AI/ML) の基礎と Microsoft の AI | 2019/04/02 Global AI Nights Fukui
『機械学習 (AI/ML) の基礎と Microsoft の AI | 2019/04/02 Global AI Nights Fukui
Fujio Kojima
地獄Spec
地獄Spec
Drecom Co., Ltd.
地獄Spec
地獄Spec
Tsunenori Oohara
traceur-compilerで未来のJavaScriptを体験
traceur-compilerで未来のJavaScriptを体験
Toshio Ehara
HoloLensハンズオン@ももち浜TECHカフェ vol.2
HoloLensハンズオン@ももち浜TECHカフェ vol.2
Takashi Yoshinaga
Similaire à Build your AR app by using AR Foundation samples
(20)
おいしいFragment #antama_ws
おいしいFragment #antama_ws
Zabbixを徹底活用してみよう ~4.2の最新情報もご紹介~
Zabbixを徹底活用してみよう ~4.2の最新情報もご紹介~
Amebaにおけるレコメンデーションシステムの紹介
Amebaにおけるレコメンデーションシステムの紹介
Android Hacks - 合宿 Activity
Android Hacks - 合宿 Activity
20120422 日本androidの会 横浜支部 smartwatch開発
20120422 日本androidの会 横浜支部 smartwatch開発
Osakijs #01 「enchant.jsハンズオン資料」
Osakijs #01 「enchant.jsハンズオン資料」
SPAJAMでやったこと
SPAJAMでやったこと
History api
History api
OPTPiX SpriteStudio 勉強会#03 「今回は中~上級者向け! キーワードは『達人のコツ』と『2Dツールの可能性』、そして『グロテスク』!!」
OPTPiX SpriteStudio 勉強会#03 「今回は中~上級者向け! キーワードは『達人のコツ』と『2Dツールの可能性』、そして『グロテスク』!!」
iPhoneカメラアプリ開発入門(第1回)
iPhoneカメラアプリ開発入門(第1回)
AWS(Rekognition)と Pepperでご機嫌解析
AWS(Rekognition)と Pepperでご機嫌解析
AppSEO(ASO)の基本と活用方法
AppSEO(ASO)の基本と活用方法
知っ徳!納徳!Magic Leap 《デバイス編》
知っ徳!納徳!Magic Leap 《デバイス編》
謎解き分科会講演 「NOT DIGITAL」
謎解き分科会講演 「NOT DIGITAL」
JJavaプログラム実行の仕組みと、高速・安定動作に向けた取り組み
JJavaプログラム実行の仕組みと、高速・安定動作に向けた取り組み
『機械学習 (AI/ML) の基礎と Microsoft の AI | 2019/04/02 Global AI Nights Fukui
『機械学習 (AI/ML) の基礎と Microsoft の AI | 2019/04/02 Global AI Nights Fukui
地獄Spec
地獄Spec
地獄Spec
地獄Spec
traceur-compilerで未来のJavaScriptを体験
traceur-compilerで未来のJavaScriptを体験
HoloLensハンズオン@ももち浜TECHカフェ vol.2
HoloLensハンズオン@ももち浜TECHカフェ vol.2
Plus de Hirokazu Egashira
ARCoreと モバイルARエクスペリエンス
ARCoreと モバイルARエクスペリエンス
Hirokazu Egashira
Immersive Web on your website
Immersive Web on your website
Hirokazu Egashira
ARCore Update
ARCore Update
Hirokazu Egashira
Introduction to Immersive Web
Introduction to Immersive Web
Hirokazu Egashira
PWAの機能の選択と設計について
PWAの機能の選択と設計について
Hirokazu Egashira
PWAってどう有効なのかしら 考えてみた
PWAってどう有効なのかしら 考えてみた
Hirokazu Egashira
デザイナー/エンジニア RWDで ステップアップLOVE
デザイナー/エンジニア RWDで ステップアップLOVE
Hirokazu Egashira
ARCore 101
ARCore 101
Hirokazu Egashira
Google ARが提供する WebAR 101
Google ARが提供する WebAR 101
Hirokazu Egashira
Example using LattePanda
Example using LattePanda
Hirokazu Egashira
LattePandaの紹介
LattePandaの紹介
Hirokazu Egashira
DFRobot
DFRobot
Hirokazu Egashira
Example using LattePanda
Example using LattePanda
Hirokazu Egashira
Intel EdisonでAndroid Things Lチカ?その後は?
Intel EdisonでAndroid Things Lチカ?その後は?
Hirokazu Egashira
Dive into Origami Studio
Dive into Origami Studio
Hirokazu Egashira
Tangoが切り開く MRの世界と日本における最新開発事例
Tangoが切り開く MRの世界と日本における最新開発事例
Hirokazu Egashira
Intel Joule Module ユーザーガイド(2)初期設定編【非公式】
Intel Joule Module ユーザーガイド(2)初期設定編【非公式】
Hirokazu Egashira
Web Speech API で2時間で作れる?ブラウザロボット
Web Speech API で2時間で作れる?ブラウザロボット
Hirokazu Egashira
Pepperのアプリ開発について - ABC2015 Summer -
Pepperのアプリ開発について - ABC2015 Summer -
Hirokazu Egashira
AITCオープンラボ 第4回 IoT勉強会 〜 Pepper x IoT x Web 〜
AITCオープンラボ 第4回 IoT勉強会 〜 Pepper x IoT x Web 〜
Hirokazu Egashira
Plus de Hirokazu Egashira
(20)
ARCoreと モバイルARエクスペリエンス
ARCoreと モバイルARエクスペリエンス
Immersive Web on your website
Immersive Web on your website
ARCore Update
ARCore Update
Introduction to Immersive Web
Introduction to Immersive Web
PWAの機能の選択と設計について
PWAの機能の選択と設計について
PWAってどう有効なのかしら 考えてみた
PWAってどう有効なのかしら 考えてみた
デザイナー/エンジニア RWDで ステップアップLOVE
デザイナー/エンジニア RWDで ステップアップLOVE
ARCore 101
ARCore 101
Google ARが提供する WebAR 101
Google ARが提供する WebAR 101
Example using LattePanda
Example using LattePanda
LattePandaの紹介
LattePandaの紹介
DFRobot
DFRobot
Example using LattePanda
Example using LattePanda
Intel EdisonでAndroid Things Lチカ?その後は?
Intel EdisonでAndroid Things Lチカ?その後は?
Dive into Origami Studio
Dive into Origami Studio
Tangoが切り開く MRの世界と日本における最新開発事例
Tangoが切り開く MRの世界と日本における最新開発事例
Intel Joule Module ユーザーガイド(2)初期設定編【非公式】
Intel Joule Module ユーザーガイド(2)初期設定編【非公式】
Web Speech API で2時間で作れる?ブラウザロボット
Web Speech API で2時間で作れる?ブラウザロボット
Pepperのアプリ開発について - ABC2015 Summer -
Pepperのアプリ開発について - ABC2015 Summer -
AITCオープンラボ 第4回 IoT勉強会 〜 Pepper x IoT x Web 〜
AITCオープンラボ 第4回 IoT勉強会 〜 Pepper x IoT x Web 〜
Dernier
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
Yuki Kikuchi
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
FumieNakayama
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
FumieNakayama
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
博三 太田
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
UEHARA, Tetsutaro
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
akihisamiyanaga1
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
sugiuralab
Dernier
(9)
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
Build your AR app by using AR Foundation samples
1.
Build your AR
app by using AR Foundation samples In usecase of Image tracking 2020.01.22 (wed) eegozilla @JAG 1月定例会
2.
Who are you? eegozilla
(@ega1979) Copyright @Hirokazu Egashira a.k.a eegozilla. All right reserved. • フリーランスのエンジニア(ARのアプリをつくってます) • ROSCon JP 理事 • 日本アンドロイドの会 運営委員 • GoogleXR WG主宰 (最近活動していない…) • html5j運営スタッフ, ロボット部部長, Webプラットフォーム部スタッフ (最近活動していない…)
3.
先程、Samplesを使えばかんたんに試せるとは言ったものの… Copyright @Hirokazu Egashira
a.k.a eegozilla. All right reserved.
4.
先程、Samplesを使えばかんたんに試せるとは言ったものの… サンプルは実際のユースケースに 合わせて作っているわけではない! Copyright @Hirokazu Egashira
a.k.a eegozilla. All right reserved.
5.
例えば Image trackingを使ったイベント向けアプリ Copyright @Hirokazu
Egashira a.k.a eegozilla. All right reserved.
6.
とりあえずサンプルを試してみる Copyright @Hirokazu Egashira
a.k.a eegozilla. All right reserved.
7.
しかし、実際のユースケースを考えると 1度にまとめてトラッキングさせたくない(1枚限りにしたい) トラッキングを外したら表示される画像は消したい Image trackingにオン/オフさせたい Copyright @Hirokazu
Egashira a.k.a eegozilla. All right reserved.
8.
サンプルのソースコードを見てみる Copyright @Hirokazu Egashira
a.k.a eegozilla. All right reserved.
9.
・トラッキングで検知した場合に、 OnTrackedImagesChanged(ARTrackedImagesChangedEventArgs eventArgs)が実行される ・ARTrackedImagesChangedEventArgs eventArgsは、トラッキングできた画像の全体の集合みたいなもの ・
var trackedImageはトラッキングできた個々の画像。 ・eventArgs.added/eventArgs.updatedにトラッキングできた画像についてリスト化される ※情報はaddedからupdatedに移される。 ・ void UpdateInfo(ARTrackedImage trackedImage) は検知した画像に対する上から被せるものの描画処理。 ・ OnTrackedImagesChanged()が実行される中でトラッキングできたものをupdateInfo()で描画処理を行う。 ソースコードから Copyright @Hirokazu Egashira a.k.a eegozilla. All right reserved.
10.
その1 Image trackingにオン/オフ機能 Copyright @Hirokazu
Egashira a.k.a eegozilla. All right reserved.
11.
試そうとしたこと 1. ARImagetrakingManagerのenableをfalseで起動(オフでスタート)。 トグルを用意してtrueに切り替える(オンにする)。 void Awake()
{ m_TrackedImageManager.enabled = false; } … void ImgTrackingOnEnable() { m_TrackedImageManager.enabled = true; } 2. トグルでARImagetrakingManagerのenableをfalseに戻す(オフにする)。 void ImgTrackingOnDisable() { m_TrackedImageManager.enabled = false; } … Copyright @Hirokazu Egashira a.k.a eegozilla. All right reserved.
12.
結果 1. ARImagetrakingManagerのenableをfalseで起動(オフでスタート)。 トグルを用意してtrueに切り替える(オンにする)。 void Awake()
{ … m_TrackedImageManager.enabled = false; … } … void ImgTrackingOnEnable() { … m_TrackedImageManager.enabled = true; … } Copyright @Hirokazu Egashira a.k.a eegozilla. All right reserved.
13.
結果 1. ARImagetrakingManagerのenableをfalseで起動(オフでスタート)。 トグルを用意してtrueに切り替える(オンにする)。 void Awake()
{ … m_TrackedImageManager.enabled = false; … } … void ImgTrackingOnEnable() { … m_TrackedImageManager.enabled = true; … } 黒い画面のまま動かない… (ARImagetrakingManager.csを有効にすることでデバイスのカメラI/Oへのアクセスを無効にしてしまった) Copyright @Hirokazu Egashira a.k.a eegozilla. All right reserved.
14.
結果 2. トグルでARImagetrakingManager.csのenableをfalseに戻す(オフにする)。 void ImgTrackingOnDisable()
{ … m_TrackedImageManager.enabled = false; … } … Copyright @Hirokazu Egashira a.k.a eegozilla. All right reserved.
15.
結果 一度テクスチャが描画されると完全になくならない。 PrefabをSetActive(false)にしても複数認識した場合は、一つしか非表示にできなかった。 2. トグルでARImagetrakingManager.csのenableをfalseに戻す(オフにする)。 void ImgTrackingOnDisable()
{ … m_TrackedImageManager.enabled = false; … } … Copyright @Hirokazu Egashira a.k.a eegozilla. All right reserved.
16.
対応策 ・enableをtrue/falseでコントロールするのではなく、別途bool値(ex. isFlag)を定義する ・isFlagのfalseのときにtrackedImage.gameObjectをSetActive(false) にする ・foreachでループされるので、全リファレンス画像について適用される ・ImageTrackingしか使わないときはenable=falseのスタートは諦める (他のManegaerを使うときは、そちらにカメラI/Oのアクセスを任せる) Copyright
@Hirokazu Egashira a.k.a eegozilla. All right reserved.
17.
Private bool m_isFlag
= true; … void OnTrackedImageChanged(ARTrackedImageChangedEventArgs eventArgs){ … if (!m_isFlag) { … foreach (var trackedImage in eventArgs) { … trackedImage.gameObject.SetActive(false); } … } else { … foreach (var trackedImage in eventArgs) { … trackedImage.gameObject.SetActive(true); UpdateInfo(trackedImage); } … } } Copyright @Hirokazu Egashira a.k.a eegozilla. All right reserved.
18.
その2 トラッキングを外したら表示される画像は消したい Copyright @Hirokazu Egashira
a.k.a eegozilla. All right reserved.
19.
・trackedImage.trackingStateは認識しているときはtracking、外れるとlimitedになる 対応策 ・foreachの中でtrackingのときにupdateInfo()実行し、それ以外のとき(limited)は trackedImage.gameObjectをSetActive(false) にして、updateInfo()を実行しない // OnTrackedImageChanged()の中のm_isFlag
= trueのときの処理 … foreach (var trackedImage in eventArgs.updated) { if (trackedImage.trackingState == TrackingState.Tracking) { … trackedImage.gameObject.SetActive(true); UpdateInfo(trackedImage); … } else { … trackedImage.gameObject.SetActive(false); … } } ・認識状態のログが取得できる(tracking, limited, none) Copyright @Hirokazu Egashira a.k.a eegozilla. All right reserved.
20.
その3 1度にまとめてトラッキングさせたくない (検知は1枚だけにしたい) Copyright @Hirokazu Egashira
a.k.a eegozilla. All right reserved.
21.
ARKit Pluginの場合 その数までしか認識できなくなる状態にできる UnityARCameraManagerにMaximumNumberOfTrackedImagesと いう値を設定できる。 Copyright @Hirokazu
Egashira a.k.a eegozilla. All right reserved.
22.
ARKit Pluginの場合 AR Foundationの場合 ARImagetrakingManagerにMaxNumberOfMovingImagesという値を設定できる。 The
maximum number of moving images to track in realtime. UnityARCameraManagerにMaximumNumberOfTrackedImagesと いう値を設定できる。 その数までしか認識できなくなる状態にできる Copyright @Hirokazu Egashira a.k.a eegozilla. All right reserved.
23.
ARKit Pluginの場合 AR Foundationの場合 なんか効いていない。。。 ARImagetrakingManagerにMaxNumberOfMovingImagesという値を設定できる。 The
maximum number of moving images to track in realtime. The maximum number of moving images to track in realtime. UnityARCameraManagerにMaximumNumberOfTrackedImagesと いう値を設定できる。 その数までしか認識できなくなる状態にできる Copyright @Hirokazu Egashira a.k.a eegozilla. All right reserved.
24.
ARKit Pluginの場合 AR Foundationの場合 なんか効いていない。。。 ARImagetrakingManagerにMaxNumberOfMovingImagesという値を設定できる。 The
maximum number of moving images to track in realtime. The maximum number of moving images to track in realtime. Not all implementations support this feature. UnityARCameraManagerにMaximumNumberOfTrackedImagesと いう値を設定できる。 その数までしか認識できなくなる状態にできる Copyright @Hirokazu Egashira a.k.a eegozilla. All right reserved.
25.
対応策 ・認識画像(ReferenceImage)から取得できる情報を確認する(name, uuid) ・認識状態のログが取得できる(tracking, limited,
none) ・認識した参照画像の情報と認識状態によって条件分岐して、updateInfo()を実行する ・trackedImage.trackingStateは認識しているときはtracking、外れるとlimitedになる Copyright @Hirokazu Egashira a.k.a eegozilla. All right reserved.
26.
private string disdplayName
= “”; // OnTrackedImageChanged()の中のm_isFlag = trueのときの処理 … foreach (var trackedImage in eventArgs.updated) { if (trackedImage.trackingState == TrackingState.Tracking && displayName == “”) { … displayName = trackedImage.referenceImage.name; trackedImage.gameObject.SetActive(true); UpdateInfo(trackedImage); … } else if (trackedImage.trackingState == TrackingState.Tracking && displayName == trackedImage.referenceImage.name) { … trackedImage.gameObject.SetActive(true); UpdateInfo(trackedImage); … } else if (trackedImage.trackingState != TrackingState.Tracking && displayName == trackedImage.referenceImage.name) { … displayName = “”; trackedImage.gameObject.SetActive(false); … } else { … trackedImage.gameObject.SetActive(false); … } } … Copyright @Hirokazu Egashira a.k.a eegozilla. All right reserved.
27.
Copyright @Hirokazu Egashira
a.k.a eegozilla. All right reserved.
28.
Recap #2 ・そのためにはとにかくログを出せ、ログを追え ・ユースケースをちゃんと考える (ユーザーは想定外の動きをすることが前提) ・条件分岐させるフックとなる部分を探せ ・サンプルをちょこっと弄るだけでは作れない。 (「おっ」となる部分だけの部分だけに目を向けると足元をすくわれる) ・ユースケースからできるだけ細かいテストケースをつくる (テストを考えられないエンジニアはエンジニアとは言えない) Copyright @Hirokazu
Egashira a.k.a eegozilla. All right reserved.
Télécharger maintenant