如果你有玩過《我的世界》,那你一定有用過體素引擎。Mozilla的Josh Marinacci就表示,自己七歲的兒子非常喜歡《我的世界》,并希望他可以制作相應(yīng)的VR版本。經(jīng)過一番找尋后,他發(fā)現(xiàn)了一款由Max Ogden和James Halliday開發(fā)的優(yōu)秀開源庫VoxelJS。遺憾的是,它已經(jīng)有五年時間沒有更新維護,所以不支持更新的庫。
為之奈何呢?簡單:Marinacci來接手,并將其移植到現(xiàn)代的ThreeJS & Javascript,然后添加WebXR支持。Marinacci將其稱為VoxelJS Next。
1. VoxelJS Next是什么?
VoxelJS Next是一款優(yōu)秀的圖形引擎,它不是游戲。我認(rèn)為《我的世界》歸為游戲類別,而非特殊的實例。我希望看到《我的世界》風(fēng)格的體素可以用于各種各樣的內(nèi)容?;瘜W(xué)模擬,水世界模擬,無限跑酷游戲,以及其他有趣的體驗。
VoxelJ允許你輕松通過Web構(gòu)建類《我的世界》游戲。得益于WebXR支持,它可以兼容桌面模式,觸控屏,完整屏幕,甚至是VR。VoxelJS是以ThreeJS為基礎(chǔ)。
2. 工作原理:
Marinacci會在以后的博文中介紹數(shù)據(jù)儲存方式和如何在屏幕中繪制,但一個簡答的回答是:
世界分成一個個區(qū)塊。每一區(qū)塊都包含一組方塊,并且是按需創(chuàng)建。所述的區(qū)塊將變成ThreeJS網(wǎng)格,然后再添加至場景。隨著玩家在世界中移動,區(qū)塊不斷地出現(xiàn)和消失。因此,即使你擁有一個無限大的世界,一次都只需要加載少量的區(qū)塊。
VoxelJS是作為ES6模塊并通過一個簡單的實體系統(tǒng)進行構(gòu)建。你只需加載所需的部分。桌面控件,觸摸控件,VR控制等都具有相應(yīng)的模塊。借助現(xiàn)代瀏覽器模塊支持,你無需使用諸如Webpack這樣的構(gòu)建工具。一切都可以通過導(dǎo)入模塊來實現(xiàn)。
3. 如何獲???
演示內(nèi)容代碼
4. 下一步
Marinacci表示:“我不想過度推銷VoxelJS Next。這是一個非常早期的alpha版本。Bug非常多,性能甚至不到應(yīng)有的一半,只有少量紋理,并且缺少大量功能。VoxelJS Next只是一個開始。但我希望能夠獲得早期反饋,所以希望大家可以嘗試一下。”
你可以在這里找到關(guān)于功能和問題的完整列表。對于新人來說,這里有一系列優(yōu)秀的問題。
Marinacci同時在SlacK創(chuàng)建了一個#voxels頻道。
原文鏈接:https://yivian.com/news/59962.html
來源:映維網(wǎng)