欧美精品在线一区二区三区_亚洲女同精品视频_日韩一区免费_国产欧美久久久精品免费_国产这里只有精品_僵尸再翻生在线观看_久久99精品国产一区二区三区_亚洲免费一区二区_女教师淫辱の教室蜜臀av软件_中文字幕国产一区二区

WebVR大潮來襲 ---前端開發能做些什么?

2018-5-28    高勁

        去年谷歌和火狐針對WebVR提出了WebVR API的標準,顧名思義,WebVR即web + VR的體驗方式,我們可以戴著頭顯享受沉浸式的網頁,新的API標準讓我們可以使用js語言來開發。今天,約克先森將介紹如何開發一個WebVR網頁,在此之前,我們有必要了解WebVR的體驗方式。

WebVR體驗模式

WebVR的體驗方式可以分為VR模式和裸眼模式

一、VR模式

?滑配式HMD + 移動端瀏覽器

        如使用cardboard眼鏡來體驗手機瀏覽器的webVR網頁,瀏覽器將根據水平陀螺儀的參數來獲取用戶的頭部傾斜和轉動的朝向,并告知頁面需要渲染哪一個朝向的場景。

?分離式HMD + PC端瀏覽器

        通過佩戴Oculus Rift的分離式頭顯瀏覽連接在PC主機端的網頁,現支持WebVR API的瀏覽器主要是火狐的 Firefox Nightly和設置VR enabled的谷歌chrome beta。

二、裸眼模式

        除了VR模式下的體驗方式,這里還考慮了裸眼下的體驗瀏覽網頁的方式,在PC端如果探測的用戶選擇進入VR模式,應讓用戶可以使用鼠標拖拽場景,而在智能手機上則應讓用戶可以使用touchmove或旋轉傾斜手機的方式來改變場景視角。

        WebVR的概念大概就如此,這次我們將采用cardboard + mobile的方式來測試我們的WebVR場景,現在踏上我們的開發之旅。

準備工作

        技術和框架:three.js for WebGL

         Three.js是構建3d場景的框架,它封裝了WebGL函數,簡化了創建場景的代碼成本,利用three.js我們可以更優雅地創建出三維場景和三維動畫。

        測試工具:智能手機 + 滑配式頭顯

        推薦使用cardboard或者某寶上三十塊錢的高仿貨。當然,如果你練就了裸眼就能將手機雙屏畫面看成單屏的能力也可以忽略。

       需要引入的js插件:

  • three.min.js
  • webvr-polyfill.js
  • VRcontrols.js
  • VReffect.js
  • webvr-manager.js

webvr-polyfill.js

        由于WebVR API還沒被各大主流瀏覽器支持,因此需要引入webvr-polyfill.js來支持WebVR網頁,它提供了大量VR相關的API,比如Navigator.getVRDevices()獲取VR頭顯信息的方法。

VRControls.js

        VR控制器,是three.js的一個相機控制器對象,引入VRcontrols.js可以根據用戶在空間的朝向渲染場景,它通過調用WebVR API的orientation值控制camera的rotation屬性。

VREffect.js

        VR分屏器,這是three.js的一個場景分屏的渲染器,提供戴上VR頭顯的顯示方式,VREffect.js重新創建了左右兩個相機,對場景做二次渲染,產生雙屏效果。

webvr-manager.js

         這是WebVR的方案適配插件,它提供PC端和移動端的兩種適配方式,通過new WebVRManager()可以生成一個VR圖標,提供VR模式和裸眼模式的不同體驗,當用戶在移動端點擊按鈕進入VR模式時,WebVRManager便會調用VREffect分屏器進行分屏,而退出VR模式時,WebVRManager便用回renderer渲染器進行單屏渲染。

        具體使用方法我們將在下文說明。

        3D場景構建

        首先我們創建一個HTML文件

       <!DOCTYPE html>

       <html lang="en">

       <head> 

              <meta charset="UTF-8">

                  <meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0, shrink-to-fit=no">

              <title>webVR-helloworld</title>

                   <style type="text/css">

                         * { 

                           margin: 0;

                           padding: 0;

                            }

                     html,body {

                                 height: 100%;

                                overflow: hidden;

                     }

               </style>

         </head>

         <body>

         </body>

        <script src="./vendor/three.min.js"></script>

          <script src="./vendor/webvr-polyfill.js"></script>

          <script src="./vendor/VRControls.js"></script>

       <script src="./vendor/VREffect.js"></script>

       <script src="./vendor/webvr-manager.js"></script>

       <script src="./main.js"></script>

       </html>

         接下來編寫js腳本,開始創建我們的3d場景。

1、創建場景

        Three.js中的scene場景是繪制我們3d對象的整個容

       1.var scene = new THREE.Scene();

2、添加相機

Three.js的相機

Three.js中的camera相機代表用戶的眼睛,我們通過設置FOV確定視野范圍,

  • //定義一個60°的視角,視線范圍在1到1000的透視相機
  • var camera = new THREE. new THREE.PerspectiveCamera(60,window.innerWidth/window.innerHeight,1,1000);
  • scene.add(camera);

3、添加渲染器

  • Three.js的渲染器用來渲染camera所看到的畫面


  • //初始化渲染器 antialias參數為ture表示開啟抗鋸齒策略
  • var renderer = new THREE.WebGLRenderer({ antialias: true } );
  • //設置渲染器渲染尺寸
  • renderer.setSize(window.innerWidth,window.innerHeight);
  • //設置渲染背景為白色
  • renderer.setClearColor(0xeeeeee);
  • //將渲染場景的canvas放入body標簽里
  • document.body.appendChild(renderer.domElement);

  • 添加一個立方體網格

  • // 創建立方體
  • var geometry = new THREE.CubeGeometry( 10,10,10);
  • var cubematerial = new THREE.MeshLambertMaterial( { color: 0xef6500,needsUpdate: true,opacity:1,transparent:true} );
  • var cube = new THREE.Mesh( geometry, Cubematerial );
  • cube.position.set(0,100,-50);
  • cube.rotation.set(Math.PI/6,Math.PI/4,0);
  • scene.add(cube);

4、啟動動畫

  • 產生動畫的原理就是讓camera持續連拍,同時每一次改變物體的屬性,通過requestAnimationFrame()方法遞歸的方式來持續更新場景對象屬性,你可以將它理解為setTimeout的優化版。相比setTimeout函數,requestAnimationFrame可以保證動畫渲染不會因為主線程的阻塞而造成跳幀。


  • function animate() {
  •     //讓立方體旋轉
  •     cube.rotation.y += 0.01;
  •     //渲染器渲染場景,等同于給相機按下快門
  •     renderer.render(scene, camera);
  •     //遞歸運行該函數
  •     requestAnimationFrame( animate );
  • }
  • animate();//啟動動畫

      至此,我們已經繪制了一個簡單的3d場景并且讓它動了起來,接下來,我們需要讓我們的場景可以支持WebVR模式。

WebVR場景開發

       WebVR網頁的基本原理其實是通過瀏覽器的WebVR API獲取用戶輸入,進而控制相機的視角,在VR模式下通過VR控制器和VR分屏器以二分屏+gyroscope(使用水平陀螺儀)的方式顯示畫面,裸眼情況下提供全屏+touchmove/gyroscope。

       現在我們開始分別創建上文所說的VR控制器和VR分屏器

  • //初始化VR控制器需要傳入場景相機
  • var vrControls = new THREE.VRControls(camera);
  • //初始化VR渲染器需要傳入場景渲染器
  • var vrEffect = new THREE.VREffect(renderer);
  • //初始化VR適配器,傳入渲染器和分屏器
  • var vrManager = new WebVRManager(renderer, vrEffect);

      然后在前面創建的場景渲染函數里調用

  • function animate() {
  •     cube.rotation.y += 0.01;
  •     //實時更新相機的位置和轉角
  •     vrControls.update();
  •     vrManager.render(scene, camera);
  •     //遞歸運行該函數
  •     requestAnimationFrame( animate );
  • }

       至此,我們已經完成了一個基本的webVR網頁,不過少了點交互效果好像,敬請期待Web開發的新世界---WebVR之交互事件。

  • 完整代碼:在文章基礎上添加了天空和地面相關代碼,以及下篇文章將講到VR凝視交互事件。
  • demo演示地址 :手機瀏覽需設置允許橫屏。

結語

        目前,國外的谷歌、火狐、Facebook和國內百度已推出支持WebVR瀏覽器的版本,微軟也宣布將推出自己的VR瀏覽器,隨著后期5g網絡極速時代的到來以及HMD頭顯的價格和平臺的成熟,WebVR的體驗方式將是革命性的,用戶通過WebVR瀏覽網上商店,線上教學可進行“面對面”師生交流等,基于這種種應用場景,我們可以找到一個更好的動力去學習WebVR。






日歷

鏈接

個人資料

藍藍設計的小編 http://m.ocunn.cn

存檔

亚洲色图 激情小说| 亚洲免费一区三区| 国产高清一区在线观看| 人妻精品一区一区三区蜜桃91| 欧美啪啪小视频| 久久精品国产亚洲AV无码男同| 成年人视频软件| 91中文字幕永久在线| 91超薄肉色丝袜交足高跟凉鞋| 中文字幕22页| 亚洲成人天堂网| 激情视频综合网| 成年人黄色片视频| 激情综合在线观看| 丝袜老师办公室里做好紧好爽| 男女激烈动态图| 免费观看中文字幕| 只有这里有精品| www国产免费| 日韩欧美视频免费在线观看| 欧美大片免费播放| av动漫在线播放| 老司机激情视频| 欧美这里只有精品| 欧美 日韩 激情| 一本大道熟女人妻中文字幕在线 | 最新av在线播放| 中文字幕有码在线观看| 青青草原国产在线| 爱草tv视频在线观看992| wwwww亚洲| 成人免费无遮挡| 色香欲www7777综合网| 91九色综合| 日韩成人在线看| 国产精伦一区二区三区| 九九免费精品视频在线观看| 日韩在线欧美| 国内揄拍国内精品久久| 亚洲视频www| 久久99精品国产.久久久久| 国产乱码精品1区2区3区| a亚洲天堂av| 国产精品嫩草久久久久| 亚洲二区在线视频| 在线一区二区视频| 精品国产一二三| 在线观看久久av| 欧美激情综合亚洲一二区| 欧美一区第一页| 成人网欧美在线视频| 国产精品日韩一区二区三区 | 黑人操日本美女| 日本熟女一区二区| 综合久久中文字幕| 久热久精久品这里在线观看| 欧美成人hd| 亚洲精品一区| 久久99国产精品久久99大师| 91精品蜜臀一区二区三区在线| 99热精品在线| 成人在线视频首页| 亚洲综合一二区| 51精品国自产在线| 日韩一级裸体免费视频| 国产成人精品久久久| 精品网站在线看| 免费网站在线观看视频| 小明看看成人免费视频| 性爱在线免费视频| 在线观看av大片| 午夜亚洲成人| 在线免费看h| 亚洲区小说区| 免费一区视频| 久久久一区二区三区捆绑**| 精品欧美aⅴ在线网站| 亚洲国产成人一区| 97在线视频免费观看| 成人在线视频电影| 国产a级片网站| 无码国产69精品久久久久网站| 久久机热这里只有精品| 亚洲国产一二三区| 二区三区在线观看| 午夜日韩影院| 亚洲黄网站黄| www日韩大片| 91久久久免费一区二区| 亚洲一区二区黄| 国产精品亚洲一区二区三区| 青春草在线视频免费观看| 永久免费黄色片| 久久精品久久国产| 黄色直播在线| 天天免费亚洲黑人免费| 久久精品av| 国产成人丝袜美腿| 欧美日韩国产精品| 色青青草原桃花久久综合| 亚洲综合日韩在线| 午夜肉伦伦影院| 少妇高潮一区二区三区喷水| 日本黄色三级视频| 色香欲www7777综合网| 伊人色**天天综合婷婷| 91片黄在线观看| 欧美日韩国产a| 国语对白做受69| 夜夜春亚洲嫩草影视日日摸夜夜添夜 | www.成年人视频| 欧美成人午夜精品免费| 国产av无码专区亚洲av麻豆| 国产白丝在线观看| 国产精品麻豆久久| 久久伊人蜜桃av一区二区| 欧美日韩精品一区二区| 97视频在线免费观看| 吴梦梦av在线| 一区二区三区在线观看免费视频| 国产成人免费看一级大黄| 暧暧视频在线免费观看| 久久在线视频| 欧美国产欧美亚州国产日韩mv天天看完整 | 欧美孕妇毛茸茸xxxx| 国产又粗又爽又黄的视频| mm131丰满少妇人体欣赏图| 精品国产伦一区二区三区| 绿色成人影院| 国产综合激情| 一区二区不卡在线播放| 久久久国产精彩视频美女艺术照福利| 国产综合动作在线观看| 91porn在线| 精品久久在线观看| 国产69精品久久| 日韩国产高清影视| 一本色道**综合亚洲精品蜜桃冫| 午夜精品福利视频| av免费观看大全| 在线观看 中文字幕| 成人直播在线| 你懂的成人av| 一区二区三区欧美日韩| 九九热精品视频| 91免费版看片| aaa人片在线| 多野结衣av一区| 国产精品日韩| 黑人巨大精品欧美一区二区免费 | 亚洲国产成人一区| 狠狠爱一区二区三区| 最近日本中文字幕| 麻豆传媒在线视频| 九九综合在线| 成人欧美一区二区三区黑人麻豆| 久久精品在线视频| av一区二区三区免费观看| 久久久久久久极品内射| 午夜羞羞小视频在线观看| 好吊日精品视频| 精品日韩视频在线观看| 国产精品久在线观看| 色男人天堂av| 国产精品精华液网站| 色婷婷av一区二区三区丝袜美腿| 久久久午夜精品理论片中文字幕| 国产一区二区av| 国产又黄又爽免费视频| 久久视频免费在线观看| 欧美日韩国产观看视频| 麻豆国产91在线播放| 精品国产露脸精彩对白| 色999日韩自偷自拍美女| 欧美久久久久久久久久久久| 在线观看午夜av| 视频在线在亚洲| 日韩欧美国产综合一区| 日本不卡在线播放| 久久免费小视频| 中文字幕色婷婷在线视频| 黄网站免费久久| 亚洲女人初尝黑人巨大| 国产内射老熟女aaaa| 波多野结衣理论片| 日韩成人18| 专区另类欧美日韩| 国产精品99久久久久久www| 男人添女人荫蒂国产| 蜜桃视频在线观看视频| 欧美日本一区二区高清播放视频| 在线观看一区不卡| 精品久久久久久中文字幕动漫| 日韩一级片大全| 亚洲第一av| 成人的网站免费观看| 久久久精品国产一区二区| 精品日韩久久久| 香蕉视频在线观看网站| 国产一区久久| 精品美女被调教视频大全网站| 亚洲免费视频播放| 一区二区精品视频在线观看| 免费看久久久| 五月综合激情网| 久久精品国产精品国产精品污| 亚洲波多野结衣| 成人在线观看免费播放| 国产精品你懂的在线欣赏| 国产日韩在线视频| 老熟妻内射精品一区| 高清av一区二区三区| 欧美国产精品中文字幕| 国产综合久久久久久| 国产大片免费看| 国外成人福利视频| 一区在线中文字幕| 91gao视频| 国产真实的和子乱拍在线观看| 精品一区二区三区四区五区| 亚洲人成伊人成综合网小说| av资源一区二区| 天天综合网入口| 日韩在线麻豆| 欧美色网一区二区| 国产在线视频综合| 欧美激情图区| 久久aⅴ国产紧身牛仔裤| 伊人久久综合97精品| 99九九精品视频| 中文国产字幕在线观看| 91麻豆精东视频| 国产欧美在线播放| 日韩欧美高清在线观看| 亚洲美女久久| 欧美一卡二卡在线| 午夜精品久久久久久久无码| 欧美挠脚心网站| 国产尤物一区二区| 91精品国产91久久久久福利| 99久久99久久精品免费看小说.| 欧美天堂视频| 亚洲国产一区二区视频| 亚洲成色www久久网站| www.97超碰| 国产欧美一区二区三区国产幕精品| 一本色道久久综合亚洲精品小说 | 精品国产三级| 色香色香欲天天天影视综合网| 91免费网站视频| 天堂中文在线资源| 奇米色一区二区| 77777亚洲午夜久久多人| 日本在线一级片| 婷婷精品在线观看| 精品99999| www.51色.com| 国产欧美一区二区三区精品酒店| 亚洲视频一二三区| 亚洲国产婷婷香蕉久久久久久99| 少妇av一区二区| 国产综合色在线| 国产精品观看在线亚洲人成网| 欧美一级高潮片| 天天综合精品| 中文字幕欧美日韩va免费视频| 免费在线观看你懂的| 欧美精品三级在线| 日韩欧美一级二级| 欧美精品 - 色网| 欧美暴力调教| 欧美亚洲高清一区| 日本人视频jizz页码69| 亚洲电影观看| 91激情五月电影| 韩国日本美国免费毛片| 色戒汤唯在线观看| 狠狠干狠狠久久| 黄色片视频在线播放| 18video性欧美19sex高清| 亚洲成年人影院| 国产精品333| 男人久久天堂| 日本高清不卡一区| 国产一伦一伦一伦| 视频精品导航| 欧美一级夜夜爽| 一级黄色免费视频| aaa国产精品| 日韩久久精品成人| 黑人狂躁日本娇小| 图片区亚洲欧美小说区| 久久久久久久999| 可以免费看的av毛片| 在线一区免费观看| 国产精品白嫩美女在线观看| 97超碰国产在线| 国内精品不卡在线| 精品九九九九| 国产黄色免费在线观看| 亚洲精品乱码久久久久久| 国产二区视频在线| www.日韩| 精品三级在线看| 成人小视频免费看| 亚洲电影在线一区二区三区| 久久久久国产精品免费| 日本精品入口免费视频| 麻豆精品在线观看| 国产一区二区精品在线| 天天影院图片亚洲| 亚洲免费观看高清| 国产极品美女高潮无套久久久| 日日夜夜天天综合| 亚洲国产精品女人久久久| 国产精品20p| 综合久久一区| 国产精品亚洲一区二区三区| 中文字幕福利片| 中文字幕一区二区三区四区不卡 | 在线成人激情黄色| 国产亚洲成人精品| 日韩精品一级中文字幕精品视频免费观看 | 欧美日精品一区视频| 欧美图片自拍偷拍| 不卡一区2区| 欧美在线观看日本一区| 精品久久人妻av中文字幕| 久久亚洲综合av| 国产av国片精品| 日韩久久一区| 国产亚洲一区二区在线| 欧美超碰在线观看| 国产成人av电影在线| 日韩 欧美 自拍| 电影天堂国产精品| 亚洲欧美日韩综合| 啦啦啦免费高清视频在线观看| 精品一区精品二区高清| 亚洲一区二区三区色| 日韩免费福利视频| 亚洲欧美综合图区| 自拍偷拍18p| 懂色av中文一区二区三区| 美女黄色免费看| 国产精品成人3p一区二区三区| 国产一区二区三区在线观看视频 | 国产欧美大片| 久久久久高清| www中文字幕在线观看| 欧美精品一区二区三区高清aⅴ | 国产日韩欧美高清| 亚洲欧美另类动漫| 黑丝美女一区二区| 成人国产精品久久久| 成人免费在线视频网| 欧美日韩精品一区二区三区蜜桃 | 黄色在线观看国产| 91一区二区三区在线播放| 黄色免费网址大全| 国产探花一区二区| 91亚洲精品一区二区| 看黄网站在线观看| 亚洲成成品网站| av手机天堂网| 国产精品久久毛片| gogo亚洲国模私拍人体| 欧美日韩三区| 日韩av在线电影观看| 99久久精品一区二区成人| 久久中文字幕在线| 久草在线免费福利| 欧美性受极品xxxx喷水| 免费无码毛片一区二区app| 国产成人精品免费网站| 成年人视频观看| 精品国产午夜| 99在线观看视频网站| 国产精品高颜值在线观看| 色哟哟网站入口亚洲精品| 亚洲欧洲国产综合| 欧美性xxxxxxxx| 久久久久久少妇| 中文字幕欧美激情一区| 毛茸茸free性熟hd| 日韩激情av在线| 丰满少妇久久久| 欧美国产偷国产精品三区| 蜜桃视频在线观看成人| 亚洲午夜国产成人| 国产精品草莓在线免费观看| www.欧美日本韩国| 中日韩午夜理伦电影免费 | 国产亚洲电影| 另类欧美小说| 亚洲网一区二区三区| 国产在线拍揄自揄视频不卡99| 免费男女羞羞的视频网站在线观看| 色偷偷88888欧美精品久久久| 蜜臀一区二区三区|