2026-07-06
源地址:https://godotengine.org/article/dev-snapshot-godot-4-8-dev-1/
自从我们看到Godot 4.7的稳定版本以来,已经过去了两个多星期。在那段时间里,我们一直在努力为即将发布的4.7.1候选版本的维护版本做准备,并为即将成为Godot 4.8的版本奠定了坚实的基础。上周已经强调了前者,所以我们以后者作为本周的开头:我们的第一个Godot 4.8开发快照。与上周完全专注于回归和关键错误修复不同,我们将重点介绍您现在可以使用的几个新特性和功能。
与往常一样,在任何预发布环境中都应采取安全预防措施。虽然我们准备这些快照是为了适合一般测试,但数据丢失/损坏的风险始终为零。强烈建议事先创建备份和/或使用版本控制!
如果您有能力,请考虑为该项目提供财务支持。Godot由志愿者和小型付费贡献者团队共同维护。您的捐款将用于赞助他们的工作,并确保他们能够全身心投入到满足项目需求的工作中。
跳转到下载部分,立即尝试一下,或者继续阅读以了解有关此版本中改进的更多信息。您还可以尝试此版本的网页编辑器、XR编辑器或安卓编辑器。如果您对后者感兴趣,请申请加入我们的测试组,以获取预发布版本的访问权限。
封面插图来自喂地坑,这是一款以故事为导向的调查性恐怖游戏,你可以在游戏中追捕富人以喂地坑。你可以在Steam或iOS App Store上购买游戏,并在YouTube和itch.io上关注开发者。
毫无疑问,过去几个发布周期中最令人兴奋的新增功能之一是将游戏视图嵌入编辑器中的能力。然而,这个功能可能会让你们中的许多人感到惊讶,因为自它诞生以来,默认行为一直是一个浮动窗口。这最初是因为并非所有桌面平台都完全支持此功能,但我们已经达到了所有受支持的平台都可以使用它的地步。因此,Michael Alexsander在GH-120736中为所有未来的项目正式启动了这个新的默认视图。
与这个新的默认设置完美搭配的是游戏视图本身的新布局。具体来说:工具栏大修。因为即使你之前知道停靠的视图,实际上找到嵌入选项也有点棘手,因为很多重要信息都被混淆或以其他方式阻碍了。Jayden Sipe率先为GH-118664中的工具栏设计了全新的外观,与之前的实现相比,强调了可用性和清晰度。
| 之前 | 之后 |
|---|---|
默认情况下,停靠游戏视图仅对新项目启用;现有项目必须通过在更新的游戏视图上切换此选项来手动启用此功能:

今天有很多编辑器的好东西要介绍,Mikael Hermansson继续使用GH-118634,增加了在场景树编辑器中拖动切换可见性的能力。现在,在切换给定节点的可见性时,当在任何后续节点上拖动鼠标时,新切换的状态都可以应用于这些节点。
Michael使用GH-117569为3D视口提供了一些QOL,使其能够动态覆盖GridMap编辑器轴。通过新的编辑器选项“允许视口覆盖”(默认启用),将鼠标悬停在特定侧的视口集上,将导致当前编辑的轴与该侧匹配。
我们在这些博客文章中多次谈到了可访问性的重要性,因此应该强调的是,国际化与这些努力是相辅相成的。为此:通过使用伪本地化,可以显著简化跨多种语言的用户对标题的访问。这个简单的切换模拟了本地化过程中可能发生的更改,允许在开发过程中尽早发现该过程中可能出现的任何问题。
因此,负责编辑器中热切换语言的用户Tomasz Chabora将寻求进一步扩展这一关键功能的实用性和认知度也就不足为奇了。多亏了GH-119443,用户现在可以从编辑器本身访问此功能。希望这不仅能让开发人员比以前更早地发现这些问题,而且还能使整个功能成为人们关注的焦点。
我们看到的改进Tree功能的最常见请求之一是支持“粘性项目”的能力。也就是说:如果一条线代表一个可折叠的区域,它就能够粘在顶部。Koliur Rahman对整合流行的编辑器请求并不陌生,因此他们在GH-115697中提供所需的功能只是时间问题。
某些高于平均水平的树木可能会对粘性树冠产生负面影响。与此同时,在我们研究可配置的最小值时,将给出硬编码的异常(Skeleton3D见GH-121000)。
我们非常喜欢这篇博客文章,所以让我们转向更小众的东西(针对台式机):触摸支持。鉴于移动设备代表了我们一些最突出的平台,我们力求尽可能使Godot的触觉体验达到一流水平。为此:Anish Kumar通过GH-119706进一步扩展了红地毯处理,为TextEdit和CodeEdit带来了触摸支持。新功能如下:
“模糊搜索”是一种搜索结果返回与传递的查询相似的匹配项,而不仅仅是返回精确匹配项的做法。这一功能实际上已经成为核心引擎的一部分近两年了,由GH-98278中的首次贡献者Adam Johnston提供,为我们的快速开放搜索服务。然而,从那以后,功能一直保留在那里,从未真正暴露于我们的绑定API。但现在,得益于GH-107126中的定期贡献者Adam,该功能终于可以为所有用户推出了。
var items := ["Potion of Healing", "Greater Health Potion", "Poison Vial"]
var fuzzy := FuzzySearch.new()
for result in fuzzy.search_all("health potion", items):
# Prints "Greater Health Potion", "Potion of Healing".
print(result.target)
这里有太多令人兴奋的变化,无法一一列出,但这里有一个精心挑选的:
135名贡献者为此版本提交了314个修复程序。请参阅我们的交互式更改日志,了解自4.7功能发布以来的完整更改列表。
此版本基于ebbf577a0提交构建。
标准构建包括对GDScript和GDExtension的支持。
.NET构建(标记为mono)支持C#以及GDScript和GDExtension。
尽管引擎维护人员会尽最大努力确保每个预览快照和候选版本都是稳定的,但这些版本从定义上来说都是预发布软件。请务必经常备份,或使用Git等版本控制系统,以防止项目损坏或数据丢失。
此版本目前未引入任何已知问题。
每次发布时,我们都承认会出现各种问题,这些问题虽然已被报告,但尚未得到解决。有关已知错误的完整列表,请参阅GitHub问题跟踪器。
在发布候选阶段,我们专注于解决重大回归问题(即之前版本中正常工作的问题现在无法解决,且没有变通方案)。您可以查看我们当前列出的回归问题和重大问题列表,我们计划在发布4.6版本之前解决这些问题。此列表是动态更新的,如果在更多用户开始测试发布候选快照后发现新的重大问题,我们将对其进行更新。
每次发布时,我们都接受会出现各种问题,这些问题虽已被报告,但尚未得到解决。有关已知错误的完整列表,请参阅GitHub问题跟踪器。
作为测试人员,如果您在此版本中遇到问题,我们鼓励您提交错误报告。请先在GitHub上检查现有问题,使用相关关键词进行搜索,以确保您遇到的错误尚未被报告。
特别是,任何可能导致项目性能退化的变更都需特别报告(例如,如果某项功能在之前的4.x版本中运行良好,但在当前快照中不再有效)。
Godot是一款非盈利的开源游戏引擎,由数百名贡献者在业余时间开发,同时,得益于Godot社区的慷慨捐赠,还聘请了少数兼职和全职开发人员。衷心感谢每一位为该项目贡献时间或资金支持的人!
如果您想在经济上支持该项目,并帮助我们确保未来的招聘工作,您可以通过Godot发展基金来实现这一目标。
如果您想为该项目提供财务支持,并帮助我们确保未来的人才招聘,您可以通过Godot基金会管理的Godot发展基金平台进行捐赠。此外,您还可以选择其他更适合您的捐赠方式。