Godot 4.7 正式发布:HDR 输出、AreaLight3D 与 Asset Store 上线,开源引擎的画质与工具链全面进化
6月18日,开源游戏引擎 Godot 迎来了 4.7 正式版发布。这个被社区亲切称为“导演剪辑版”的版本,在 Godot 4.x 系列历经三年打磨后,交出了一份令人满意的答卷——HDR 输出让画面色彩达到前所未有的强度,AreaLight3D 节点补齐了 3D 光照的最后一块拼图,全新 Asset Store 取代了老旧的 Asset Library,着色器内联预览、Control 偏移变换、DrawableTexture2D 等一系列实用功能则大幅降低了日常开发中的摩擦力。
对于独立开发者和小团队来说,Godot 4.7 的意义不止于功能列表的叠加。在 Unity 调整收费策略、虚幻引擎加速向 UE6 过渡的行业背景下,Godot 正在以更快的迭代节奏和更贴近开发者需求的方向,成为越来越多人的首选引擎。本文将从核心功能、实际应用场景和学习路径三个维度,帮你快速理解这次更新的价值。
HDR 输出:让游戏画面突破 SDR 的天花板
HDR(高动态范围)输出是 Godot 4.7 最受瞩目的功能。此前,Godot 内部虽然已经使用 HDR 进行光照计算,但最终输出到屏幕时会被压缩到 SDR(标准动态范围),导致高亮区域细节丢失、色彩表现力受限。
4.7 版本在 Windows、macOS、iOS、visionOS 和 Linux(Wayland)上实现了完整的 HDR 输出管线。这意味着你的游戏可以直接利用 HDR 显示器的全部能力——爆炸火光的高亮溢出、霓虹灯招牌的饱和色彩、阳光透过窗户的光晕效果,这些在 SDR 模式下需要各种技巧模拟的效果,现在可以自然呈现。
从技术实现来看,Godot 的 HDR 输出支持 PQ(Perceptual Quantizer)和 scRGB 两种传递函数,覆盖了当前主流 HDR 显示标准。对于 2D 和 3D 项目同样适用,不需要额外的配置步骤——只要你的显示器支持 HDR,在项目设置中开启即可。
实用建议:如果你正在开发一款视觉风格鲜明的独立游戏,HDR 输出可以在不增加任何渲染开销的前提下显著提升画面质感。建议在开发初期就开启 HDR 预览模式,这样在调整材质和光照参数时就能看到最终效果,避免后期返工。需要注意的是,HDR 输出在部分浏览器中可能无法正确预览(Firefox 目前不支持 HDR 图片),桌面端测试时请使用系统原生窗口。
AreaLight3D:矩形区域光源终于来了
3D 光照方面,Godot 4.7 新增了 AreaLight3D 节点,支持创建矩形区域光源。这个功能看似简单,但对 3D 场景的光照质量影响深远。
在此之前,Godot 开发者想要模拟发光屏幕、霓虹招牌、窗户透光等宽光源效果,通常需要使用自发光材质配合全局光照(GI)来实现。这种方式不仅设置繁琐,而且效果依赖 GI 的烘焙质量,实时场景中往往表现不佳。
AreaLight3D 让这一切变得直接——你只需要添加一个节点,设置矩形尺寸和光照参数,就能获得来自矩形表面的实时照明。它产生的阴影更柔和、反射更真实,特别适合城市夜景、室内场景等需要大量面光源的环境。
实用建议:AreaLight3D 的计算成本高于点光源和平行光,不要在场景中大量堆叠。建议将其用于关键视觉焦点(如发光的告示牌、电脑屏幕、路灯),其余区域仍使用传统的点光源和聚光灯来控制性能。对于移动端项目,需要特别注意区域光源对 GPU 的压力,建议在性能分析后决定使用数量。
Asset Store:告别 Asset Library,迎来新时代
Godot 4.7 正式上线了全新的 Asset Store(资产商店),取代了服役多年的 Asset Library。这不是简单的换皮升级,而是从底层架构到用户体验的全面重构。
新 Asset Store 引入了多线程加载机制,浏览资产时不再阻塞编辑器主界面。资产展示页面经过重新设计,支持缩放预览图、查看评分和评论。对于插件开发者来说,新的商店提供了更好的曝光机制和更规范的提交流程。JetBrains Rider 也已宣布支持 Godot Asset Store 插件开发,这意味着使用 Rider 的开发者可以获得更好的插件调试体验。
实用建议:如果你有自己开发的 Godot 插件或工具,现在是迁移到新 Asset Store 的好时机。新商店的评分系统和评论功能能帮助你获得用户反馈,多线程加载也意味着你的资产页面加载更快、体验更好。对于普通用户,建议在项目初期就浏览 Asset Store,了解可用的社区资源,避免重复造轮子。
着色器内联预览:告别“改一行编译一次”的痛苦
Godot 4.7 为文本着色器编辑器添加了内联预览功能。现在,当你在编辑器中编写着色器代码时,可以实时看到代码对应的视觉效果,而不需要每次修改后都编译并切换到预览窗口。
这个功能虽然不像 HDR 那样“炸裂”,但对于经常编写自定义着色器的开发者来说,效率提升是实实在在的。过去的工作流是:修改代码 → 编译着色器 → 切换到 3D 视口 → 查看效果 → 发现不对 → 切回代码 → 重复。现在这个循环被压缩到了一个界面内完成。
实用建议:如果你之前因为着色器开发效率低而回避自定义着色器,4.7 是一个重新尝试的好机会。内联预览特别适合调试 UV 变换、颜色混合、噪声函数等视觉效果。建议从简单的后处理效果开始练习,逐步过渡到复杂的材质着色器。
Control 偏移变换:UI 动画不再与布局打架
Godot 的 GUI 系统长期以来有一个痛点:Container 节点会强制覆盖子节点的位置、旋转和缩放属性,导致开发者很难在不破坏布局的前提下对 UI 元素做动画。
4.7 引入的 offset_transform 属性解决了这个问题。它的行为类似 CSS 的 transform 属性——在容器布局计算完成后,再应用额外的位移、旋转和缩放。这意味着你可以让按钮平滑滑入、让面板弹性弹出,而不需要担心容器重新排列时把你的动画效果覆盖掉。
更贴心的是,偏移变换默认只影响视觉效果,不影响鼠标输入的碰撞检测。也就是说,一个被旋转了 30 度的按钮,它的点击区域仍然保持在原始位置,不会因为视觉变换而导致交互混乱。
DrawableTexture2D:在纹理上画画终于变简单了
Godot 4.7 新增了 DrawableTexture2D 节点,提供了一个简洁的 API 来在纹理上进行绘制操作。此前,开发者如果需要在运行时修改纹理(比如画布涂鸦、脚印系统、天气效果),要么使用 Viewport 的变通方案(性能差且功能有限),要么直接操作 RenderingDevice(门槛太高)。
DrawableTexture2D 抽象了底层技术细节,提供了适合各种技能水平的绘制接口。无论是做一款绘画类游戏,还是实现简单的运行时纹理修改,这个节点都能大幅降低实现难度。
Android 端:从开发到发布全在手机上完成
随着 GABE(Godot Android Build Environment)的稳定发布,Godot 4.7 实现了一个颇具前瞻性的目标:开发者可以在 Android 设备上完成从开发到导出再到发布的全部流程。
GABE 是一个独立的 Android 应用,为 Godot Android 编辑器提供 Gradle 导出支持。4.7 版本对 GABE 的集成进行了优化,包括画中画模式、可调整大小的嵌入式游戏窗口、脚本编辑器方向切换等 QOL 改进。这意味着你可以在平板甚至手机上开发 Godot 游戏,并直接发布到 Google Play。
其他值得关注的功能
Godot 4.7 还包含大量实用改进:Path3D 节点支持将路径点吸附到碰撞体上;3D 编辑器新增顶点吸附功能,按 B 键即可将网格顶点对齐到其他网格;CSG 节点新增自动平滑选项;CollisionShape2D 支持任意方向的单向碰撞;GradientTexture2D 支持锥形渐变;Tree 控件的拖放操作更加直观;PopupMenu 支持搜索栏过滤长列表等。
这些改进单独看都不算大,但累积起来显著降低了日常开发中的“小摩擦”,让开发者能把更多精力放在游戏设计本身。
迁移建议与学习路径
如果你正在使用 Godot 4.6 或更早版本,迁移到 4.7 之前请务必阅读官方迁移指南。4.7 存在一些破坏性变更,特别是着色器编译管线的调整可能影响自定义着色器的兼容性。
推荐的学习路径:
1. 先下载 4.7 创建一个空白项目,体验 HDR 输出和 AreaLight3D 的效果
2. 将现有项目的副本升级到 4.7,检查兼容性问题
3. 浏览新 Asset Store,了解社区生态的变化
4. 尝试使用 offset_transform 为现有 UI 添加动画效果
5. 如果你有 Android 设备,安装 GABE 体验移动端开发流程
Godot 4.7 的发布再次证明,开源引擎的迭代速度和社区响应能力已经达到了商业引擎的水平。在 Unity 面临信任危机、虚幻引擎向 UE6 过渡的当下,Godot 正在成为独立开发者最可靠的技术选择之一。如果你还没有认真考虑过 Godot,现在是时候了。
