开发快照:Godot 4.4 开发 7

开发快照:Godot 4.4 开发 7

FeiSuoerDe

2025-01-08 发布170 浏览 · 2 点赞 · 0 收藏

由:撒迪厄斯·克鲁斯
19 十二月 2024

大家,节日的问候!随着我们的团队为假期做好准备,我们为您准备了最后一份礼物 新的一年:我们今年的最后一个开发版本!
在 dev 6 中出现了一些明显的回归之后,我们打算对具有高优先级 bug 的 dev 7 进行快速周转 修复。但是我们太贪婪了,最终将 dev 7 变成了另一个功能丰富的新版本,这样你就会有很多东西 在我们假期期间退房。
请记住,虽然我们试图确保每个开发快照都足够稳定以进行一般测试,但这是由 定义预发布软件。请务必频繁进行备份,或使用版本控制系统,例如 Git,用于在损坏或数据丢失的情况下保留您的项目。
跳转到 Downloads 部分,立即试一试,或继续阅读以了解有关此版本中改进的更多信息。您还可以尝试此版本的 Web 编辑器XR 编辑器Android 编辑器(加入 Android 编辑器测试组以访问预发布版本)。


封面插图来自 Pest Apocalypse,这是一款基于超现实的后世界末日物理比萨外卖动作 rogue-lite!它由 Kikimora Games 开发。您可以在 Steam 上购买该游戏,并在 BlueSkyDiscord 上关注开发人员。


突出

如果您错过了它们,请参阅 4.4 dev 14.4 dev 24.4 dev 34.4 dev 44.4 dev 54.4 dev 6 发行说明,了解 这些快照中已经存在一些关键功能,因此仍可用于 Dev 7 中的测试。
以下是 dev 7 中一些新功能的亮点,您可能会觉得特别令人兴奋!


Jolt Physics 模块

自 2022 年底成立以来,godot-jolt 已成为事实上的 3D Physics Engine 的 Physics 引擎。为什么会这样,大部分历史都记录在这篇文章中 Adam Scott 的提案,但是 主要收获是大力推动该工具被认可为官方插件。这样做时,用户将 能够以引擎本身推广的方式找到这个惊人的资源;一个令人兴奋的前景!
Godot Jolt 的维护者 Mikael HermanssonJorrit Rouwe, 将这个想法更进一步:将工具直接集成为引擎的一部分。已经存在共生关系 在他们的团队和 Godot 引擎之间,Godot 和 Jolt 添加了许多功能以适应两者,但 集成官方模块并非易事;他们的拉取请求 (GH-99895) 最终添加了超过 500 个文件和 115,000 行 的代码!因此,虽然相对于它运行的时间而言,这是经过最严格测试的 PR 之一,但它确实是 任何团队都无法解释这个庞然大物引入的所有内容,因此我们热切期待您的反馈(和 bug reports) 的 4.x 请求量最大的功能之一。
注意:在撰写本文时,这并不能取代 Godot Physics 作为默认的 3D 物理引擎。 Godot 中的 Jolt Physics 集成被认为是实验性的,在未来的版本中可能会发生变化。它还缺少 Godot Physics 的一些功能,因此不是完全的直接替代品。如果您的兴趣/用例受支持,则 可以通过将 Project 设置更改为 来启用 。physics/3d/physics_engine``Jolt Physics


.NET 8.0 版本

Paul JoannonRaul Santos 已经完成了最后的准备工作 用于将 GodotSharp 库和用户项目移动到 .NET 8(GH-92131GH-100195)的位置。默认情况下,所有新项目都将使用 .NET 8,并且 使用此版本或任何较新的 4.4 版本打开现有项目后,将自动更新为 .NET 8。


改进了 Scene Tree 编辑器性能

在 dev 6 和 dev 7 之间塞进的性能提升数量是惊人的。值得注意的是 最近对引擎核心的改进,包括由 Ivorforce 牵头的整个 String 类的许多优化。但也许最明显的改进来自惠普面包车 Braam 及其对 SceneTree 系统的修改 (GH-99700) 的。虽然这将证明对所有项目都有好处, 这些更改导致特别复杂的场景在移动或重命名时在 Editor 中的性能降低 10 倍 SceneTree 中的节点。


文档工具提示

感谢 Danil Alexeev,GDScript 代码编辑器现在将显示一个工具提示,其中包含 将鼠标悬停在函数、变量、类等上时的信息,包括您拥有的文档 使用我们的文档系统 (GH-91060) 编写。这使得使用 集成的文档系统更加强大,因为您不再需要在代码编辑器和 related docs 快速获取信息。
文档工具提示框


光照贴图的烘焙阴影遮罩

到目前为止,在使用 LightmapGI 时,您总是必须在完全烘焙或完全动态阴影之间进行选择。然而 有时,您希望在细节很重要的地方近距离使用动态阴影,但在远处使用静态阴影,其中 低分辨率是可以接受的。最后,多亏了 GH-85653BlueCube3310 的辛勤工作,才有可能。您可以 现在,在烘焙 LightmapGI 时启用阴影遮罩,以组合动态和静态阴影以获得最佳质量。
此外,这允许您大幅缩短动态阴影的范围,这一点非常重要 优化,尤其是针对移动设备。
此功能仍处于试验阶段,会根据反馈进行更改,因此请对其进行测试并告知我们 你怎么想!
烘焙光照贴图


更新了官方构建的工具链

我们在 build-containers#150 中更新了一些用于官方构建的工具链。 特别是 Xcode 16.2 的 macOS 和 iOS SDK,以及用于 Windows 构建的 MinGW 12.0.0 和 GCC 14.2.1。
Linux、Android 和 Web 的工具链仍然与 Godot 4.3 的版本相同。


还有更多!

有太多令人兴奋的变化,无法在这里一一列举,但这里有一个精选的选择:

  • 3D:在编辑器设置中添加了 3D 转换灵敏度 (GH-81714)。
  • 3D:向 3D 添加标尺模式 (GH-100162)。
  • 动画:添加动画节点扩展 (GH-99181)。
  • 音频:添加 Web MIDI 支持 (GH-95928)。
  • Buildsystem:添加对 Linux/*BSD 的 loongarch64 支持 (GH-97822)。
  • Buildsystem:使 Godot 在 (GH-100047) 上编译。FreeBSD
  • 核心:修复问题 (GH-99765)。JSON.{from,to}_native()
  • 核心:使用 instead 而不是 (GH-99775) 优化 StringBuilder。LocalVector``Vector
  • 核心:通过在编译时评估来优化静态已知字符串的字符串构造 (GH-100132)。strlen
  • 核心:将移动分配和移动构造函数添加到 Variant (GH-100426)。
  • 文档:低 FPS 时的文档和增量行为 (GH-94636)。_process()``_physics_process()
  • 编辑器:添加了从代码创建新的继承场景的功能 (GH-90057)。
  • 编辑器:向 EditorRunBar 添加了分析器自动启动指示器 (GH-97492)。
  • 编辑器:允许拖动到文件系统停靠栏中的特定文件夹 (GH-99453)。
  • 编辑器:在发现错误后,使脚本编辑器的解析器在编辑时更快地执行 (GH-87542)。
  • 编辑器:在检查器的工具提示中显示字符串属性的文本 (GH-76231)。
  • 导出:使用临时目录而不是缓存目录进行导出 (GH-100150)。
  • GDExtension:修复模运算 (GH-99559)。Variant
  • GDScript:添加和注释 (GH-76020)。@warning_ignore_start``@warning_ignore_restore
  • GUI:将默认阿拉伯字体更改为 Vazirmatn (GH-100053)。
  • GUI:修复了树拖放滚动在每秒物理刻数较低时 FPS 较低的问题 (GH-98766)。
  • GUI:通过缓存改进表情符号 SVG 解析 (GH-100300)。
  • GUI:将调色板另存为资源以供以后重复使用 (GH-91604)。
  • 导入:考虑所有纹理类型以生成资源缩略图 (GH-100247)。
  • 输入:添加 3D 导航预设 (GH-97985)。Tablet/Trackpad
  • 导航:取消 NavigationServer 路径查询 (GH-100129)。
  • 插件:导出以供插件使用 (GH-87375)。EditorInspector::instantiate_property_editor
  • 渲染:向 ReflectionProbe 添加 Blend Distance 属性 (GH-99958)。
  • 渲染:允许在运行时按视区更改各向异性滤镜级别 (GH-88313)。
  • 渲染:The Forge 的进一步性能改进 (GH-99257)。
  • 渲染:自动压缩新的光照贴图纹理 (GH-100327)。
  • 渲染:通过减少绘制调用和 RD 状态更改来优化 PointLight2D 阴影渲染 (GH-100302)。
  • 渲染:Implement 和 (GH-100110)。RD::buffer_get_data_async()``RD::texture_get_data_async()
  • 着色器:通过在编译失败时释放shader_data版本,避免在着色器编译失败时出现错误垃圾邮件 (GH-100128)。
  • XR:允许将相机锁定到以进行基准测试或自动测试 (GH-99145)。XROrigin3D
  • XR:OpenXR:添加了对绑定修饰符的支持 (GH-97140)。

更改日志

113 位贡献者为这个新快照提交了 263 项改进。请参阅我们的交互式更改日志,了解自上一个 4.4-dev6 快照以来的完整更改列表。
此版本基于提交 46c8f8c5c 构建。
导出模板和其他下载

标准版本包括对 GDScript 和 GDExtension 的支持。
.NET 版本(标记为 )包括对 C# 以及 GDScript 和 GDExtension 的支持。mono

  • 此版本需要 .NET 8.0 或更高版本,将支持的最低版本从 .NET 6 更改为 8。

虽然引擎维护人员会尽最大努力确保每个预览快照和候选版本都是稳定的,但根据定义,这只是一个预发布软件。请务必经常进行备份,或使用 Git 等版本控制系统,以在损坏或数据丢失的情况下保留您的项目。


已知问题

我们接受每个版本都会有各种问题,这些问题已经报告但尚未修复。有关已知错误的完整列表,请参阅 GitHub 问题跟踪器。
此版本目前没有引入任何已知问题。

Bug 报告

作为测试人员,如果您遇到此版本的问题,我们鼓励您打开 bug 报告。请先检查 GitHub 上存在的问题,使用带有相关关键字的搜索功能,以确保您遇到的错误尚不清楚。
特别是,任何会导致项目回归的更改都非常重要(例如,如果某些内容在以前的 4.x 版本中运行良好,但在此快照中不再有效)。

支持

Godot 是一个非营利性的开源游戏引擎,由数百名贡献者利用空闲时间开发,并且由于 Godot 社区的慷慨捐赠,他们聘请了少数部分或全职开发人员。非常感谢所有为该项目贡献时间财务支持的人!
如果您想在经济上支持该项目并帮助我们确保未来的员工,您可以使用 Godot 基金会管理的 Godot 发展基金平台来实现。还有几种替代捐赠方式,您可能会觉得更合适。

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