Skip to content

Godot 4.7 进入 RC2,正式版近在眼前

Godot 4.7 今天迎来了第二个候选发布版。这个版本从 4 月 24 日就开始打磨,当时 beta 1 发布,相对 4.6 稳定版带来了来自 309 位贡献者的 1265 处修复。6 月 8 日发布的 RC1 只有 16 位贡献者提交的 16 处修复,这种安静的快照通常意味着繁重的工作已经完成。今天的 RC2 收拾了几个后期出现的回归问题,而这通常就是最终构建之前的最后一站。

Godot 4.7 新特性的实操概览

RC2 实际修复了什么

RC2 是回归清理,不是新功能。团队抓住了 WorkerThreadPool 里一个可能冻结多线程项目的死锁,以及一个相关的 bug,即消息队列在 MainLoop 一次迭代结束前就停止了刷新。这两个都是那种时有时无的卡死,复现起来很折磨人,带进交付版本则更糟。清单上其余部分是编辑器层面的打磨:SceneTreeEditor 静默失败的拖拽操作、AnimationTree 因根动画节点缺少空值检查而崩溃,以及一个跳过第一个图块的 tilemap 随机化 bug。

这些都算不上光鲜。但它们正是你在把生产项目迁过去之前,要等候选发布版稳定下来的原因。

4.7 交付的特性

我们在 beta 1 发布时介绍过重点特性,功能冻结之后没有任何变化。有两点值得为正在权衡是否升级的人再说一遍。

HDR 输出现在能在每个桌面平台上工作。Godot 多年来内部一直以 HDR 渲染,但输出阶段在最后一步把所有内容色调映射降到了 8 位 SDR。4.7 在 Windows、macOS、Linux 和 BSD 上直接驱动 HDR 显示器,于是泛光、自发光表面和宽亮度场景终于能按渲染器的本意呈现在屏幕上。

新的 AreaLight3D 节点能从一个矩形表面渲染出柔和的光。以前你得靠散布点光源、调整衰减直到看起来勉强过得去,来模拟天花板灯板或窗户。现在它就是一个节点,带有宽度和高度,并具备正确的柔和阴影和距离衰减。过去要花一下午搭建的室内灯光,现在一分钟就能搞定。

这个版本还带来了默认启用的 C# 热重载、一个具备完整撤销/重做的动画树编辑器,以及解除 4 GB 内存上限的 wasm64 web 导出,这是我们最关注的部分。

这对 web 游戏意味着什么

wasm64 导出是对浏览器游戏最重要的一项。Godot 的 web 导出目前仍然通过 Compatibility 渲染器跑在 WebGL 2.0 上,WebGPU 支持还没有到位,所以 Forward+ 和 Mobile 依旧无法在浏览器里运行。4.7 改变的是内存这一侧:wasm64 导出解除了过去 4 GB 的上限,大项目不必再为了塞进 web 构建而砍内容。渲染上的差距仍然是要补的那一块,我们在 1 月写过为什么

对于像我们这样的平台,游戏在浏览器里即点即玩、无需安装,一个引擎把 web 目标做得更能打就是直接的利好。浏览器构建有了更大的余量,就有越多游戏能在标签页里流畅地呈现而无需下载,而这正是 Cinevva 押下的赌注。

你该升级吗

如果你在用 4.6 且项目处于活跃开发中,现在就在一个分支里装上 RC2 测试。团队对 4.7 兼容性的信心很高,部分原因是 API 稳定承诺在 4.5 前后收紧并一直保持住了。迁移路径还是老一套:用 4.7 打开、清掉已弃用的 API 警告、跑一遍你的测试场景。

如果你按固定排期发布,那就多等几天等正式版。RC2 这么安静就是信号,这个等待不会太久。4.6 上一次从 beta 到稳定的周期进行得很顺利,4.7 看起来也会照样如此。

参考资料