写点什么

Babylon.js 将成构建元宇宙重要工具?专访 Babylon.js 团队负责人 | 中国卓越技术团队访谈录

  • 2022-07-08
  • 本文字数:4339 字

    阅读完需:约 14 分钟

Babylon.js 将成构建元宇宙重要工具?专访 Babylon.js 团队负责人 | 中国卓越技术团队访谈录

采访嘉宾 | Jason Carter

采访编辑 | 闫园园


近期,微软旗下 WebGL 框架 Babylon.js 开发者之一 David Rousset 在接受采访时透漏,微软将很快披露其在元宇宙中的愿景,同时他还在访谈中谈到了自己对元宇宙的看法。根据 Rousset 的描述,未来的互联网用户应该能够从网络上的 3D 场景或网页 ( 例如用 Babylon.js 构建 ),通过 VR 中的链接,“被传送到另一个网站,该网站将处于另一个元宇宙”。

 

虽然这只是 Rousset 个人的设想,并不代表微软的官方说法,但外界依然从他的描述中猜测微软或将把 Web 标准纳入其元宇宙战略中。而这也意味着,Babylon.js 很大概率上会成为微软构建元宇宙的重要工具。

 

Babylon.js 刚刚于五月初正式发布了 5.0 版本,带来了诸多新特性,例如跨平台原生开发、Mixed Reality Toolkit 等等。那么对于 Babylon.js 团队来说,他们接下来的目标是什么?在开发支持 WebGPU 中,有没有遇见问题和挑战?又如何看待 WebVR 和元宇宙之间的联系?针对这些问题,InfoQ 有幸采访了微软 Babylon.js 的首席工程和产品负责人 Jason Carter,以下为其部分回答译文。

 

InfoQ:首先,请您向介绍一下自己以及您的团队目前在做的工作。

 

Jason Carter:大家好,我叫 Jason Carter,负责领导 Babylon.js 开发团队。Babylon.js 是一套使用 JS 的开源 Web 渲染与游戏引擎,我们的目标是把它打造成世界上最强大、最美观、最简单同时也是最开放的 Web 渲染平台之一。

 

InfoQ:请您讲讲 Babylon.js 开发的初衷是什么?

 

Jason Carter:开发 Babylon.js 的初衷,是希望帮助所有 Web 开发者在应用程序中充分运用 GPU 的强大功能。

 

WebGL 是一个面向浏览器的强大图形 API,目前已经得到全部主流浏览器的支持,但其本身既复杂又极具深度。很多 Web 开发者发现,直接使用 WebGL API 进行编程难度非常高。因此,Babylon.js 希望可以降低,甚至消除这种门槛。

 

Babylon.js 是一个非常简单的 JavaScript API,对所有开发人员都非常友好,它的意义就是简化开发流程,让更多 Web 开发者能够在自己的应用程序中利用 GPU 资源。

 

InfoQ:有开发者认为 Babylon.js 相较其他 WebGL 框架入门稍难,您有没有推荐新手快速上手的方法?

 

Jason Carter:每个人的教育背景和从业经历有所不同,这些使我们有了不同于他人的知识和技能储备。所以在学习新的技术平台时,我们总会结合自己的独特知识、经验做出判断,比如觉得它似乎很好上手,又或者不容易掌握。

 

Babylon.js 也不例外,有些人觉得它平易近人,但也有人觉得门槛太高。但无论大家的教育背景如何,我总会向 Babylon.js 学习者推荐三大资源:

 

首先是 Babylon.js playground,这里是最适合新手的入门课堂。大家可以在这里更改代码,并立即查看渲染结果,全程无需任何特殊设置。

 

第二个就是 Babylon.js 丰富的说明文档。Babylon.js 整个社区都在努力提供丰富、完整且易于理解的文档资源,这也是开启 Babylon.js 学习之旅的最佳起点。我们也一直在对文档内容做出改进,希望它能受到所有人,包括缺少开发经验的新手们的欢迎。就在两周之前,我们刚撰写了最新文档,题为《你的第一步》,这份新文档将提供完整引导,帮助初学者一步步打开 Playground,做出更改,下载准备就绪的托管网站,最终把成果托管并运行起来。

 

最后推荐给 Babylon.js 学习者们的是社区论坛。Babylon.js 论坛汇聚了世界各地友好、善良、乐于助人的贡献者们。我想把所有美好的词汇都献给我们的社区。总之,强烈建议各位学习者来看看 Babylon.js 论坛,打个招呼并开始提问。无论什么样的问题,都会有全世界最强的 Babylon 用户热情为你解答。

 

InfoQ:在开发 WebGPU 版本中,有没有遇见问题和挑战,是如何解决的?

 

Jason Carter:近两年来,我们一直致力于在 Babylon.js 中支持 WebGPU 。这是段疯狂、艰险,但又充满意义的探索。WebGPU 为 Web 开发者们带来了一系列令人难以置信的全新功能,例如使用计算着色器执行更高级的 GPU 运算。

 

但是想支持 WebGPU,最复杂的问题在于其中涉及一种全新的着色器语言(WGSL)。因为我们建立 Babylon.js 的目的就是发挥 WebGL 的能力,所以之前就已经完全支持 GLSL 。而这一次,我们必须考虑让 Babylon.js 支持多种着色器语言。

 

我们一直希望 Babylon.js 能够成为 Web 开发者访问 GPU 的唯一 API,避免纷繁复杂的底层浏览器 API(WebGL、WebGL2 或者 WebGPU )再给开发者带来额外的困扰。为此,我们决定开发一些特殊的工具,将 WGSL 着色器转换为 GLSL 着色器。

 

大家可以参考此处文档,了解关于这些工具的更多信息和演示案例

 

InfoQ:在开发 Babylon.js 时,团队是如何平衡包体积、性能、功能等因素的?

 

Jason Carter:这确实是个复杂的问题,因为每位开发人员的需求各不相同。使用 Babylon.js 平台的开发者很多,所以唯一的解决方案就是提升灵活性。我们努力采用最新的 Web 标准和技术,允许大家在 Babylon.js 中进行高级摇树优化,从而在尽可能削减包大小的同时,继续保留必要的一部分功能。

 

如此一来,每个人都能获得最适合自身需求的 Babylon.js 定制版本。当然,如果各位想在浏览器上开发 3A 级游戏,需要使用到 Babylon.js 的全部功能,那也可以照单全收。总之,Babylon.js 的构建充分考虑到模块化设计,保证每位开发者的需求都能得到完美满足。

 

InfoQ:有开发者认为 Babylon.js 包体积偏大,您和团队怎么看待这个问题?

 

Jason Carter:大家也可以根据实际需求构建定制化 Babylon.js 包。我们已经看到不少 Web 应用程序在特定场景中使用定制化 Babylon.js 包,大小仅为 92 kb;但如果需要完整功能集,大家也可以在 Web 应用中使用完整包。

 

Babylon.js 具备模块化特性,能够满足所有开发人员的具体需求。关于 Babylon.js 摇树设计的更多细节信息,请参阅我们的相关文档

 

InfoQ:有开发者提到,Babylon.js 面向游戏开发缺少必要的工作流和组件化设计,对此您怎么看?未来会增加必要工作流和组件化设计吗?

 

Jason Carter:其实这方面工作会一直持续下去。我们始终在努力为游戏开发者提供更多备受期待的现代功能和特性。我们也在 Babylon.js 身上倾注了不少野心勃勃的理想,希望能进一步降低游戏开发者的使用门槛,改进使用体验。

 

然而 JavaScript 仍然只支持单线程,所以 Web 游戏的开发只能依赖于一种不同于原生游戏开发的独特解决思路。但已经有不少游戏开发者利用 Babylon.js 带来了令人难以置信的精彩体验。《我的世界:经典版》、《神庙逃亡 2》等等案例都是明证,大家可以参阅此处链接

 

另外,我们还使用最新的 Babylon.js 5.0 版本开发了一段全新的《太空海盗》游戏演示,大家可以看看。

 

InfoQ:目前 WebVR 技术的发展现状是怎样的?您认为元宇宙等概念是否会对推动其有较大的发展?

 

Jason Carter:WebVR 在很大程度上已经被更新的 WebXR API 所取代。Babylon.js 一直保持着对 WebXR 最新功能的跟进和支持。随着沉浸式设备在各国市场变得更便宜,普及度更高,相信人们会对创建沉浸式网络体验产生更强烈的兴趣。实际上,我们最近发现这一领域的人气和关注度已经出现了爆发式增长。

 

随着新冠疫情席卷全球,很多人被迫长期居家,远程办公。于是乎,很多企业开始使用 Babylon.js 构建起真实、生动的元宇宙体验。Frame 就是个很好的例子。这种令人难忘的虚拟共享与共存体验完全建立在 Babylon.js 之上,也真正展现出元宇宙的价值所在。

 

所以大众对于虚拟世界的关注和渴望,一定会吸引更多人投向于沉浸式共享虚拟体验的开发中来。未来,我们也会看到更多开发者在 Babylon.js 的支持下将这种灵感转化为现实。

 

InfoQ:Babylon.js 接下来短期目标和长期目标是什么?

 

Jason Carter:我们刚刚发布了迄今为止体量最大,变化最多,最雄心勃勃的 Babylon.js 版本——Babylon.js 5.0。但这并不是终点,我们已经在为下个版本积极筹备。我们目前最核心的开发目标,就是让开发者们能使用 Babylon.js API 在所有平台上(包括 Web 和原生平台)创建体验。

 

我们正在开发 Babylon Native 技术集合,希望让创作者们能够以 Web 优先的方式开发出跨平台体验。在这方面,我们必须想办法保证为开发者提供统一的渲染和体验效果。我们遵从社区成员们的呼吁,正在为此努力。

 

必须承认,大部分现代游戏和渲染解决方案在“跨平台”功能中并没有充分考虑到 Web 端的需求。但我们想要有所突破,从出色的 Web 体验起步,再慢慢通过统一的性能、沉浸效果和部署流程满足访问者的一切期待。我们正在关注并思考这个问题,Babylon Native 正是这项计划中的关键一环。

 

InfoQ:Three.js 和 Babylon.js 经常会拿来一起作比较,对此您怎么看?

 

Jason Carter:其实没啥冲突。我们也很喜欢 Three.js,欣赏那些使用 Three.js 将精彩的想法转化成现实的开发人员。我们双方相互激励,共同进步。我们有着相同 的热情,就是想把强大的 GPU 功能交付到 Web 开发者手中。

 

Three.js 和 Babylon.js 都在为这个目标而努力,我们也乐于看到共同的热情孕育出相似的成果,把理想中的效果鲜活展现在每个人眼前。所以两个有着共同努力方向的项目怎么会有冲突呢,我觉得双方更像是队友的关系。 😊

 

InfoQ:您认为 WebGL 标准的前景如何?

 

Jason Carter:WebGL 是个令人印象深刻的 API,而 WebGL 2 基本已经被行业视为“最终完整版”。

 

在 Babylon.js 上,我们期待能在支持 WebGPU 的浏览器上直接连通 GPU。我们坚信这个全新 API 能为全球 Web 开发者们解锁更多超能力,也为 Babylon.js 能够全面支持 WebGPU 感到无比自豪!

 

InfoQ:最后,您有没有想对中国开发者们想说的话?

 

Jason Carter:感谢各位中国开发者对沉浸式 Web 开发的关注,也感谢大家支持 Babylon.js。在这里,我诚邀大家加入 Babylon.js 大家庭,了解其中蕴藏的无穷可能性。请相信,这个友好、温暖、乐于互助的社区正在敞开怀抱,欢迎你来!

 

Jason Carter:


微软 Babylon.js 负责人和技术布道者。


电子书推荐


本文选自《中国卓越技术团队访谈录》(2022 年第二季),本期精选了微软 Edge、蚂蚁可信原生、明源云、文因互联、Babylon.js 等技术团队在技术落地、团队建设方面的实践经验及心得体会。本期电子书已经在 InfoQ 网站上线,大家可以扫描下图二维码下载,查看更多精彩内容。


《中国卓越技术团队访谈录》是 InfoQ 打造的重磅内容产品,以各个国内优秀企业的 IT 技术团队为线索策划系列采访,希望向外界传递杰出技术团队的做事方法 / 技术实践,让开发者了解他们的知识积累、技术演进、产品锤炼与团队文化等,并从中获得有价值的见解。


访谈录现开放长期报名通道,如果你身处传统企业经历了数字化转型变革,或者正在互联网公司进行创新技术的研发,并希望 InfoQ 可以关注和采访你所在的技术团队,可以添加微信:caifangfang842852,请注明来意及公司名称。



2022-07-08 14:0010668

评论

发布
暂无评论
发现更多内容

BS-XX-020基于SSM实现停车位租赁系统

爱好编程进阶

Java 面试 后端开发

ConcurrentHashMap1-8源码解读及如何保证线程安全

爱好编程进阶

Java 面试 后端开发

gRPC学习之三:初试GO版gRPC开发

爱好编程进阶

Java 面试 后端开发

Java工程师的进阶之路-Kafka篇(二)

爱好编程进阶

Java 面试 后端开发

检测、跟踪、行为识别All-In-One!产业级行人分析系统重磅开源!

百度大脑

专有云如何精准、及时地实现故障定位?丨智能运维

百度大脑

2021最新版SpringBoot实战项目教程,美团专家带你深入SpringBoot

爱好编程进阶

Java 面试 后端开发

前端食堂技术周刊第 33 期:IE 退休倒计时:3 个月、TypeScript 4.7 Beta、TypeScript 编译器工作原理、Rust 编码规范

童欧巴

前端 Web 前端工程师

7步搞懂分布式全内容,我不信面试官还敢“怼

爱好编程进阶

Java 面试 后端开发

ERNIE-GeoL:“地理位置-语言”预训练模型

百度大脑

Java基础08 方法

爱好编程进阶

Java 面试 后端开发

Java性能优化的35个细节(珍藏版)

爱好编程进阶

Java 面试 后端开发

数据分析之前知道这 7 件事,少花 80% 时间

龙国富

数据分析 数据采集

ModStart 是基于 Laravel 的模块化开发框架

ModStart开源

Java面试过了京东五面之后,发现掌握了这些技术也没有那么难

爱好编程进阶

Java 面试 后端开发

聚焦信息抽取前沿难题,CCKS-千言通用信息抽取竞赛报名启动

百度大脑

B站,牛逼!

爱好编程进阶

Java 面试 后端开发

Eclipse快捷键 10个最有用的快捷键

爱好编程进阶

Java 面试 后端开发

JAVA学习(3)

爱好编程进阶

Java 面试 后端开发

Java程序员2021年金三银四面试必备:高速突击学习框架+性能优化

爱好编程进阶

Java 面试 后端开发

外包学生管理系统详细架构设计

Geek_bc9c8d

大咖云集,星环科技春季新品发布周【数字化转型专题】精彩抢先看

星环科技

数据库

Apache SkyWalking 告警动态配置源码简析

爱好编程进阶

Java 面试 后端开发

格灵深瞳与华为签署合作协议,共同推进昇腾AI产业创新发展

Geek_32c4d0

昇腾AI

Docker技术三大要点:cgroup, namespace 和 unionFS, 从理论到实践

汪子熙

Docker 容器 虚拟化 容器镜像 4月月更

PPDE迎新 | 欢迎18位AI开发者加入飞桨开发者技术专家计划

百度大脑

自己动手写Docker系列 -- 6.2创建网络

Go Docker 4月月更

JVM基本概念

爱好编程进阶

Java 面试 后端开发

Linux驱动开发-编写超声波测距模块的驱动

DS小龙哥

4月月更

利用String.intern 减少相同值的String内存占用

lich0079

内存 intern java MAT String类

5分钟搞懂MySQL - 索引下推优化

爱好编程进阶

Java 面试 后端开发

Babylon.js 将成构建元宇宙重要工具?专访 Babylon.js 团队负责人 | 中国卓越技术团队访谈录_大前端_闫园园_InfoQ精选文章