开发快照:Godot 4.6 dev 1

开发快照:Godot 4.6 dev 1

沫萝ㅤ

2025-10-01 发布46 浏览 · 0 点赞 · 0 收藏

4.6 的第一个开发快照来了!和往常一样,首个开发快照包含了 backlog 中的大量高质量PR,这些 PR之前要么因为 4.5 的功能冻结而被挡在门外,要么被认为风险过高、不适合合并到稳定版。不过话说回来,这是我们 backlog 有史以来最大的一次,所以不可能把所有内容都塞进首个快照。因此,虽然这可能意味着最初的 PR 流入速度会较慢,但你可以期待未来的开发快照将在本次发布所奠定的基础上进一步扩展。

这一次绝大多数更改都是 bug 修复,而且大多数已经计划回溯到即将发布的 4.5.1-stable!某种意义上,这次发布不仅是 4.6 的基础,也是 4.5.1 的基础;因此测试这个版本对于确保两者的顺利发布都至关重要。不过,我们也已经集成了不少仅限 4.6 的增强和功能。打算坚持 4.5 的用户可能需要等到本周晚些时候发布的 4.5.1-rc1

封面插画来自《RAM: 随机访问大混乱》,这是一款你扮演敌人的类肉鸽游戏。你可以在 Steam 上购买或试玩,在 Twitter 或 YouTube 上关注开发者。

拖拽 @export 变量

在开发周期开始阶段功能更新放缓的情况下,近期可以期待大量 QOL(质量提升)功能的加入。其中一个让我们非常兴奋的新增功能来自 fkeyz:能够将对象拖拽到脚本编辑器并自动创建一个导出变量!(GH-106341)

OpenXR:添加对 Spatial Entities Extensions 的支持

正如 Bastiaan Olij 在 PR GH-107391 中所述,OpenXR Spatial Entities Extensions 被引入以标准化获取和交互用户真实世界环境信息。这是一个庞大的规范,体现为实现中超过 7500 行代码的更改。

隐藏通过鼠标输入赋予的 Control 焦点

感谢 Michael Alexsander,鼠标和触摸的焦点状态逻辑现已与键盘和手柄解耦(GH-110250)。虽然程序通常会将这些输入注册逻辑重叠,但不少系统会故意将两类输入区分开来,甚至以完全不同的方式处理。这一更改为工具开发者和 UI 设计师提供了更细粒度的控制。PR 中包含了完整的焦点显示规则集,具体如下:

情境 焦点显示
用鼠标点击一个 Control,赋予它焦点。
通过键盘/手柄操作成功切换焦点。 ✔️
通过键盘/手柄操作尝试切换焦点,但仍停留在同一个 Control。 ✔️
当某个 Control 显示焦点时,在其他地方点击鼠标。
用鼠标点击一个已经显示焦点的 Control(与浏览器不同)。
使用 Control.grab_focus(true)。

之前的行为可以通过启用 gui/common/always_show_focus_state 来实现。

移除切换自定义主题后要求重启编辑器的提示

许多尝试为 Godot 编辑器集成自定义主题的开发者反映过一个痛点:切换主题必须重启整个编辑器实例,过程非常打断节奏,使得增量测试繁琐,实时比较几乎不可能。这似乎合乎逻辑,因为编辑器主题深度绑定于编辑器本身,任何这类更改似乎都必须跨过无数障碍。毕竟,你不可能“轻轻一拨开关,一切就正常工作”。

然而,Robert Yevdokimov 真的轻轻一拨开关,然后一切就正常工作了。(GH-100876)

咳,澄清一下:曾几何时,这种重启几乎必不可少。但我们的主题和定制逻辑如今与最初已完全不同,这也不是第一个被提升到实时支持的设置。通常情况下,成为实时设置的功能会有一个明确针对该特性的 PR,但很少会孤立存在。或许还有其他特性,也像这样,其原有限制早已被解决,只是没人注意。直到有人来挑战这些限制,我们可能永远不会知道。

更多内容

这里有太多令人兴奋的更改无法一一列举,以下是精选:

  • 2D: 避免 TileMapLayer 中不必要的更新 (GH-109243)。
  • 3D: 修改操纵器 gizmo 透明度设置时无需重启编辑器 (GH-108549)。
  • C#: 添加 C# 翻译解析器支持 (GH-99195)。
  • Core: 为 Spans 添加“Find Sequence”,并整合负索引行为 (GH-104332)。
  • Editor: 允许在 EditorSpinSlider 中为整数使用滑块 (GH-110459)。
  • Editor: FindInFiles:显示每个文件的匹配数 (GH-110770)。
  • Editor: 修复检查器分类标题的垂直对齐 (GH-110303)。
  • Editor: 在空翻译预览菜单中显示“No Translations Configured”消息 (GH-107649)。
  • Editor: 加速编辑器中的大范围选择 (GH-109515)。
  • Editor: 在表达式求值器中使用等宽字体 (GH-109166)。
  • Export: 添加“Show Encryption Key”开关 (GH-106146)。
  • GDScript: 在 CONSTRUCT_TYPED_* 指令中省略不必要的复制 (GH-110717)。
  • Import: 将 LOD 生成切换为迭代简化 (GH-110027)。
  • Porting: Wayland: 实现 xdg-toplevel-icon-v1 协议 (GH-107096)。
  • Rendering: 添加绘制椭圆的方法 (GH-85080)。
  • Rendering: 为 Forward+ 中的材质和 SDF 变体添加 ubershader 支持 (GH-109401)。

98 位贡献者提交了 220 个修复。本次版本构建自 commit 8d8041bd4。本文翻译、修改自官网文章,未经授权禁止转载或使用。您可以关注Godot Hub的Godot PR日报,获取更及时的Godot引擎改进内容。

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