<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          使用React 360創(chuàng)建虛擬現(xiàn)實(shí)體驗(yàn)

          共 3087字,需瀏覽 7分鐘

           ·

          2021-05-27 13:48

          點(diǎn)擊上方關(guān)注 TianTianUp一起學(xué)習(xí),天天進(jìn)步

          今天分享的內(nèi)容是使用JavaScript創(chuàng)建虛擬現(xiàn)實(shí)體驗(yàn)

          正文


          使用React的虛擬現(xiàn)實(shí)(VR)體驗(yàn)???

          這真的可能嗎?是的,隨著React 360的引入,現(xiàn)在可以用JavaScript來創(chuàng)建虛擬現(xiàn)實(shí)體驗(yàn)。


          現(xiàn)實(shí)中是如何使用VR的

          在看什么是React 360之前,讓我快速回顧一下現(xiàn)在的設(shè)備是如何使用VR的。目前,VR是一個(gè)趨勢(shì)性的話題,大多數(shù)游戲和娛樂都專注于VR,以提供一個(gè)特殊的用戶體驗(yàn)。

          React 360的引入為未來UI的廣泛采用帶來了希望,從字面上看,它為現(xiàn)代網(wǎng)絡(luò)應(yīng)用提供了3D和VR體驗(yàn)。

          等不及啦,讓我們深入了解一下。


          什么是React 360?

          React 360是一個(gè)框架,用于創(chuàng)建在網(wǎng)絡(luò)瀏覽器中運(yùn)行的交互式360體驗(yàn)。

          https://www.npmjs.com/package/react-360

          這是一個(gè)NPM包,可以按以下方式安裝。

          npm i react-360
          // Command line tool
          npm install -g react-360-cli

          它與React和React Native非常相似,但有一些區(qū)別,有利于構(gòu)建VR體驗(yàn)。

          它使用three.js來促進(jìn)低級(jí)別的WebVR(訪問VR設(shè)備)和WebGL(渲染3D圖像)API,以便在瀏覽器上創(chuàng)建一個(gè)VR體驗(yàn)。

          如果你以前有React和React Native的經(jīng)驗(yàn),使用React 360會(huì)比較容易。

          此外,如果你用React 360創(chuàng)建一個(gè)新的項(xiàng)目,在你的項(xiàng)目中有三個(gè)文件是非常重要的。

          • index.js - 你的應(yīng)用程序的主要代碼,并將包含代碼/文件導(dǎo)入,這將決定你的應(yīng)用程序的外觀和感覺。
          • client.js - 這個(gè)文件是連接你的瀏覽器和React應(yīng)用程序的Runtime。這個(gè)文件中的代碼將創(chuàng)建一個(gè)新的React 360實(shí)例,加載你的React代碼并將其附加到DOM中的一個(gè)特定位置。
          • index.html - 你將加載的網(wǎng)頁。這將指向JavaScript代碼來裝載你的應(yīng)用程序。

          此外,static_assets文件夾用于存儲(chǔ)資源,包括圖片、全景圖、音頻文件和其他將被用于增強(qiáng)網(wǎng)絡(luò)體驗(yàn)的外部?jī)?nèi)容。

          Runtime負(fù)責(zé)將你的React組件變成屏幕上的3D元素。

          在實(shí)踐中使用React 360

          一旦你成功地安裝了React 360,你就可以用下面的命令初始化一個(gè)新項(xiàng)目。

          react-360 init new-react-360-app

          這將創(chuàng)建一個(gè)名為new-react-360-app的新項(xiàng)目目錄,并將安裝所有需要的依賴項(xiàng)。

          項(xiàng)目的結(jié)構(gòu)將如下所示:

          項(xiàng)目目錄

          你可以使用npm start命令啟動(dòng)該項(xiàng)目。你的瀏覽器上的輸出將可以在http://localhost:8081/index.html。

          npm start

          你可以使用你的鼠標(biāo)指針來360度導(dǎo)航這個(gè)框架。React 360框架的一個(gè)重要特點(diǎn)是,它帶有可重復(fù)使用的內(nèi)置UI組件。

          例如,其中一些組件如下:

          • View
          • Image
          • Entity
          • VrButton

          這些可以在你開發(fā)React 360應(yīng)用程序時(shí)使用。

          在我之前提到的重要的三個(gè)文件中,index.js和index.html是非常簡(jiǎn)單的。

          讓我們看一下client.js文件,以便更好地了解它的內(nèi)容。

          client.js file in React 360 project

          在這里,root 被r360.createRoot設(shè)置為index.js中的hello_vr React組件。


          React 360的特點(diǎn)

          React 360有許多有用的功能。讓我們看一下其中的幾個(gè):

          • 跨平臺(tái)開發(fā)
            • 有了React 360,一個(gè)React開發(fā)者就可以創(chuàng)建在桌面、手機(jī)和網(wǎng)絡(luò)上運(yùn)行的VR應(yīng)用程序,而不需要用不同的語言和技術(shù)編寫很多代碼,從而節(jié)省開發(fā)成本和精力。
          • 用像素工作
            • React 360使開發(fā)者能夠創(chuàng)建嵌入3D空間的2D界面。React 360的Surfaces庫允許將UI面板集成到應(yīng)用程序中。Surfaces將允許開發(fā)者用像素而不是其他測(cè)量單位來開發(fā)環(huán)境,并使用傳統(tǒng)工具實(shí)現(xiàn)所創(chuàng)建的規(guī)格。
          • 3D媒體支持
            • React 360的環(huán)境功能對(duì)沉浸式媒體有更好的處理。有了這個(gè),開發(fā)者將對(duì)應(yīng)用程序的外觀和感覺進(jìn)行精確控制。
          • 增強(qiáng)的性能
            • 運(yùn)行時(shí)架構(gòu)旨在通過提高幀率和減少垃圾收集來優(yōu)化整個(gè)應(yīng)用程序的性能。

          支持的設(shè)備

          主要的有以下的設(shè)備:

          • 桌面網(wǎng)絡(luò)瀏覽器(Chrome、Firefox等)。
          • 移動(dòng)網(wǎng)絡(luò)瀏覽器
          • VR設(shè)備

          最后

          React 360是一種有趣的方式來創(chuàng)建3D網(wǎng)絡(luò)應(yīng)用,給用戶帶來VR體驗(yàn)。這是一個(gè)開源的框架,因此在構(gòu)建VR應(yīng)用方面具有成本效益。

          任何有React經(jīng)驗(yàn)的開發(fā)者都可以輕松地學(xué)習(xí)這個(gè)框架,并立即開始構(gòu)建VR應(yīng)用。React VR應(yīng)用程序支持廣泛使用的設(shè)備和平臺(tái),包括iOS和Android。

          面試交流群持續(xù)開放,分享了近 許多 個(gè)面經(jīng)。 

          加我微信: DayDay2021,備注面試,拉你進(jìn)群。


          我是 TianTian,我們下篇見~

          1. 2021年保護(hù)JavaScript的7個(gè)步驟

          2. 一道字節(jié)筆試題,沒有想到考察的是....

          3. JavaScript中延遲加載屬性

          瀏覽 46
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  色天天天天色 | 成人电影久久 | 超碰97国产福利 | 国产成人三级在线视频 | 大香蕉午夜人网站 |