SlideShare una empresa de Scribd logo
1 de 77
そしてWebVR
@2016.09.03 比留間 和也
HTML5 Conference 2016
自己紹介
比留間 和也
@edo_m18 @edom18
WebVRについての記事書きました
VRとは?
今年は
VR元年
VR元年?
実はVRの登場は
1960年代
画像元
当時はデパートの
アトラクション
時は流れて2016年
Googleトレンドで急上昇!
この流れの立役者は
Oculus Rift
DK1は2012年8月に登場
画像元
翌々年、2014年3月にDK2が発表
画像元
そして様々なHMDが
改めて
WebVRとは?
VRをWebで
実現する技術
ではない
WebVRは
APIの名称
仕様はW3CのGitHub上に
ホストされている
https://w3c.github.io/webvr/
仕様一覧
1 Introduction
2 DOM Interfaces
2.1 VRDisplay
2.2 VRLayer
2.3 VRDisplayCapabilities
2.4 VREye
2.5 VRFieldOfView
2.6 VRPose
2.7 VREyeParameters
2.8 VRStageParameters
2.9 Navigator Interface extension
Table of contents
2.10 VRDisplayEventReason
2.11 VRDisplayEvent
2.12 Window Interface extension
2.13 Gamepad Interface extension
3 Security Considerations
4 Acknowledgements
1 Introduction
2 DOM Interfaces
2.1 VRDisplay
2.2 VRLayer
2.3 VRDisplayCapabilities
2.4 VREye
2.5 VRFieldOfView
2.6 VRPose
2.7 VREyeParameters
2.8 VRStageParameters
2.9 Navigator Interface extension
Table of contents
2.10 VRDisplayEventReason
2.11 VRDisplayEvent
2.12 Window Interface extension
2.13 Gamepad Interface extension
3 Security Considerations
4 Acknowledgements
たったこれだけ
VR体験のための要素
https://hacks.mozilla.org/2016/03/introducing-the-webvr-1-0-api-proposal/
https://hacks.mozilla.org/2016/03/introducing-the-webvr-1-0-api-proposal/
つまり
APIはデバイスやセンサーからの
情報取得が主なお仕事
3D部分は
WebGLで作る
あくまで3Dコンテンツ制作の
延長線上にVRがある
セットアップ方法
基本的に
センサーからの値を取り出し
て
画面を更新するだけ
セットアップコード
function fieldOfViewToProjectionMatrix (fov, zNear, zFar) {
var upTan = Math.tan(fov.upDegrees * Math.PI / 180.0);
var downTan = Math.tan(fov.downDegrees * Math.PI / 180.0);
var leftTan = Math.tan(fov.leftDegrees * Math.PI / 180.0);
var rightTan = Math.tan(fov.rightDegrees * Math.PI / 180.0);
var xScale = 2.0 / (leftTan + rightTan);
var yScale = 2.0 / (upTan + downTan);
var out = new Float32Array(16);
out[0] = xScale;
out[1] = 0.0;
out[2] = 0.0;
out[3] = 0.0;
out[4] = 0.0;
out[5] = yScale;
out[6] = 0.0;
out[7] = 0.0;
out[8] = -((leftTan - rightTan) * xScale * 0.5);
out[9] = ((upTan - downTan) * yScale * 0.5);
out[10] = -(zNear + zFar) / (zFar - zNear);
out[11] = -1.0;
out[12] = 0.0;
out[13] = 0.0;
out[14] = -(2.0 * zFar * zNear) / (zFar - zNear);
out[15] = 0.0;
return out;
}
引用: https://w3c.github.io/webvr/#interface-interface-vrfieldofview
3Dコンテンツの制作および
画面の更新は
自分で作らないとならない
Three.jsを使えば手軽
対応ブラウザ
参考: Is WebVR Ready?
まだ
安定版ビルドでサポートした
ブラウザはない
(特定のビルドやプラグインを必要とする)
VRの成功・活性化は
Webが鍵
ガチVRに比べて、少しだけ
VRを使うこともできる
例えば
ECサイトの
商品紹介をVRにする
http://getnews.jp/archives/1515661
例えば
不動産サイトで物件の
閲覧をVRで
WebにもVR活用の
ネタはたくさんある
まとめ
• WebVRはAPIの名称
• WebVR APIがやってくれるのはセンサーの値を取る
などの最低限の処理のみ
• Three.jsを使えば手軽にVRコンテンツの制作が可能
• とはいえまだサポートブラウザが(ほぼ)ない
• しかし、Webでの活用はまだまだ(いい意味で)未
知数
• アンケートにご協力を。
WebGLやWebVRについて、もっと深く聞きたい
とか、こういう内容でやってほしい、などあり
ましたらアンケートにてその旨をお伝え下さい
。
ご清聴ありがとうございました

Más contenido relacionado

La actualidad más candente

Webエンジニアのためのandroidアプリ開発
Webエンジニアのためのandroidアプリ開発Webエンジニアのためのandroidアプリ開発
Webエンジニアのためのandroidアプリ開発
Soudai Sone
 

La actualidad más candente (20)

Google vrからはじめるdaydreamへの道
Google vrからはじめるdaydreamへの道Google vrからはじめるdaydreamへの道
Google vrからはじめるdaydreamへの道
 
A-Frameで作ったギャラリーのお話
A-Frameで作ったギャラリーのお話A-Frameで作ったギャラリーのお話
A-Frameで作ったギャラリーのお話
 
AndroidアプリをTravis CIでビルド
AndroidアプリをTravis CIでビルドAndroidアプリをTravis CIでビルド
AndroidアプリをTravis CIでビルド
 
タスクランナー導入 〜とあるWordPress制作環境〜
タスクランナー導入 〜とあるWordPress制作環境〜タスクランナー導入 〜とあるWordPress制作環境〜
タスクランナー導入 〜とあるWordPress制作環境〜
 
超初心者でも大丈夫!AngularJSでフォームページをちょっとリッチに改造してみよう
超初心者でも大丈夫!AngularJSでフォームページをちょっとリッチに改造してみよう超初心者でも大丈夫!AngularJSでフォームページをちょっとリッチに改造してみよう
超初心者でも大丈夫!AngularJSでフォームページをちょっとリッチに改造してみよう
 
WP REST API の活用事例と今後
WP REST API の活用事例と今後WP REST API の活用事例と今後
WP REST API の活用事例と今後
 
Mobingi ALM Hands-on 20170718
Mobingi ALM Hands-on 20170718Mobingi ALM Hands-on 20170718
Mobingi ALM Hands-on 20170718
 
いい感じのフロントエンド開発環境を作ってみた
いい感じのフロントエンド開発環境を作ってみたいい感じのフロントエンド開発環境を作ってみた
いい感じのフロントエンド開発環境を作ってみた
 
Front-end package managers
Front-end package managersFront-end package managers
Front-end package managers
 
楽しいVR空間を作る技術と支える技術 #osc19do
楽しいVR空間を作る技術と支える技術 #osc19do楽しいVR空間を作る技術と支える技術 #osc19do
楽しいVR空間を作る技術と支える技術 #osc19do
 
Hands on PhotoBlog App with WordPress REST API and App Inventor
Hands on PhotoBlog App with WordPress REST API and App InventorHands on PhotoBlog App with WordPress REST API and App Inventor
Hands on PhotoBlog App with WordPress REST API and App Inventor
 
Angularおじさんの1年
Angularおじさんの1年Angularおじさんの1年
Angularおじさんの1年
 
20150704 Innovation EGG 第4.1回 懇親会LT
20150704 Innovation EGG 第4.1回 懇親会LT20150704 Innovation EGG 第4.1回 懇親会LT
20150704 Innovation EGG 第4.1回 懇親会LT
 
Webエンジニアのためのandroidアプリ開発
Webエンジニアのためのandroidアプリ開発Webエンジニアのためのandroidアプリ開発
Webエンジニアのためのandroidアプリ開発
 
YARAIYA! Opendata with WordPress
YARAIYA!  Opendata with WordPressYARAIYA!  Opendata with WordPress
YARAIYA! Opendata with WordPress
 
VSCodeへコントリビュート / Contribute to VSCode
VSCodeへコントリビュート / Contribute to VSCodeVSCodeへコントリビュート / Contribute to VSCode
VSCodeへコントリビュート / Contribute to VSCode
 
Gitライフをはじめましょう〜GUIツールで簡単運用 Mac編〜
Gitライフをはじめましょう〜GUIツールで簡単運用 Mac編〜Gitライフをはじめましょう〜GUIツールで簡単運用 Mac編〜
Gitライフをはじめましょう〜GUIツールで簡単運用 Mac編〜
 
CSS Living StyleGuide
CSS Living StyleGuideCSS Living StyleGuide
CSS Living StyleGuide
 
JavaScript TDD紹介 #agilesamurai
JavaScript TDD紹介 #agilesamuraiJavaScript TDD紹介 #agilesamurai
JavaScript TDD紹介 #agilesamurai
 
Web制作的SendGridのススメ SendGridで色々やってみた話
Web制作的SendGridのススメ SendGridで色々やってみた話Web制作的SendGridのススメ SendGridで色々やってみた話
Web制作的SendGridのススメ SendGridで色々やってみた話
 

Destacado

実録!Railsのはまりポイント10選
実録!Railsのはまりポイント10選実録!Railsのはまりポイント10選
実録!Railsのはまりポイント10選
Drecom Co., Ltd.
 

Destacado (20)

Webのグラフィックス2016 WebGL事例
Webのグラフィックス2016 WebGL事例Webのグラフィックス2016 WebGL事例
Webのグラフィックス2016 WebGL事例
 
asm.jsとWebAssemblyって実際なんなの?
asm.jsとWebAssemblyって実際なんなの?asm.jsとWebAssemblyって実際なんなの?
asm.jsとWebAssemblyって実際なんなの?
 
WebVR空間の巨大スクリーンでteratailを見れるか試してみた話
WebVR空間の巨大スクリーンでteratailを見れるか試してみた話WebVR空間の巨大スクリーンでteratailを見れるか試してみた話
WebVR空間の巨大スクリーンでteratailを見れるか試してみた話
 
Barefoot Leader's Guide to 3D Web part 1
Barefoot Leader's Guide to 3D Web part 1Barefoot Leader's Guide to 3D Web part 1
Barefoot Leader's Guide to 3D Web part 1
 
3D Web in 3D
3D Web in 3D3D Web in 3D
3D Web in 3D
 
ウェブサイト上の3DとVR
ウェブサイト上の3DとVRウェブサイト上の3DとVR
ウェブサイト上の3DとVR
 
UnityのVR機能とWebVRの対応について
UnityのVR機能とWebVRの対応についてUnityのVR機能とWebVRの対応について
UnityのVR機能とWebVRの対応について
 
ARもVRもMRもまとめてドーン
ARもVRもMRもまとめてドーンARもVRもMRもまとめてドーン
ARもVRもMRもまとめてドーン
 
UE4のVehicleGameを DK2 75fps対応したが 酔う! とのことなので その軽減にチャレンジ@OcuFes開発者会
UE4のVehicleGameをDK2 75fps対応したが酔う!とのことなのでその軽減にチャレンジ@OcuFes開発者会UE4のVehicleGameをDK2 75fps対応したが酔う!とのことなのでその軽減にチャレンジ@OcuFes開発者会
UE4のVehicleGameを DK2 75fps対応したが 酔う! とのことなので その軽減にチャレンジ@OcuFes開発者会
 
BLASTxBLASTで取り組んだVR酔い対策
BLASTxBLASTで取り組んだVR酔い対策BLASTxBLASTで取り組んだVR酔い対策
BLASTxBLASTで取り組んだVR酔い対策
 
Unite 16' LAで発表されたあれこれとゲームアプリのマネタイズベストプラクティス
Unite 16' LAで発表されたあれこれとゲームアプリのマネタイズベストプラクティスUnite 16' LAで発表されたあれこれとゲームアプリのマネタイズベストプラクティス
Unite 16' LAで発表されたあれこれとゲームアプリのマネタイズベストプラクティス
 
ヒューマンリーダブルな CSS 記述法(異次元編):2016年5月13日 CodeGrid 四周年記念パーティー
ヒューマンリーダブルな CSS 記述法(異次元編):2016年5月13日 CodeGrid 四周年記念パーティーヒューマンリーダブルな CSS 記述法(異次元編):2016年5月13日 CodeGrid 四周年記念パーティー
ヒューマンリーダブルな CSS 記述法(異次元編):2016年5月13日 CodeGrid 四周年記念パーティー
 
メンテナブルでありつづけるためのCSS設計
メンテナブルでありつづけるためのCSS設計メンテナブルでありつづけるためのCSS設計
メンテナブルでありつづけるためのCSS設計
 
至近距離ガールVR 開発事例
至近距離ガールVR 開発事例至近距離ガールVR 開発事例
至近距離ガールVR 開発事例
 
CSS の歩き方
CSS の歩き方CSS の歩き方
CSS の歩き方
 
実録!Railsのはまりポイント10選
実録!Railsのはまりポイント10選実録!Railsのはまりポイント10選
実録!Railsのはまりポイント10選
 
 第5回 Machine Learning 15minutes! 「オフラインデータがAI発展の鍵になる」
 第5回 Machine Learning 15minutes! 「オフラインデータがAI発展の鍵になる」 第5回 Machine Learning 15minutes! 「オフラインデータがAI発展の鍵になる」
 第5回 Machine Learning 15minutes! 「オフラインデータがAI発展の鍵になる」
 
ソーシャルアプリにおけるRedisの活用事例とトラブル事例
ソーシャルアプリにおけるRedisの活用事例とトラブル事例ソーシャルアプリにおけるRedisの活用事例とトラブル事例
ソーシャルアプリにおけるRedisの活用事例とトラブル事例
 
プログラミング生放送20160213
プログラミング生放送20160213プログラミング生放送20160213
プログラミング生放送20160213
 
悩まないコーディングをしよう! OOCSS,SMACSSを用いた、読みやすくてメンテナブルなCSS設計(Sass対応)
悩まないコーディングをしよう! OOCSS,SMACSSを用いた、読みやすくてメンテナブルなCSS設計(Sass対応)悩まないコーディングをしよう! OOCSS,SMACSSを用いた、読みやすくてメンテナブルなCSS設計(Sass対応)
悩まないコーディングをしよう! OOCSS,SMACSSを用いた、読みやすくてメンテナブルなCSS設計(Sass対応)
 

Similar a そしてWebVR

Similar a そしてWebVR (20)

モバイルVR「Daydream」について
モバイルVR「Daydream」についてモバイルVR「Daydream」について
モバイルVR「Daydream」について
 
VRをはじめよう!
VRをはじめよう!VRをはじめよう!
VRをはじめよう!
 
WebApp個人開発のすゝめ / Recommendation of personal web app development
WebApp個人開発のすゝめ / Recommendation of personal web app developmentWebApp個人開発のすゝめ / Recommendation of personal web app development
WebApp個人開発のすゝめ / Recommendation of personal web app development
 
VRDCセッションとメーカームーブメントによるGDCの影響
VRDCセッションとメーカームーブメントによるGDCの影響VRDCセッションとメーカームーブメントによるGDCの影響
VRDCセッションとメーカームーブメントによるGDCの影響
 
IGDA Japan GDC2019報告会 xR(VR/AR/MR) 講演・展示報告
IGDA Japan GDC2019報告会 xR(VR/AR/MR) 講演・展示報告IGDA Japan GDC2019報告会 xR(VR/AR/MR) 講演・展示報告
IGDA Japan GDC2019報告会 xR(VR/AR/MR) 講演・展示報告
 
VRゲーム開発の現在と将来
VRゲーム開発の現在と将来VRゲーム開発の現在と将来
VRゲーム開発の現在と将来
 
Oculus 体験・勉強会「VRコンテンツ制作入門」 2015/05/13
Oculus 体験・勉強会「VRコンテンツ制作入門」 2015/05/13Oculus 体験・勉強会「VRコンテンツ制作入門」 2015/05/13
Oculus 体験・勉強会「VRコンテンツ制作入門」 2015/05/13
 
モバイルVR「Daydream」でVRの世界にふれてみる
モバイルVR「Daydream」でVRの世界にふれてみるモバイルVR「Daydream」でVRの世界にふれてみる
モバイルVR「Daydream」でVRの世界にふれてみる
 
だみとらの作り方 ~制作過程で気づいてしまったVRChat IKの残念な真実~
だみとらの作り方 ~制作過程で気づいてしまったVRChat IKの残念な真実~だみとらの作り方 ~制作過程で気づいてしまったVRChat IKの残念な真実~
だみとらの作り方 ~制作過程で気づいてしまったVRChat IKの残念な真実~
 
React VR ことはじめ
React VR ことはじめReact VR ことはじめ
React VR ことはじめ
 
About WebRTC
About WebRTCAbout WebRTC
About WebRTC
 
すぐそこにある未来〜AR〜
すぐそこにある未来〜AR〜すぐそこにある未来〜AR〜
すぐそこにある未来〜AR〜
 
FakeRiftとtaovisorをやってみてわかったこと ABC2014w版
FakeRiftとtaovisorをやってみてわかったこと   ABC2014w版FakeRiftとtaovisorをやってみてわかったこと   ABC2014w版
FakeRiftとtaovisorをやってみてわかったこと ABC2014w版
 
20170821 tech play_vr_公開
20170821 tech play_vr_公開20170821 tech play_vr_公開
20170821 tech play_vr_公開
 
AndroidでARの夢を再び 〜ARCoreの導入から応用まで
AndroidでARの夢を再び 〜ARCoreの導入から応用までAndroidでARの夢を再び 〜ARCoreの導入から応用まで
AndroidでARの夢を再び 〜ARCoreの導入から応用まで
 
UnityとC#で覗くVRの世界~はたらく.Net~
UnityとC#で覗くVRの世界~はたらく.Net~UnityとC#で覗くVRの世界~はたらく.Net~
UnityとC#で覗くVRの世界~はたらく.Net~
 
GDC 2018 VR関連報告
GDC 2018 VR関連報告GDC 2018 VR関連報告
GDC 2018 VR関連報告
 
Androidから利用するRealSense D400/T265
Androidから利用するRealSense D400/T265Androidから利用するRealSense D400/T265
Androidから利用するRealSense D400/T265
 
ガンナーオブドラグーンの作り方&酔わせずに興奮させるVR体験デザイン
ガンナーオブドラグーンの作り方&酔わせずに興奮させるVR体験デザインガンナーオブドラグーンの作り方&酔わせずに興奮させるVR体験デザイン
ガンナーオブドラグーンの作り方&酔わせずに興奮させるVR体験デザイン
 
内蔵化、モバイル化に向かうDepthセンサー
内蔵化、モバイル化に向かうDepthセンサー内蔵化、モバイル化に向かうDepthセンサー
内蔵化、モバイル化に向かうDepthセンサー
 

Más de Kazuya Hiruma

Más de Kazuya Hiruma (20)

MESONプロジェクトから学ぶこれからのAR開発に必要なこと
MESONプロジェクトから学ぶこれからのAR開発に必要なことMESONプロジェクトから学ぶこれからのAR開発に必要なこと
MESONプロジェクトから学ぶこれからのAR開発に必要なこと
 
PORTAL with Nreal in CES 2020 開発の学び @XR Hub
PORTAL with Nreal in CES 2020 開発の学び @XR HubPORTAL with Nreal in CES 2020 開発の学び @XR Hub
PORTAL with Nreal in CES 2020 開発の学び @XR Hub
 
ARグラスで 魅力的な絵作り
ARグラスで 魅力的な絵作りARグラスで 魅力的な絵作り
ARグラスで 魅力的な絵作り
 
AWE Nite ARKit3 Hackathon
AWE Nite ARKit3 HackathonAWE Nite ARKit3 Hackathon
AWE Nite ARKit3 Hackathon
 
レイマーチ入門勉強会資料
レイマーチ入門勉強会資料レイマーチ入門勉強会資料
レイマーチ入門勉強会資料
 
MESONで手がけたARアプリ AR Developer Meetup #2
MESONで手がけたARアプリ AR Developer Meetup #2MESONで手がけたARアプリ AR Developer Meetup #2
MESONで手がけたARアプリ AR Developer Meetup #2
 
みんなレイ飛ばしてる?
みんなレイ飛ばしてる?みんなレイ飛ばしてる?
みんなレイ飛ばしてる?
 
VRゲーム制作楽しいよ! @UnityおとなのLT大会
VRゲーム制作楽しいよ! @UnityおとなのLT大会VRゲーム制作楽しいよ! @UnityおとなのLT大会
VRゲーム制作楽しいよ! @UnityおとなのLT大会
 
ElminaAR - Unity x ARKit 入門Meetup
ElminaAR - Unity x ARKit 入門MeetupElminaAR - Unity x ARKit 入門Meetup
ElminaAR - Unity x ARKit 入門Meetup
 
今すぐ始められるモバイルVR〜あなたも今日からVRエンジニア〜
今すぐ始められるモバイルVR〜あなたも今日からVRエンジニア〜今すぐ始められるモバイルVR〜あなたも今日からVRエンジニア〜
今すぐ始められるモバイルVR〜あなたも今日からVRエンジニア〜
 
UnityでARKitハンズオン
UnityでARKitハンズオンUnityでARKitハンズオン
UnityでARKitハンズオン
 
Unity入門ハンズオン
Unity入門ハンズオンUnity入門ハンズオン
Unity入門ハンズオン
 
集まっTail #5 LT
集まっTail #5 LT集まっTail #5 LT
集まっTail #5 LT
 
WebGL入門LT大会資料
WebGL入門LT大会資料WebGL入門LT大会資料
WebGL入門LT大会資料
 
WebGL入門ハンズオン資料
WebGL入門ハンズオン資料WebGL入門ハンズオン資料
WebGL入門ハンズオン資料
 
WebVRとUI @DIST10
WebVRとUI @DIST10WebVRとUI @DIST10
WebVRとUI @DIST10
 
いよいよ本番(斜め上)活用例から見るWebVRの使いドコロ @JSおじさん
������� ������������ ���������いよいよ本番(斜め上)活用例から見るWebVRの使いドコロ @JSおじさん������� ������������ ���������いよいよ本番(斜め上)活用例から見るWebVRの使いドコロ @JSおじさん
いよいよ本番(斜め上)活用例から見るWebVRの使いドコロ @JSおじさん
 
ドラッグ & ドロップだけで動かせる! 簡単Leapmotion開発
ドラッグ & ドロップだけで動かせる! 簡単Leapmotion開発ドラッグ & ドロップだけで動かせる! 簡単Leapmotion開発
ドラッグ & ドロップだけで動かせる! 簡単Leapmotion開発
 
WebVRデモ JSオジサン #5
WebVRデモ JSオジサン #5WebVRデモ JSオジサン #5
WebVRデモ JSオジサン #5
 
FiltersでGLSLを楽しく学んじゃおう!
FiltersでGLSLを楽しく学んじゃおう!FiltersでGLSLを楽しく学んじゃおう!
FiltersでGLSLを楽しく学んじゃおう!
 

そしてWebVR