Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
WebAR
Search
Kaneko Takeshi
June 16, 2017
Technology
56
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
WebAR
Kaneko Takeshi
June 16, 2017
More Decks by Kaneko Takeshi
See All by Kaneko Takeshi
オープンソースライセンスについて勉強する定期
tkckaneko
0
49
Eye Tracking on the Browser
tkckaneko
0
100
IEEE754を完全に理解した
tkckaneko
1
89
CSSのトレンドをみんなで見よう -2021年-
tkckaneko
0
100
多分これが一番早いと思います
tkckaneko
0
31
暗黒面の話
tkckaneko
0
31
CSR / SSR / SSG / JAMstack
tkckaneko
0
79
BOLT
tkckaneko
0
43
CSS Logical Properties and Values
tkckaneko
0
65
Other Decks in Technology
See All in Technology
FactoryBotアンチパターン / factory_bot anti-patterns
toshimaru
0
150
不可逆な意思決定を避けながら10億超の顧客データを AI Ready にするデータ基盤設計
baseballyama
1
310
大型犬好きによるPugの紹介
yamanoku
1
150
AI時代のAPI開発を加速する品質ガードレール / API Quality Guardrails in the AI Era
yokawasa
0
190
今さら理解するウェブフォントver.2026
takanorip
3
690
AI時代のPRレビューにどう向き合うか?
kairim0
1
210
AIカンパニーへの転換を支えた、エンジニアの仕事の再定義
kworkdev
PRO
2
540
使いこなすために知っておきたい Azure SRE Agent アンチパターン
torumakabe
2
480
事業成長とデータ活用を止めないためのマネジメントへ挑戦
hiracky16
0
320
組み立てて楽しむ AWS Blocks 入門
kmiya84377
0
230
無理せず続ける、子育てエンジニアの学び
codmoninc
PRO
0
710
TinyGoでオブザーバビリティ?OpenTelemetryはTinyGoで使えるのか / Is OpenTelemetry available in TinyGo environment?
ymotongpoo
2
140
Featured
See All Featured
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
1
450
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
300
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.7k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
4
1.2k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.4k
Information Architects: The Missing Link in Design Systems
soysaucechin
1
1.2k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
530
My Coaching Mixtape
mlcsv
0
350
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
Writing Fast Ruby
sferik
630
63k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.6k
Done Done
chrislema
187
17k
Transcript
WEB AR
なぜWebARの話をするかというと
Safari 11からカメラにアクセスできます (Androidは前からできます)
まだベータ版ですが 新機能として公式に紹介されています https://developer.apple.com/library/content/releasenotes/General/WhatsNewI nSafari/Safari_11_0/Safari_11_0.html
New in Safari 11.0 – Camera and microphone access. -
Added support for the Media Capture API. - Websites can access camera and microphone streams from a user's device (user permission is required.)
Media Capture Stream API って規格です
規格については難しので、 W3Cで読んでください https://www.w3.org/TR/mediacapture-streams/
今日はコレを使って 何ができるか紹介したいと思います
ざっくりした使い方説明
カメラやマイクの入力を getUserMediaで取得します
navigator.mediaDevices.getUserMedia (constraints)
これはPromise形式になっています
navigator.mediaDevices.getUserMedia (constraints) .then (successCallback).catch (failureCallback)
パラメータを渡すことで 解像度やリアカメラ、フロントカメラなどを 選ぶことができます
マイクとカメラの指定 { audio: true, video: true }
解像度の指定 { video: { width: 1280, height: 720 } }
解像度の最小値の指定 { video: { width: { min: 1280 }, height:
{ min: 720 } }}
フレームレートの指定 { video: { frameRate: { max: 15 } }
}
カメラの指定 { video: { facingMode: { exact: "user" } }
} リアカメラは "environment" です
まとめ navigator.mediaDevices.getUserMedia (constraints) .then (function (stream) { const video =
document.querySelector ('video') video.src = window.URL.createObjectURL (stream) video.onloadedmetadata = function(e) { video.play () } }) .catch (function (err) { console.log (err.name + ": " + err.message) })
これでカメラの映像をJavaScriptで 取得できました
ブラウザでARができるようになった ということです
AR
その時周囲を取り巻く現実環境に 情報を付加・削除・強調・減衰させ、 文字通り人間から見た現実世界を 拡張するものを指す
!すみません! サンプルしか用意できませんでした
カメラでマーカーを認識して オブジェクトを表示する
https://github.com/jeromeetienne/AR.js
カメラで顔を認識する
https://ics.media/entry/13038
クロマキー合成する
https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API/Manipulating_video_us ing_canvas
まだまだ課題が多くあります
➔ 対応端末が少ない ➔ 処理速度や精度が低い
今まではアプリだけだったARを ブラウザで表現できるようになります
これからWebARが 盛り上がるといいなー