使用React 360創(chuàng)建虛擬現(xiàn)實(shí)體驗(yàn)
點(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)將如下所示:
你可以使用npm start命令啟動(dòng)該項(xiàng)目。你的瀏覽器上的輸出將可以在http://localhost:8081/index.html。
你可以使用你的鼠標(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)容。
在這里,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,我們下篇見~

