Godot 4.6 发布,一切随你

2026-01-27

源地址:https://godotengine.org/releases/4.6/

下载 Godot 4.6

随着过去五个Godot 4版本的稳定性提升,该引擎已经足够成熟,可以进入新的开发阶段。Godot 4.6开启了一个新的阶段,将进行打磨、提升用户体验、更紧密地整合行业标准,并加倍努力进行性能优化。

结果:这一版本将您和您的工作流程置于首位。全新的编辑器主题让您的项目成为焦点,同时,全面的数十项改进减少了摩擦,加快了日常开发速度。从加载资源到编辑、调试、导出和测试,每个方面都得到了优化,让您专注于创作,并最大限度地减少在用户界面(UI)上花费的时间,或减少对外部工具和插件的依赖。

Godot因您的捐赠而成为可能,加入开发基金

亮点

焕然一新,聚焦全新

新编辑主题:“Modern”

自去年推出以来,“Godot Minimal Theme”凭借其简洁的线条、整洁的布局和现代感,迅速成为粉丝们的最爱。是时候将其整合并正式推出了!

您现在可以选择较旧的“经典”主题或较新的“现代”主题,在Godot 4.6中,“现代”主题为默认启用状态。

新主题将根据用户反馈不断优化,为您带来微妙的对比度调整,并提高用户界面元素之间的可读性和间距。许多测试人员发现,它有助于减少焦点竞争,并将您的游戏所在的视口置于中心位置。

新的灰度模式使您能够在游戏中进行对颜色敏感的工作,而不会让蓝色调改变您的感知。

是时候试用一下了!在开始注意到新外观的影响之前,先让你的眼睛适应一下。如果你仍然偏爱经典主题,可以在编辑器设置中轻松切换回去。更多信息请参阅GDQuest的这篇文章

阅读更多关于此PR的内容,由passivestar, Michael Alexsander提供

我们在Jolt上加了一个螺栓

默认情况下启用Jolt Physics

还记得我们在4.4版本中作为实验选项集成了Jolt Physics吗?自那以后,你们中的许多人已经在真实项目中测试了它,并且它已经证明自己可以投入生产使用。所以,它来了!

Jolt无疑是一款出色的独立物理引擎。它速度快、稳定性强,因此毫不意外地被用于像小岛秀夫的《死亡搁浅2》这样的AAA级游戏。我们构建了一个紧密、高质量的集成,将Jolt的所有强大功能直接融入引擎中。随着此次版本的发布,我们充满信心地移除了实验性标签,使Jolt成为所有新3D项目的默认物理引擎。

现有项目不受影响:您当前的物理设置将保持原样。默认情况下,只有新项目才会使用Jolt。您可以通过进入项目设置来手动更改物理引擎。

阅读更多关于此PR的内容Mikael HermanssonJorrit Rouwe 撰写

把你的心掏出来

可移动可浮动码头和面板

面板调整者和多显示器布局大师们欢呼吧……4.6版本就是你们的福音。你们终于可以移动底部面板了。

在此版本中,我们统一了整个停靠系统。底部面板现在为常规停靠面板,您可以在编辑器的侧面和底部之间拖放和移动停靠面板。大多数停靠面板也可以浮动。

这是向完整工作空间系统迈出的重要一步,使您能够以符合您工作流程的方式安排编辑器。

请注意,目前并非所有码头都同时支持水平和垂直布局,但它们是可以移动的!

阅读更多关于此PR的内容,由Tomasz Chabora, lodetrick提供

回-回-回-回,回到骨子里

全新的IK框架

是时候再次拉动一些骨骼链了!我们中的动画师和游戏程序员将会欣喜地发现,反向运动学(IK)又强势回归了。你只需确定终点位置,你的骨骼链就会自然跟随。

无论你是需要角色的双脚在不平坦的地形上行走,还是需要机器人的手臂去够取物体,只需借助一整套修改器和约束,你就能轻松构建出所需的框架。

我们将在改进后的SkeletonModifier3D基础上推出核心的IKModifier3D类。该类附带了一系列确定性解算器,包括TwoBoneIK3D、SplineIK3D,以及FABRIK3D、CCDIK3D和JacobianIK3D等迭代解算器。

你还会发现新的约束条件,用于控制关节的扭转和角速度,这有助于防止过度和不必要的运动。

此外,您可以将动画约束的目标设置为3D节点,例如,使角色的手臂延伸并吸附到武器上。

这个新框架的模块化方法使您可以将IK与其他修改器和约束条件相结合,直接在引擎中微调程序动画。我们正在编写文档,以帮助您根据具体使用场景充分利用该框架。

阅读更多关于此PR的内容,由Tokage提供

倒影变得清晰起来

主要SSR检修

如果你的3D游戏环境中有金属、水和玻璃等反光材质,那么接下来的体验将会让你倍感兴奋。

在本版本中,屏幕空间反射(SSR)技术得到了全面升级,使游戏在真实感、视觉稳定性和性能方面实现了显著提升。不仅反射表面看起来更加逼真,对粗糙度的处理也更加出色,而且该效果运行速度也更快了!

为了进一步优化,您可以选择全分辨率模式以获得最佳画质,或选择半分辨率模式以获得更高的性能。即使在视口大小减半的情况下计算反射,新的屏幕空间反射(SSR)技术也能让您保持不错的画质。快来试试吧!

阅读更多关于此PR的内容Skyth提供

那么……对你有什么变化吗?

日常开发中可能出现的差异

这次发布的新功能层出不穷,要一眼看出哪些功能会真正影响你日常的工作,哪些不会,并不总是那么容易。

在实际操作中,你最应该注意哪些差异?你现在应该升级吗?

现在,我们把话筒交给我们的教育界朋友GDQuest,请他们为我们详细介绍他们工作流程中的有效改变(都是积极的改变!)

使用Godot 4.6,您将能够体验到一系列之前无法实现的功能,这些功能现在都可以实现了。

在GDQuest的免费图书馆中阅读更多内容

总体来说

核心

一个节点会记住…

引入唯一的节点ID

节点现在拥有唯一的内部ID,即使在场景被重新组织或重构时,引擎也能可靠地对其进行跟踪。

仅仅因为你重命名或移动了一个节点,并不意味着它会突然忘记自己的身份和来源。

到目前为止,在具有继承或实例化场景的复杂设置中,重命名节点或更改场景层次结构有时可能会破坏引用。

Godot通过唯一的节点ID来跟踪和保留连接,使重构更加安全且不易出错。这意味着您可以自由地重构场景树,而不必担心出现无效引用或意外行为。

对于Godot而言,这一看似微小的改进标志着其在规模稳健性上的一个转折点,并为开发更大、更复杂的游戏项目打开了大门!

场景文件中会保存并引用唯一的节点ID,因此,为了从这一更改中受益,您应确保在4.6版本中重新保存所有场景。您可以通过“项目”>“工具”>“升级项目文件”来完成此操作。

阅读更多关于此PR的内容Juan Linietsky提供

Godot作为一个库!

介绍LibGodot

借助全新的LibGodot,您现在可以将引擎直接嵌入到您自己的应用程序中。您无需将Godot作为单独的可执行文件运行,而是可以控制启动、管理引擎循环,并将其无缝集成到自定义工作流程中。无论您是在构建专用编辑器、混合应用程序,还是将Godot嵌入到更大的系统中,LibGodot都能为您提供灵活性,让您按照自己的方式工作!

初始版本支持Linux、Windows和macOS,并为未来版本中更深入的集成和扩展的平台支持奠定了基础。

更多信息请阅读此PR,由Gergely KisGábor KonczBen Rog-Wilhelm共同撰写

文档

收到混杂的信号

隐藏的带下划线信号

以下划线开头的信号现在会在自动补全和生成的文档中隐藏,从而与其他以下划线开头的方法和属性更加一致。这使得更容易将注意力集中在用于公共用途的信号上,从而减少脚本编写时的混淆。

阅读更多关于此PR的内容Tomasz Chabora提供

2D

当瓷砖转动时

可旋转场景图块

每个人都知道在需要旋转图块时该如何操作。然而在Godot中,迄今为止只有一种图块与众不同,它会打断你的创作流程,让你无法实现旋转的愿望:那就是声名狼藉的场景图块。但这种情况不会再发生了。

从Godot 4.6版本开始,当你在图块地图的网格单元上放置场景实例时,比如一个会动的箱子、一盏发光的灯或一个火把,你可以以90度为增量旋转场景图块,就是这么简单!

阅读更多关于此PR的内容Dexter提供

3D

我只是想选择!

解耦选择和变换模式

在繁忙的场景中,你曾多少次在试图选择某个对象时,不小心移动、旋转或缩放了错误的对象?现在,你的烦恼终于结束了。

在Godot 4.6中,我们已将“选择”和“变换”功能解耦,以便您在视口中更直观地工作。“选择模式”已重命名为“变换模式”,而新增的“仅选择模式”则允许您在不显示变换小控件的情况下拾取节点,从而在移动、旋转或缩放任何内容之前,更轻松地导航和选择要编辑的对象。

此次更新还借鉴了现代3D工具的设计,其中选择工具和变换工具清晰区分,将熟悉的工作流程引入Godot编辑器。

阅读更多关于此PR的内容Robert Yevdokimov提供

注意差距

用于绘制GridMap的Bresenham线算法

这是我们中的3D关卡构建者肯定会欣赏的一点!Godot 4.6通过使用经典的Bresenham线算法在输入点之间进行插值,改进了编辑器中GridMap绘制和擦除的行为。

现在,当你拖动时,线条会平滑且牢固地填充,这样你的草图和关卡布局就能在首次尝试时就符合你的意图。再也不用担心瓷砖或方块之间有缝隙,需要回去修复了!

你可以期待构建层次或体素风格的地图会变得更加流畅,让你专注于设计,而不是在GridMap创作中填补空白。

更多信息请阅读此PR稿,由Martin Chlopecki撰写

不管你怎么说…

用于视图轴的新旋转小控件手柄

无需再笨拙地摆弄标准的小装置手柄来绕着相机视图旋转。

你会注意到,旋转小控件现在多了一个与相机视图对齐的第四个控制柄。当你在3D视口中旋转对象时,这个额外的控制柄允许你围绕视图方向旋转对象,这是一种常见操作,当你希望根据你观察对象的方式(而不仅仅是它们的局部轴)来调整对象的方向时,就会用到它。

这是另一个对你的3D工作流程产生重大影响的小小补充。

阅读更多关于此PR的内容Robert Yevdokimov提供

GUI

放置一个轴心点

为控制节点更轻松地设置轴心点

UI元素轴心点的居中操作现在变得简单多了!

到目前为止,控制节点的枢轴点默认为左上角,这意味着旋转和缩放都是相对于该角进行的。你可以通过pivot_offset属性来更改这一点,但它只接受像素值。因此,每次调整控件大小时,都需要编写代码来重新计算并更新枢轴位置。

Godot 4.6引入了pivot_offset_ratio,该属性允许您将枢轴点表示为相对于控件大小的0到1的归一化范围。将其设置为Vector2(0.5, 0.5)可确保无论在什么情况下,枢轴点都保持在中心位置。

更多信息请阅读PR,由Tomasz Chabora撰写

点击不等于聚焦

分离鼠标和键盘焦点

从Godot 4.6版本开始,当您使用鼠标或触控板点击按钮时,将不再像使用游戏手柄或键盘导航时那样,强制显示蓝色的焦点轮廓线。

您可以自主决定如何为每个焦点方案设置样式,无需任何变通或技巧。无论您是希望保持行为的一致性,还是因为知道点击的位置而在使用鼠标或触控板点击时决定不需要焦点轮廓线……一切由您做主!

阅读更多关于此PR的内容Michael Alexsander 提供

零误差率

MarginContainer节点的视觉反馈

再也不用猜测你的用户界面间距了!当你在编辑器中选择一个MarginContainer节点时,你将直接在视口中看到其边距。

这使你能够清楚地看到在子节点周围增加了多少空间,从而让你自信地微调布局。

阅读更多关于此PR的内容Malcolm Anderson提供

编辑器

编辑掉落物品!

编辑器的小幅优化对工作流程产生了重大影响

4.6版本中融入了许多细微的编辑改进,旨在减少使用过程中的障碍,帮助您更快速、更直观地工作。以下是对编辑体验将得到显著提升的所有小改进的简要概述:

  • 现在,您可以直接将资源拖拽到脚本编辑器中,以自动创建一个@export变量,从而在公开属性时节省时间并减少样板代码。
  • 数组检查器进行了外观更新,以充分利用可用的水平空间,使嵌套较深的资源更易于阅读和编辑。
  • 在编辑器中测试游戏时,新的控制功能允许你在游戏运行时减慢或加快速度,从而更容易地检查物理行为或微调游戏玩法,而无需额外的调试代码。
  • 现在,检查器会为在其他地方引用的资源(链接资源)显示一个专用图标,帮助您一目了然地了解依赖关系。
  • 标签栏中的新菜单按钮可显示所有打开的场景或脚本,从而大大简化了在大型项目中跳转的操作。
  • 现在,通过在属性编辑器中拖动,可以调整碰撞、渲染和其他图层标志,从而加快常见的设置任务。
  • 您可以同时为多个选定节点分配或编辑组,从而在组织复杂场景时节省时间。
  • 当资源因文件移动或重命名而缺失时,编辑器现在允许您手动解决间接缺失的依赖关系,而不会让您陷入困境。
  • 新创建的脚本现在会自动打开,让您无需额外点击即可立即开始编码。

所有这些小小的编辑调整累积起来,有助于你专注于构建游戏,而不是与用户界面(UI)作斗争,从而失去动力。

阅读更多关于此PR的内容,由Tomasz ChaboraHaoyu QiukleoncSatLessarkologyDexterfkeyzKoliur Rahman共同贡献

拖拽、悬停和释放

在拖动时悬停切换标签页

在拖放任何内容之前,无需再通过点击来切换标签页和视图。现在,您只需拖动资源,将鼠标悬停在目标标签页上即可切换到该标签页,然后将资源拖放到目标位置!

这正是那些对生活质量产生重大影响的小改进之一。它使编辑器在日常使用中感觉更加流畅和响应迅速,让您减少不必要的操作,从而更加专注于工作流程。

更多信息请阅读PRTomasz Chabora撰写

错误,墙上有错误…

输出面板中的可点击文件

当需要修复bug时,作为开发人员,最让你感到疲惫的一件事就是不得不手动搜索问题所在,找到相关文件,滚动到正确的行,然后才开始修复。但这种情况再也不会发生了!Godot 4.6为您的bug修复工作带来了两项生活质量提升。

现在,您可以直接在输出面板中的错误或警告消息内点击有问题的脚本或资源,将其弹出。此外,如果您使用外部编辑器,还可以配置Godot直接在其中打开有问题的脚本!

更多信息请参阅PRTomasz ChaboraMikael Hermansson撰写

找出不同之处

ObjectDB快照和差异比较,用于实时对象跟踪

Godot 4.6通过在调试器中添加ObjectDB快照和比较功能,使得理解运行中的游戏中存在哪些对象变得更加容易。

现在,您可以在游戏的任何时刻捕获所有活动对象的内部列表,并通过比较两个快照来准确查看哪些对象被创建、销毁或保留。跟踪内存泄漏或意外对象增长将不再需要猜测和记录日志。

现在,通过清晰地可视化随时间变化的内容,你可以一眼发现问题!

阅读更多关于此PR的内容Aleksander Litynski 提供

现在就来看看吧

“快速打开”对话框中的实时预览

还记得每次在“快速打开”对话框中选择纹理、材质或其他资源时,那种痛苦的反复过程吗?猜测哪种资源看起来合适,选择它,关闭对话框,观察结果,然后重复这个过程?那些日子也结束了!

从Godot 4.6版本开始,当您在列表中移动时,所选资源会在场景中即时预览。您可以快速比较选项,在上下文中查看结果,并且只在看起来合适时进行提交,无需额外点击,也无需反复操作。

阅读更多关于此PR的内容Malcolm Anderson提供

系统

动画

动画编辑器小工具

时间线控制和快速操作按钮

在Godot的动画编辑器中,调整和优化动画变得更加愉快。

现在,您可以直接在时间线上拖动来调整动画的长度,从而在原地拉伸或缩小剪辑,而无需摆弄数字字段或额外的对话框。

此外,贝塞尔轨迹编辑器中的节点组还新增了可见性、锁定和删除按钮。

这些便捷的图标意味着,您现在可以快速隐藏、锁定或移除与节点轨迹相关的所有内容,而无需在菜单中费力查找。

阅读更多关于此PR的内容,由Mikael Hermansson, Kasper Arnklit Frandsen, Michael Alexsander共同贡献

导出

即插即用

Patch PCKs的增量编码

经常更新游戏的人,这对你来说可是个颠覆性的改变(双关语)。你导出的补丁文件变得更精简、更快速了。

Godot 4.6通过支持增量编码来改进补丁PCK,使补丁文件仅包含实际更改的资源部分,而非整个文件。这可以大幅减少补丁的大小,尤其适用于拥有大量资源或频繁进行小更新的项目和游戏(例如:如果您正在对项目进行本地化并添加语言)。

对于玩家而言,这意味着下载和更新速度更快。对于开发者而言,这使得分发增量补丁更加实用且节省带宽。

阅读更多关于此PR的内容Mikael Hermansson 提供

输入

增强编辑器

通过编辑器设置添加自定义键盘快捷键

Godot 4.6 赋予您直接通过 EditorSettings 定义和注册新键盘快捷键的能力。这为您的工作流程提供了更多自定义选项,并允许插件展示其自己的命令,这些命令给人的感觉就像原生编辑器操作一样。

以前,添加自定义快捷键非常不便,往往需要采用硬编码的变通方法;现在,您可以通过编辑器自身的设置系统轻松注册和重复使用快捷键。无论您是在构建工具还是微调日常工作流程,这都能让快捷键的管理和发现变得更加直观。

阅读更多关于此PR的内容Robert YevdokimovIgor Kordiukiewicz 撰写

点亮你的游戏手柄

支持高级游戏手柄功能的基础

现在,您可以在支持的控制器上自定义LED灯的颜色,但这仅仅是个开始!Godot 4.6为高级游戏手柄功能支持奠定了基础。

从Godot 4.6版本开始,我们为集成运动传感器、触控板、触觉反馈、自适应扳机以及控制器信息查询(如控制器类型、按钮布局、连接方式和电池状态)敞开了大门。

即将推出的版本将让您能够充分利用现代控制器的功能,在您的项目中打造更丰富的游戏体验。

阅读更多关于此PR的内容Nintorch 提供

导入

“比你能说的更快:纹理”

Betsy:在GPU上将RGB转换为RGBA

Godot中的纹理默认会被压缩,以使游戏在磁盘上占用更小的空间,并在内存中更高效地运行,通常可将大小减少四到六倍。

从Godot 4.6版本开始,以这种方式压缩的3D纹理的导入速度现在提高了两倍,因此您在导入资源时等待的时间更少,而构建世界的时间更多。这是通过改变Betsy处理RGB纹理的方式实现的,即在GPU上将它们转换为RGBA并直接使用。

更多信息请阅读PR BlueCube3310 提供

到目前为止,一切都很顺利

网格简化中的组件修剪

Godot现在可以生成LOD(细节层次)模型,这些模型能更好地保留原始对象的形状,尤其是对于由多个独立部分组成的网格。

这确保了游戏中远处的物体既能保持其预期的形态,又能从性能友好的简化中受益。

更多信息请阅读PR Arseny Kapoulkine 撰写

渲染

在黑暗中发光

改进的辉光混合默认设置

现在,Glow(辉光)在色调映射之前进行混合,而Screen(屏幕)成为新的默认模式。这纠正了顺序,并至少在性能相似或更优的情况下改善了视觉效果。这一调整规范了各渲染器之间的行为,并朝着改进HDR(高动态范围)支持又迈进了一步。

阅读更多关于此PR的内容Allen Pestaluky Hugo Locurcio提供

低调一点

可配置的AgX色调映射参数

AgX色调映射器现在提供了agx_white和agx_contrast两个参数,使您能够控制场景的亮度和对比度,并确保在高对比度下,亮色也能保持更一致的色调。

以前,这些值是固定的,在调整动态范围时灵活性有限。虽然这一变化为未来的HDR支持奠定了基础,但新的曲线并不会破坏与4.4和4.5的兼容性!

阅读更多关于此PR的内容Allen Pestaluky提供

减轻反射的负担

用于反射和辐射度探测的八面体贴图

反射和辐射探测现在使用八面体贴图。这使得它们在GPU上的计算成本更低,对内存的占用也更少。

对你而言,这意味着你可以高效地为场景添加高质量的局部反射效果,例如水反射房间的景象或在特定区域内的光滑表面。此外,由于不再依赖立方体贴图,探测器在更广泛的硬件范围内工作更加可靠。

更多信息请阅读PRDarío Clay John撰写

带状解散

材料去毛刺和HDR精度提升

移动端渲染器为3D技术迈出了重要一步。以前,由于可见的颜色条带问题,对于那些追求最高视觉保真度的项目来说,它很难被接受。但现在,情况不同了!

现在,3D支持材质去色带功能:启用现有的去色带项目设置,即可看到场景中那些难看的色带消失不见。此外,当启用HDR 2D时,渲染器现在能够在整个3D流程中保持更高的色彩精度,从而防止质量损失。

结合移动端渲染器独有的所有优化,这些变化使其成为移动端和桌面平台上高性能3D游戏的绝佳选择。

阅读更多关于此PR的内容,由Hugo LocurcioAllen PestalukyClay John共同贡献

移动修复

针对Mali和Adreno GPU的Vulkan Mobile崩溃修复

Godot是一款通用引擎,被众多用户使用,覆盖多种设备,适配多种图形驱动程序,但并非所有驱动程序都能完美运行。确保全面稳定性是一项持续的努力,而本次发布在这方面取得了显著进展。

感谢Rift Riff和Kamaeru等游戏的开发者分享来自Google Play的详细崩溃日志,并允许我们访问他们的项目。我们追踪并修复了一系列影响搭载特定Mali和Adreno移动GPU的设备的崩溃问题。如果您在使用移动端渲染器时在Android设备上遇到无法解释的崩溃,那么此次发布应该会为您和您的玩家带来缓解。

阅读更多关于此PR的内容,由Skyth Adriaan de Jongh 等人贡献

国际化

一条鱼,两条鱼?

改进了CSV翻译支持和模板生成

基于电子表格的本地化技术刚刚实现了升级,使得CSV文件更加适应真实的游戏翻译工作流程。

您现在可以在CSV中包含可选的“上下文”列,为翻译者提供有意义的上下文信息(这样同一键值在不同上下文中可能表示不同的含义),以及“复数”列,直接定义复数形式,包括适用于具有复杂复数逻辑的语言的规则。

此外,Godot现在允许您生成CSV翻译模板,为翻译人员提供了一个良好的起点,并使跨语言和项目维护一致且可导出的本地化表格变得更加容易。

阅读更多关于此PR的内容Haoyu Qiu bruvzg提供

你好,C#

C#翻译解析器支持

C# 翻译调用现在与 GDScript 一样被解析,因此在 POT/CSV 导出过程中会自动收集本地化文本。

这意味着在生成翻译文件时,C#中的Tr(string)和TrN(string)内的字符串现在将被自动提取,因此您无需手动提取或管理它们。这填补了本地化工作流程中长期存在的一个空白。

阅读更多关于此PR的内容shitake2333 提供

XR

耳机在循环中

XR编辑器对Android XR设备的支持

现在,您可以将Godot XR编辑器与Android XR设备一起使用,从而更轻松地直接在Android XR硬件上测试和迭代您的扩展现实项目。

无需在头戴式设备或增强现实(AR)设备上部署和调试应用程序时,使用不同的工具或工作流程,该编辑器能够更直接地识别和使用Android XR设备,从而缩短开发周期,让您专注于构建沉浸式体验。

随着Godot中的XR支持日益成熟,这是朝着更紧密的设备-编辑器集成迈出的重要一步。

阅读更多关于此PR的内容Fredia Huya-Kouadio提供

你好,OpenXR 1.1

原生OpenXR 1.1支持

OpenXR 1.1的时代已经到来。Godot 4.6现在将在支持OpenXR 1.1的头戴设备和运行时上自动启用其功能。虽然这主要是一个维护版本,但OpenXR 1.1确保了对之前可选功能的支持,尤其是当手关节跟踪不可用时,通过表面抓握姿势实现可靠的虚拟手定位。此外,它还为VR控制器标准化了交互配置文件,使您能够区分特定的控制器型号。

此次更新还附带了一个兼容层,该层可确保在不支持OpenXR 1.1的设备上实现尽可能多的功能对等。Godot会自动回退到OpenXR 1.0,并尽可能透明地启用扩展,从而最大限度地提高跨设备的兼容性。

阅读更多关于此PR的内容Bastiaan Olij 提供

一个API,统领一切

支持OpenXR空间实体

当你想在真实世界的表面上放置物体、追踪固定位置,或在增强现实(AR)或虚拟现实(VR)中对二维码做出反应时,现在你可以通过标准化的OpenXR空间实体扩展功能,获得空间锚点、表面检测和标记追踪。

这是用单一、一致的API取代特定供应商实现以在现实世界中跟踪和锚定内容的更广泛努力的第一阶段。虽然一些高级功能(如家具检测)仍需要针对特定平台的解决方案,但空间实体为你提供了一个坚实的基础,随着XR生态系统的发展,这个基础只会越来越强大。

阅读更多关于此PR的内容Bastiaan Olij 提供

平台

Android

即将在您附近的大屏幕上呈现

Scrcpy 在编辑器中运行导出操作

在导出到Android时,您现在可以启用一个选项,通过scrcpy自动运行您导出的游戏或应用程序。这样,当游戏在设备上运行时,您可以将连接的手机或平板电脑镜像到计算机屏幕上。

你无需每次测试更改时都拿起手机,而是可以专注于创作,直接在工作站上与游戏互动,这样更容易在真实硬件上进行测试,并且迭代速度更快。你甚至可以在同一设备上测试不同的屏幕尺寸并运行多个应用程序!

阅读更多关于此PR的内容bruvzg提供

Pronto Gradle

Android编辑器Gradle构建支持

这一功能对于使用Android编辑器的开发者来说是一个重大胜利。现在,您可以通过名为GABE的配套应用程序,直接在Android中使用Gradle构建Android项目,这有助于保持编辑器本身的轻便性。

在此之前,你无法从Android编辑器导出使用Android插件的应用。现在,你可以了!

阅读更多关于此PR的内容David Snopek Logan Lang 提供

获得明确同意

存储访问框架(SAF)

从Godot 4.6版本开始,您可以使用系统文件选择器为玩家提供加载和保存特定文件的功能,而无需请求广泛的存储权限。

这使得我们能够以更精细的方式支持加载自定义内容(如关卡)、导入数据文件或导出存档和预设,从而避免Play Store合规问题,并让玩家保持控制权。

阅读更多关于此PR的内容Anish Kumar撰写

Windows

渲染对等

Direct3D 12成为Windows上的新默认设置

如今,Direct3D 12的性能已与Vulkan相当,因此新的Windows项目默认采用Direct3D 12,以获得更稳定的驱动程序支持和更少的平台兼容性问题。这提高了跨平台渲染的一致性,同时保持了现有项目的不变。

阅读更多关于PR内容 Pedro J. Estébanez Darío Skyth所贡献

物理

咒语一念,网格变为碰撞形状

将网格转换为碰撞形状

直到现在,要从基本网格中获取碰撞形状,你不得不手动选择形状类型并手动对齐。这简直是一种折磨……但以后不会了。

从Godot 4.6版本开始,每当你的网格是简单的几何形状,如立方体、球体、圆柱体或胶囊体时,你现在可以从“网格”菜单中自动生成一个匹配的“三维碰撞形状”(CollisionShape3D)。这又是一项生活质量的提升!

阅读更多关于此PR的内容Kit Bishop提供

脚本

GDExtension

如果你说它是,那它就是必需的…

根据需要标记对象参数和结果

如果你已经在使用GDExtension,用C和C++等语言编写高性能游戏代码和编辑器插件,或者使用社区支持的Rust、Zig等语言,那么这篇文章就是为你准备的!

从Godot 4.6开始,Godot API中的参数和返回值可以声明为必需的,这意味着在这些位置不再隐式允许使用可以为null的值。这在Rust、Swift或Kotlin等具有严格可为null/可选类型的语言中尤其有用,因为它有助于在编译时捕捉错误或在运行时明确失败!

其结果是,API更安全、更清晰,且工具中的现代类型系统集成度更高。

阅读更多关于此PR的内容David SnopekThaddeus CrewsJan Haller 撰写

JSON来了!

基于JSON的GDExtension接口

这一更新主要是在幕后进行,但对你们中的许多人来说,它将带来极大的安慰,并开启新的可能性。自本次发布起,GDExtension的接口(Godot与原生代码之间的桥梁)现在是用JSON定义的,而不是用C头文件。

这使得工具、脚本和语言绑定能够更轻松地自动读取、分析和使用API。这一期待已久的升级为更快的自动化、改进的绑定和更顺畅的集成奠定了基础,释放了以前无法实现的可能性。

C头文件当然仍然可用,但它现在是从JSON定义生成的。

阅读更多关于此PR的内容David Snopek提供

GDScript

赶紧退出那个功能吧

脚本调试器:“单步执行”按钮

如果你在调试时曾被困在某个函数中,希望自己能直接跳回调用者,那么这个小功能肯定会提升你的工作效率。

现在,在现有的“单步跳过”和“单步进入”按钮旁边,新增了一个“单步跳出”按钮。该按钮允许您离开当前函数,并在调用点继续执行。在探索复杂逻辑或追踪难以捉摸的错误时,您无需再手动逐行单步执行或导航调用堆栈。

阅读更多关于此PR的内容,由Freddie W提供

像迪克·特雷西那样全力以赴

C++ 追踪分析器

你是否曾好奇过,你的脚本中哪些函数在性能上造成了损失,或者哪些对Godot API的调用占用了你的帧时间?Godot 4.6现在允许你使用Tracy、Perfetto和Instruments等专用跟踪分析器来分析你的脚本。

这些工具为您提供了比内置性能分析器更详细的见解,使您能够精准定位瓶颈、调试延迟峰值,并自信地优化GDScript、C#或GDExtension代码。

以下是开始利用这些强大分析工具的指南!

阅读更多关于此PR的内容Lukas TenbrinkSamuel NicholasStuart Carnie撰写

它是用粗体写的

GDScript LSP:改进了BBCode到Markdown的转换

现在,当你的评论包含粗体、代码块和结构化文本等格式时,它们在支持Markdown的编辑器和集成开发环境中会呈现得更加清晰。

Godot 4.6改进了GDScript语言服务器,现在使用BBCode的文档字符串能更忠实地转换为Markdown。这使得文档弹出窗口、工具提示和编辑器预览的可读性更高,从而更容易编写和维护丰富的代码内文档。

阅读更多关于此PR的内容,由Nathan Lovato HolonProduction提供

我用我的小眼睛偷看

字符串占位符高亮显示

Godot 4.6现在可以在字符串中高亮显示占位符,因此%s、%d或{name}会直接跳到页面上。您再也不用眯着眼睛去寻找缺失或写错的占位符了。这肯定会让字符串替换或格式化变得更加愉快。

阅读更多关于此PR的内容Cyril Bissey 提供

团队合作,梦想成真

感谢所有让PR合并到此版本中的贡献者。特别感谢所有在此版本中提供协作的引擎团队,尤其是考虑到其他相关存储库的提交不会在此图表中显示。