如果你有玩过《我的世界》,那你一定有用过体素引擎。Mozilla的Josh Marinacci就表示,自己七岁的儿子非常喜欢《我的世界》,并希望他可以制作相应的VR版本。经过一番找寻后,他发现了一款由Max Ogden和James Halliday开发的优秀开源库VoxelJS。遗憾的是,它已经有五年时间没有更新维护,所以不支持更新的库。
为之奈何呢?简单:Marinacci来接手,并将其移植到现代的ThreeJS & Javascript,然后添加WebXR支持。Marinacci将其称为VoxelJS Next。
1. VoxelJS Next是什么?
VoxelJS Next是一款优秀的图形引擎,它不是游戏。我认为《我的世界》归为游戏类别,而非特殊的实例。我希望看到《我的世界》风格的体素可以用于各种各样的内容。化学模拟,水世界模拟,无限跑酷游戏,以及其他有趣的体验。
VoxelJ允许你轻松通过Web构建类《我的世界》游戏。得益于WebXR支持,它可以兼容桌面模式,触控屏,完整屏幕,甚至是VR。VoxelJS是以ThreeJS为基础。
2. 工作原理:
Marinacci会在以后的博文中介绍数据储存方式和如何在屏幕中绘制,但一个简答的回答是:
世界分成一个个区块。每一区块都包含一组方块,并且是按需创建。所述的区块将变成ThreeJS网格,然后再添加至场景。随着玩家在世界中移动,区块不断地出现和消失。因此,即使你拥有一个无限大的世界,一次都只需要加载少量的区块。
VoxelJS是作为ES6模块并通过一个简单的实体系统进行构建。你只需加载所需的部分。桌面控件,触摸控件,VR控制等都具有相应的模块。借助现代浏览器模块支持,你无需使用诸如Webpack这样的构建工具。一切都可以通过导入模块来实现。
3. 如何获取?
演示内容代码
4. 下一步
Marinacci表示:“我不想过度推销VoxelJS Next。这是一个非常早期的alpha版本。Bug非常多,性能甚至不到应有的一半,只有少量纹理,并且缺少大量功能。VoxelJS Next只是一个开始。但我希望能够获得早期反馈,所以希望大家可以尝试一下。”
你可以在这里找到关于功能和问题的完整列表。对于新人来说,这里有一系列优秀的问题。
Marinacci同时在SlacK创建了一个#voxels频道。
原文链接:https://yivian.com/news/59962.html
来源:映维网