开发快照:Godot 4.7 dev 1

2026-02-13

源地址:https://godotengine.org/article/dev-snapshot-godot-4-7-dev-1/

4.7版本的第一个开发快照已经发布!有了它,几个高质量的PR终于从积压的任务中解脱出来,这些PR要么是因为在4.6版本特性冻结时被排除在外,要么是因为对于稳定版而言风险太大。后一种情况中的大多数已在本周早些时候的4.6.1 RC 1快照中有所提及,因此本文将重点关注前一种情况:新特性和提升生活质量的功能。

与往常一样,在任何预发布环境中都应采取安全预防措施。虽然我们准备这些快照的目的是为了适合一般测试,但数据丢失/损坏的风险始终存在。强烈建议在操作前创建备份和/或使用版本控制!

如果您有能力,请考虑为该项目提供财务支持。Godot由志愿者和小型付费贡献者团队共同维护。您的捐款将用于赞助他们的工作,并确保他们能够全身心投入到满足项目需求的工作中。

跳转到下载部分,立即尝试一下,或者继续阅读以了解有关此版本中改进的更多信息。您还可以尝试此版本的网页编辑器XR编辑器安卓编辑器。如果您对后者感兴趣,请申请加入我们的测试组,以获取预发布版本的访问权限。

封面插图来自TR-49,这是一款设定在架空历史背景下的故事丰富的解谜游戏,你的任务是通过浏览一台废弃已久的二战电脑的档案来解开谜团。您可以在SteamiOS应用商店购买这款游戏,并在BlueskyDiscord上关注开发者。

亮点

输入:虚拟摇杆

手机游戏的摇杆控制历来难以集成。虽然确实存在基于社区的工具来缓解这一问题,但这仍然需要开发者比其他输入设备付出更多的努力。Kazox61通过GH-110933解决了这一问题,该方案提供了一种内置解决方案,可通过VirtualJoystick虚拟处理摇杆输入。

JOYSTICK_FIXED:操纵杆无法移动。

JOYSTICK_DYNAMIC:只要操纵杆在操纵杆的范围内,它就会移动到初始触摸位置。释放后,它会回到原始位置。

JOYSTICK_FOLLOWING:只要操纵杆在操纵杆边界内,它就会移动到初始触摸位置。如果触摸输入超出了操纵杆的范围,它将跟随触摸输入。释放后,它会回到原始位置。

渲染:可绘制纹理

在Godot的整个生命周期中,一个被广泛需求的功能是能够轻松绘制纹理。虽然使用Viewport可以在一定程度上实现这一功能,但其功能仍然相当有限,并不适合处理更复杂的任务。相反,RenderingDevice为那些不惧怕深入探索引擎内部的人提供了一个解决方案,但这却将普通用户远远抛在身后,即使对于那些知道自己在做什么的人来说,也很难称得上是一个方便的解决方案。Colin O’Rourke以DrawableTexture的形式提供了一个解决方案:一个简单的API层,可以屏蔽所有技术细节,为所有技能水平的用户提供一种“完成任务”的便捷方式。(GH-105701)。

上述片段摘自 Bastiaan Olij 开发的一个专用演示项目。如果您有兴趣亲身体验这些变化,可以在此处亲自尝试。

3D:启用Path3D碰撞器捕捉

Gustavo Jaruga Cruz 以Path3D碰撞捕捉功能(GH-102085)的形式为3D编辑器增添了一些新功能。现在,在创建和编辑路径时,您可以选择将这些路径捕捉到鼠标悬停的任何碰撞体上,而不仅仅是随意在空间中放置一个点。如下方视频所示,此功能可在Path3D选项菜单中切换启用。

GDScript:改进远程树形检查器中未导出成员的显示

如果你曾在远程游戏会话中尝试处理非导出枚举,那么你一定知道,这些值恢复为简单整数是多么令人烦恼。Danil Alexeev通过GH-115705为我们带来了一个解决方案,确保无论变量的导出状态如何,其元数据都会被保留。

之前 之后

渲染:Vulkan光线追踪底层实现

虽然Vulkan几年前就已推出支持光线追踪的API,但实际实现该API却远非易事。渲染本就是引擎中最复杂的部分之一,而在此基础上增加光线追踪更是让复杂程度呈指数级上升。有鉴于此,Antonio Caggiano为我们提供了实现这一目标所需的基础工作,其成就之卓越怎么强调都不为过(GH-99119)。他慷慨地提供了一个演示项目,通过GDScript展示了这一新功能。

Windows:支持HDR输出

关注我们4.6版本博客的读者可能还记得,其中有一部分内容谈到了未来在引擎中实现高动态范围(HDR)的计划。如今,未来已至,因为我们在4.7版本中的目标之一就是让HDR输出在所有支持的平台上都成为可能。虽然相关文档和实现仍处于早期阶段,因此在这篇博客中我们不会过多地讨论这个问题。不过,我们可以提供一个小小的预览,因为Josh JonesAlvin WongAllen Pestaluky已经开始在Windows平台上实现这一长期目标(GH-94496)。

还有更多!

这里列出了太多令人兴奋的变化,但这里精选了一些:

  • Core: PCKPacker: Add method to add files from buffer (GH-108830).
  • Editor: Add a script editor keyboard shortcut to show the documentation tooltip for the word the caret is on (GH-115767).
  • Editor: Improve appearance of built-in help (GH-107597).
  • Editor: Optimize tree size computation and the scene tree dock filter (GH-110759).
  • Editor: Support navigating to the script in list (GH-112796).
  • Editor: Take custom type of parent scripts into account when dropping onready variables (GH-115158).
  • GUI: Add accessibility region role for landmark navigation (GH-114449).
  • GUI: Add conic gradient to GradientTexture2D (GH-115394).
  • Input: Add support for joypad motion sensors (GH-111679).
  • Physics: Add one-way collision direction for CollisionShape2Ds (GH-104736).
  • Platforms: Add device orientation change signal to DisplayServer (GH-115434).
  • Platforms: Android: Enable native file picker support on all devices (GH-115257).
  • Rendering: Clearcoat improvements and fixes (GH-111464).
  • Rendering: Give every pass its own unique environment uniform buffer (GH-115177).
  • Rendering: Metal: Refactor; fix dynamic uniforms; acyclic render graph support (GH-114484).
  • Rendering: Vulkan: Update all components to Vulkan SDK 1.4.335.0 (GH-114075).

更新日志

127位贡献者为本次发布提交了311项修复。请参阅我们的交互式更新日志,以获取自4.6版本功能发布以来的完整变更列表。

此版本基于提交号bf95b6258构建。

下载

下载 Godot 4.7 dev1

Linux

macOS

Windows

导出模板及其他下载内容 捐献

标准构建包括对GDScript和GDExtension的支持。

.NET构建(标记为mono)支持C#以及GDScript和GDExtension。

尽管引擎维护人员会尽最大努力确保每个预览快照和候选版本都是稳定的,但这些版本从定义上来说都是预发布软件。请务必经常备份,或使用Git等版本控制系统,以防止项目损坏或数据丢失。

已知问题

此版本目前未引入任何已知问题。

每次发布时,我们都承认会出现各种问题,这些问题虽然已被报告,但尚未得到解决。有关已知错误的完整列表,请参阅GitHub问题跟踪器。

  • macOS 版本在此次发布中未进行签名;这一问题将在 4.7-dev2 版本发布时得到解决。编辑时间:2026年2月17日 23:00(UTC):已为 macOS 上传了签名版本,用以替换之前的二进制文件。

在发布候选阶段,我们专注于解决重大回归问题(即之前版本中正常工作的问题现在无法解决,且没有变通方案)。您可以查看我们当前列出的回归问题和重大问题列表,我们计划在发布4.6版本之前解决这些问题。此列表是动态更新的,如果在更多用户开始测试发布候选快照后发现新的重大问题,我们将对其进行更新。

每次发布时,我们都接受会出现各种问题,这些问题虽已被报告,但尚未得到解决。有关已知错误的完整列表,请参阅GitHub问题跟踪器

报告问题

作为测试人员,如果您在此版本中遇到问题,我们鼓励您提交错误报告。请先在GitHub上检查现有问题,使用相关关键词进行搜索,以确保您遇到的错误尚未被报告。

特别是,任何可能导致项目性能退化的变更都需特别报告(例如,如果某项功能在之前的4.x版本中运行良好,但在当前快照中不再有效)。

支持

Godot是一款非盈利的开源游戏引擎,由数百名贡献者在业余时间开发,同时,得益于Godot社区的慷慨捐赠,还聘请了少数兼职和全职开发人员。衷心感谢每一位为该项目贡献时间资金支持的人!

如果您想在经济上支持该项目,并帮助我们确保未来的招聘工作,您可以通过Godot发展基金来实现这一目标。

如果您想为该项目提供财务支持,并帮助我们确保未来的人才招聘,您可以通过Godot基金会管理的Godot发展基金平台进行捐赠。此外,您还可以选择其他更适合您的捐赠方式

现在捐赠