
现在很多团队开发元宇宙类型的3D应用,首选都是虚幻引擎、Unity3D这种游戏引擎。因为这些游戏引擎制作出来的效果更加的酷炫。
但也有越来越多的人和团队开始转向Web,毕竟打开一个浏览器就能访问到的内容,推广难度要小得多,再结合微信小程序目前在国人中的普及地位,所以尝试Web型的元宇宙应用成了很多团队2023年的一个尝试方向。

既然想要在Web上实现一个虚拟3D的世界,肯定不能从零开始写底层的渲染代码。一定要借助渲染引擎才来得容易。
目前基于浏览器的渲染引擎有三个最主流的:Three.js、Babylon.js和Playcanvas。这三个都是使用JavaScript语言、基于WebGL并且是开源、免费的。那么选择哪个引擎比较合适呢?我们一个一个来介绍,最后做个比较
Three.js

Three.js是久负盛名的Web3D开发引擎。从2011年发布以来,它已更新到148版本。在Github上的Star有将近9万。

其实说它是引擎并不恰当。准确来说它是一个轻量级的渲染框架,并不具备通常意义上一个引擎所应该具备的比如「资源管理器」、「节点编辑器」、「脚本编辑器」等等。
而且它的光照和物理系统比较偏底层,如果想要实现游戏级别的效果,需要手写的着色器和逻辑代码会比较多。

但是这些都不能掩盖它开发简单、接口丰富、高度自由的web开发镶嵌程度。并且它的社区非常发达。而且提供了相当多的官方案例,让你无论想要开发什么功能,都可以快速通过Demo来看懂如何实现。

从它的官网可以看出,相当多的团队项目都用了 Three.js 来开发 Web 上的 3D 应用。

从3D编辑器、到在线NFT展馆,Three.js的使用无疑是最为普及的。如果你或你的团队具备一定的 WebGL 、图形知识,并且具有比较好的前端工程化实现能力,那么使用 Three.js 一定是最佳首选。
但是,如果你的团队基因中,来自游戏引擎更多,并且有美术人员的构成,那么请看看后俩个
Babylon.js

Babylon.js是一个开源的JavaScript 3D游戏引擎,提供了丰富的3D图形渲染功能,如灯光、材质、动画和物理引擎,可以帮助开发人员在网页上创建复杂的3D场景和游戏。

它与 Threejs 一样的地方在于它开发的便捷性,只要在网页上引用它的 SDK 链接,就可以使用。但它与 Threejs 不一样的地方在于,它提供了在线的IDE编辑器,可以让你一边写代码一边直接实时刷出预览效果。

同时,它提供了节点编辑器,相比于 Threejs 要手写着色器代码,编辑器调节材质属性可是非常非常方便的

Playcanvas

PlayCanvas 相较与前两者不同之处在于,它是一个基于云的平台,创建、编辑和发布都是在它的在线应用中进行,项目也都是实时保存在它的在线仓库中。
从图中,你也能看到,Playcanvas 提供了一个非常像虚幻引擎的界面,能够方便地管理资源、导入模型、编辑材质等等。

它提供了用于创建 3D 图形和动画的可视化编辑器和 JavaScript API。 与 Three.js 和 Babylon.js 不同,PlayCanvas 是用于创建 3D 游戏和交互体验的更完整的解决方案。

而且,Playcanvas 对于粒子效果的编辑相对 Threejs 更轻松,这一点对于想要制作出特效的场景非常有必要。
总结
想要制作普通的3D应用,比如展示模型等,推荐 Three.js, 它的接入轻量方便
想要制作 Web 的3D编辑器,也建议 Three.js,在开发上它距离 WebGL 底层接口的更近
想要制作多人社交场景,可以考虑 Babylon.js,因为材质的编辑能力比 Three.js 更强
想要制作Web 3D游戏,可以考虑 Playcanvas,因为各项素材资源的导入,没有可视化的编辑工具,绝对是一场噩梦·
作者:虚拟方老师
作者:虚拟方老师
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
快来评论,快来抢沙发吧~