Godot 4.4 的28条更新!

Godot 4.4 的28条更新!

沫萝ㅤ

2025-03-15 发布176 浏览 · 0 点赞 · 0 收藏

Godot 4.4于2025年3月发布,带来了大量改进和新功能,提升了开发者的使用体验和引擎性能。以下是对该版本主要更新内容的简要介绍:

一、嵌入式游戏窗口

Godot 4.4 引入了嵌入式游戏窗口功能,通过一些窗口管理技巧,让游戏能够无缝嵌入编辑器中,同时保持游戏和编辑器作为独立进程运行。这样既避免了资源过度共享,又能在游戏崩溃时保护编辑器中的数据不丢失。这对于屏幕空间有限的用户(如仅使用单个显示器或笔记本电脑的用户)来说非常实用,能够更高效地利用屏幕空间。

二、性能优化

随着 Godot 4 核心功能集的稳定,贡献者们将精力转向了全面优化。许多优化相关的拉取请求在 4.3 版本发布前已完成和测试,但因合并截止日期问题未能及时合并。现在,在 4.4 版本中得以批量应用,为用户带来更流畅、高效的使用体验。

三、Manifold 库替换 CSG 实现

Godot 自 3.1 版本起就支持构造实体几何(CSG),但内部实现存在稳定性问题和其他缺陷。由于该领域缺乏专门的维护者,当开源的 Manifold 库发布后,Godot 选择用它完全替换现有的 CSG 实现。这一改变对用户 API 的影响很小,但在内部处理 CSG 的方式上有较大调整。升级后,建议您检查项目并报告问题,以便我们修复。

四、曲线域扩展

曲线(Curve)值的域从标准化的 [0, 1] 范围扩展到更广的范围,为用户在将函数和数据映射到这一通用资源时提供了更大的灵活性,满足更多样化的开发需求。

五、临时文件和目录工具

新增的临时文件和目录 API 让开发者可以创建和处理临时文件及目录,不用担心污染用户数据。默认情况下,通过此 API 创建的文件或目录在使用后会自动清理,这对工具开发者尤其有帮助。

六、LightmapGI 的阴影遮罩

使用 LightmapGI 时,现在可以选择启用阴影遮罩。在烘焙光照贴图时启用该功能,可实现远处使用静态阴影,近处使用动态阴影。远处低分辨率阴影节省资源,近处高细节阴影不受影响,对移动应用尤为重要,能有效优化动态阴影范围。

七、窗口状态保持

Godot 编辑器现在会记录窗口状态,包括是全屏还是窗口模式、所在屏幕、以及大小和位置等信息。下次打开程序时,这些设置会自动恢复,为使用大屏幕或多屏显示器的用户提供了更好的使用体验,无需每次重新调整窗口设置。

八、场景启动优化

编辑器加载速度再次提升,大型项目启动速度可提升高达 3 倍。同时,涉及文件系统扫描的操作也会受益,大大缩短了项目启动和文件系统相关操作的等待时间。

九、分析器的自动启动

新增的复选框允许用户在运行项目时自动启动所有分析器,无需在游戏运行时手动切换出去启动,便于从游戏加载场景的第一秒开始就捕获分析数据,方便开发者更全面地了解游戏性能。

十、无错误的首次项目导入

从版本控制系统导入项目后,用户不再会面对一堆错误。以前因.godot文件夹不需推送到仓库,首次打开项目时会自动生成,导致需重启编辑器才能消除错误。现在这一问题已解决,避免了因错误信息带来的困扰。

十一、Android 编辑器:导出支持

Godot 编辑器在 Android 设备上已可用一段时间,但此前要创建各平台的二进制文件需切换到其他操作系统。现在可在 Android 设备上下载导出模板并完成项目,实现从开始到结束都在移动设备上进行开发。

十二、JavaClassWrapper 修复

现在可以将 Java 类映射到 Godot 对象作为接口,更方便地访问 Android SDK。一些基本功能无需创建插件,大大简化了开发流程。

十三、AndroidFilePicker 支持

游戏中可利用 Android 的原生文件选择器,为移动设备上的应用提供更无缝的用户体验,使文件选择操作更加符合用户习惯。

十四、Swappy – Android 帧率控制库

Swappy 库帮助游戏在 Android 上实现平滑渲染和正确的帧率控制,若设备支持多种刷新率,该库能处理相应情况,为游戏呈现帧提供更多灵活性,且开发者无需额外操作,升级项目后自动享受这些优势。

十五、Linux 摄像头支持

此前 Godot 访问设备摄像头仅支持 macOS 和 iOS 设备,现在 Linux 支持已合并,其他平台仍需贡献者继续努力。

十六、苹果游戏控制器改进

对 macOS 和 iOS 上的游戏控制器代码进行了大修,使其在两个平台上的代码更加统一,修复了诸多错误,提高了控制器发现的可靠性以及操纵振动马达的稳定性。

十七、.NET 8.0 升级

随着 Godot 4.0 发布,C# 包从针对 Mono 转为 .NET 6。.NET 6 于 2021 年 11 月 8 日发布,2024 年 11 月 12 日结束支持。所以下一版本将实施并提高最低所需版本到 .NET 8,现有项目在用 Godot 4.4 打开时会自动升级,旧版本仍针对 .NET 6 以避免破坏。

十八、Android 的 .NET 支持

C# 项目现在支持所有 Android ABI 和 BCL API(以前仅支持 64 位架构),拓展了开发者的开发选择和应用兼容性。

十九、运行时 WAV 文件加载

如同 OGG Vorbis 音频轨道早已允许的那样,现在可以在运行时加载 WAV 文件。对于希望在运行时加载用户生成内容(包括非游戏音频应用)的开发者来说非常有用。

二十、Betsy 纹理压缩器集成

Betsy 纹理压缩器可将图像压缩成多种 GPU 纹理格式,运行在 GPU 上,比当前压缩器(使用“VRAM 压缩”导入设置)速度快得多,大幅减少导入时间。

二十一、新的 glTF 扩展

以前 glTF 导入仅允许从列表中动画化属性:位置、旋转、缩放和网格混合形状权重。新扩展使动画能针对自定义属性,如灯光颜色、相机 FOV、材质反照率颜色、材质 UV 偏移等。Godot 属性与 glTF 对象模型 JSON 指针的映射关系可通过 GDScript 定义。

二十二、异步导航

导航地图同步已移至异步后台线程,避免在导航更新时拖慢整个游戏,尤其在低端系统上,资源受限时更新频率会降低,保证游戏运行流畅。

二十三、导航系统重构

导航代码是引擎代码库中最古老的部分之一,导航团队对其进行彻底清理和改进,添加了从调试指示器显示导航链接方向到支持障碍物节点的变换等改进,路径查找查询使用新的内部堆结构,使导航功能更快。

二十四、2D 批处理

批处理是一种性能优化手段,能大幅减少场景中的绘制调用次数,在包含大量文本渲染或共享纹理的重复精灵的场景中效果明显。此前该优化仅在兼容性渲染器中可用,现在其他渲染后端也支持,使 2D 性能在所有渲染后端中相当。

二十五、渲染驱动回退

如果尝试在不支持 Vulkan、D3D12 或 Metal 的设备上运行 Godot 的 Forward+ 或 Mobile 后端,以前会弹出令人困惑的系统警报。现在引擎会自动回退到基于 OpenGL 的兼容性渲染器,若不希望如此可在项目设置中关闭该功能。

二十六、阴影投射器蒙版属性

用户可对单个 Light3D 对象应用蒙版,选择投射阴影时考虑的渲染层。通过这种控制,可进一步优化动态光照,选择性地开启或关闭阴影。

二十七、2D 着色器实例统一变量

为 CanvasItem 着色器添加了对着色器实例统一变量的支持,允许为每个实例分配不同的统一变量值,无需编译两个单独的着色器。这样会比处理多个材质更高效,且不会破坏批处理。

二十八、3D 粒子系统的发射形状可视化

现在可依赖场景中放置的 3D 粒子系统的可视化效果,而无需仅根据发射形状的属性猜测,适用于 CPU 和 GPU 粒子,让粒子效果的调整和预览更加直观。


Godot 4.4 这一版本更新内容丰富,涉及编辑器功能、性能优化、图形渲染、跨平台支持等多个方面,为开发者带来了更强大、更便捷的开发体验,也为游戏创作提供了更多可能性。欢迎您加入我们的频道,和广大爱好者们一起交流!


请前往 登录/注册 即可发表您的看法…