NSDT工具推荐Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器 - REVIT导出3D模型插件 - 3D模型语义搜索引擎 - Three.js虚拟轴心开发包 - 3D模型在线减面 - STL模型在线切割

你不必只是一名平面设计师才能创建交互式设计。 你是一名程序员,但仍然可以创建具有视觉吸引力和引人注目的游戏。 这一切都归功于 JavaScript。

第一个可以创建 3D 计算机图形的跨浏览器 JavaScript 库 Three.js 于 2010 年 4 月 24 日由 Ricardo Cabello 首次发布。 他首先用 ActionScript 语言编写代码,然后被 Adobe Flash 使用。

但随后在 2009 年,他将代码移植到了 JavaScript。 以前,人们使用 WebGL。 但问题是它的局限性:它只能创建简单的指针和线条。

Ricardo 并没有因为 WebGL 毫无用处而放弃它,而是将其用于自己的优势。 他在 WebGL 之上构建了 Three.js。 这会渲染 Three.js 以在浏览器中创建 3D 图形。 现在甚至可以使用 Canvas 和 WebGL 轻松创建 3D 场景。

但随后在 2013 年,Babylon.js 创建了。 但为什么? 为什么它的创建者 Microsoft 和 David Catuhe 要做另一个 JavaScript 库 Three.js 已经在做的事情? 嗯,那是因为 Babylon.js 不仅可以渲染逼真的图像。 它还可以创建像Temple Run这样的互动游戏。 为了向电子产品爱好者展示 HoloLens 的外观,微软使用了 Babylon.js。

但 Babylon.js 和 Three.js 之间到底有什么区别呢? 嗯,我就在这里告诉你。 Babylon.js 和 Three.js 之间的第一个区别是 Babylon.js 是一个实时 3D 引擎,使用 HTML5 后显示 3D 图形。 相反,three.js 是一个 JavaScript 库,也是一个用于在 Web 浏览器中制作和显示动画 3D 图形的 API。

由于 Babylon.js 和 Three.js 都是开源的,因此它们的源代码可以在 GitHub 上找到。 此外,Babylon.js 的源代码是基于 TypeScript 的,并进一步编译为 JavaScript。 相反,three.js 编程语言是 JavaScript、OpenGL 和 Shading Language。

根据其官方网站,Babylon.js 已经是一个 Web 渲染引擎。 但 Three.js 也是渲染引擎吗? 嗯,是的,它有 2 个官方引擎——CSS 和 WebGL。 使用 Babylon.js 还可以添加视觉效果。 但到了 Three.js 就无法添加视觉效果了。 你只能在后期处理后添加一些视觉效果。 Babylon.js 在支持 WebGL 的 Internet Explorer 11+、Firefox 4+、Google Chrome 9+ 和 Opera 15+ 上运行。 相反,Three.js 在 WebGL 1.0 支持的浏览器上运行。

为了你的方便,我创建了一个表格来突出显示 Three.js 和 Babylon.js 之间的差异。

但 2024 年 Babylon.js 和 Three.js 有什么值得学习的呢?

嗯,这个问题没有直接的答案。 如果你是 3D 编程新手,那么你应该在 2024 年学习 Three.js。那是因为 Three.js 具有干净的架构。 甚至课程的设计也很简单。 Three.js 中也有一些现成的组件。 你可以在此处查看有多少人在下载 Three.js。

但是,如果你已经具备良好的图形和编程知识,那么更愿意在 2024 年学习 Babylon.js。但随后要准备好应对一些精神崩溃。 Babylon.js 更难。 但它确实有比 Three.js 更好的完整文档。


原文链接:Difference Between Three.js and Babylon.js: What Actually Should You Choose?

BimAnt翻译整理,转载请标明出处