Babylonjs 第一章 走进 Web3D

1,245 阅读2分钟

近期元宇宙概念大火,WebGPU 写入标准,智慧城市、数字孪生、GIS、活动小游戏 的诉求越来越大,大部分人 领导 都喜欢花里胡哨的东西,趁着 WebGPU 时代还未完全来临时,先了解下 Web3D 开发。

常见的 3D 库

在 Web3D 百花齐放的今天,经过市场和社区的筛选目前依然活跃的主流 3D 库其实都不错,或许各自偏重点有区别。

  • Egret

    白鹭引擎,重度小游戏领域的主流引擎。官方自我定位是 HTML5领域的技术和服务提供商,为开发者带来一整套游戏研发解决方案,自主研发了白鹭引擎(Egret Engine)、Egret Pro、白鹭加速器(Egret Runtime)、骨骼动画工具(Dragon Bones)、可视化编辑器(EUI Editor)等多款产品,让开发者简单、高效的开发出移动游戏。基于TypeScript进行开发,支持跨平台。国产,中文文档友好。

  • Unreal Engine

    虚幻引擎是全球最先进的实时3D创作工具,可制作照片级逼真的视觉效果和沉浸式体验。实力勿容置疑,但使用时需要自行下载 JS 文件引入,引入方式有点原始。如果项目较为复杂,对渲染性能、细节要求很高,可以试试。

  • Three.js

    Three.js是基于原生 WebGL 封装运行的三维引擎,在所有 WebGL 引擎中,Three.js 是国内文资料最多、使用最广泛的三维引擎。定位是纯渲染库,周边(如模型插件)需要配合社区扩展库完成,有点类似于 React 的定位,直观核心,生态由社区完善。入门相对较为容易。

  • Babylon.js

    和 Three.js 类似,官方给自己的使命是成为世界上最强大、最漂亮、最简单的 Web 渲染引擎之一(目前差不多达到了)。功能较为全面,提供了一套工程化解决方案,如编辑器(场景、节点)、WebXR、.gITF等,大模型加载速度快,还有爸爸微软。相对于 Three.js 难度稍微高点,但更为成熟。

    BabylonJS 制作的云展案例:

    虚拟博物馆(cool360.com)-官网​www.cool360.com/

总结

如果是交付的是客户端,有 Unreal Engine 相关人员,就直接用这个最强大的引擎;如果是 Web 项目,一锤子买卖,没大模型,性能要求不严苛,就使用 Three.js,反之使用 Babylon.js;如果是开发移动端游戏,如QQ、支付宝等,推荐使用 Egret。

由于个人更偏向于 Web,由于某些其他因素,最终选的是 Babylon.js。