我们带来了另一个重大开发更新,在过去几周内合并了超过330个提交!贡献者们继续开发令人惊叹的新功能,同时我们继续合并那些错过4.3截止日期的重要功能积压。综合结果是在短时间内压缩了大量优秀内容。
\ 本次发布中的许多更改是bug修复,这些修复将被向后移植到Godot 4.3并在4.3.1中发布!因此请充分测试此版本,以便我们对这些更改有信心,并尽快发布包含这些更改的4.3.1版本。
\ 请记住,虽然我们尽力确保每个开发快照都足够稳定以进行一般测试,但这本质上是预发布软件。请确保频繁备份,或使用版本控制系统(如Git),以防止项目在损坏或数据丢失的情况下受到影响。
\ 跳转到下载部分,立即试用,或继续阅读以了解此版本的更多改进。您还可以尝试此版本的Web编辑器、XR编辑器或Android编辑器(加入Android编辑器测试组以获取预发布版本)。
原始封面插图来自 Fogpiercer,这是一款回合制卡牌对战游戏,您的牌组就是一列火车!它由Mad Cookies Studio使用Godot 4.3开发。您可以在Steam上将游戏加入愿望单,并在Twitter上关注开发者。
如果您错过了,请查看4.4 dev 1和dev 2发布说明,了解该快照中已有的一些关键功能概述,这些功能在dev 3中仍然可用于测试。
\ 以下是一些您可能会特别兴奋的亮点!
\
@export_tool_button注解能够从工具脚本在检查器中创建按钮是一个备受期待的功能,许多贡献者自发地在GH-96290中实现了它:新贡献者jordi-star和Macksaur,以及维护者Ernest和Danil!
\ 这个新功能允许您通过@tool脚本更加灵活地创建开发工具。
\ 让我们看一个例子:
@tool extends Sprite2D # 使用可调用对象(也可以是本地函数)。 @export_tool_button("Toot", "Callable") var print_action = print.bind("toot") # 使用lambda。 @export_tool_button("随机颜色", "ColorRect") var color_action = func(): self_modulate = Color(randf(), randf(), randf())
\
改进场景启动体验的工作并未放缓,这要归功于Hilderin的惊人贡献。此开发快照为大型项目的编辑器加载速度带来了巨大改进(GH-95678)。大型项目在加载时可以预期速度提升最多3倍,在执行任何扫描文件系统的操作时也有类似的加速效果。
此开发版本重新引入了期待已久的材质顶点着色选项(GH-83360),这要感谢贡献者ywmaa在Godot中实现的第二个主要功能,继Blender几何节点的导出支持之后。顶点着色主要用于实现早期PSX风格并优化在较旧和低端设备上的性能。
\ 您可以在现有的StandardMaterial3D、ORMMaterial3D、ShaderMaterial中启用顶点着色,或通过使用rendering/shading/overrides/force_vertex_shading项目设置在所有材质上强制启用它。
\
在处理了早期快照中合并的Metal渲染后端之后,Stuart又承担了另一项令人印象深刻的渲染贡献:2D批处理!
\ 自4.0版本发布以来,批处理已在兼容性渲染器中实现。此版本通过在使用Forward+和Mobile后端时实现批处理(GH-92797),将相同的性能优势带给其他后端。现在所有后端的2D性能都可以相互媲美。
\ 批处理是一种性能优化,可以大幅减少场景中的绘制调用次数。批处理的好处在具有大量文本渲染或共享纹理的重复精灵的场景中特别明显(例如使用瓦片地图或制作弹幕游戏时)。
\ 我们计划对RD后端的批处理进行进一步改进,这应该使其比兼容性后端更快。请关注后续开发版本的更新!
表达式求值器在底部面板中添加了一个新标签,允许您在断点处停止时使用脚本的本地状态评估表达式。许多用户熟悉这种来自其他REPL调试器的工作流程。
\ 这个功能已经开发了一段时间,最近完成并合并(GH-97647),感谢Oğuzhan、Erik和Tomek将其推向终点。
用户的一个常见抱怨是,他们需要在启动游戏后返回编辑器才能启用分析器。这使得测量加载场景的前几秒钟的性能变得困难,对开发者来说总体上是一种麻烦。
\ Hendrik引入了一个复选框,允许您设置分析器在运行引擎时自动启动并立即捕获有价值的分析数据(GH-96759)。
标记允许您创建动画的子区域,可以跳转到这些区域,或者在不播放整个动画的情况下循环播放。
\ 动画树内部也支持标记,您可以轻松选择动画标记进行循环或开始播放。
\ 有关更多详细信息,请查看拉取请求GH-91765,这是ChocolaMint对Godot的首批贡献之一!
以前,Godot仅支持在macOS和iOS设备上访问设备相机。pkowal1982长期运行的拉取请求GH-53666最终被合并,并增加了对Linux平台的支持,允许开发者从游戏内访问连接的相机。
目前,当尝试在不支持Vulkan、D3D12或Metal的设备上使用Forward+或Mobile后端运行Godot时,引擎会向用户提供操作系统警报,通知他们不支持所需的图形API,需要使用兼容性后端重试。这个警报对用户来说已被证明是令人困惑的,打开场景的过程最终变得繁琐。
\ 现在通过GH-97142,SheepYhangCN的首次贡献,当其他后端不可用时,引擎将自动回退到使用OpenGL(兼容性后端)。这应该为老旧设备的用户提供最流畅的体验。
\ 由于兼容性后端的外观可能与其他后端不同,游戏开发者可能不希望Godot自动回退。在这种情况下,他们可以禁用rendering/rendering_device/fallback_to_opengl3项目设置以避免回退,而只有OpenGL设备的用户将收到硬件不受支持的通知。
这里有太多令人兴奋的变化无法一一列出,但以下是精选:
136位贡献者为这个新快照提交了332项改进。查看我们的交互式更新日志,了解自上一个4.4-dev2快照以来的完整更改列表。
\ 此版本基于提交f4af8201b构建。
下载Godot 4.4 dev3
\ 标准版本包括对GDScript和GDExtension的支持。
\ .NET版本(标记为mono)包括对C#以及GDScript和GDExtension的支持。
\ 虽然引擎维护者尽最大努力确保每个预览快照和候选版本都是稳定的,但这本质上是预发布软件。请确保频繁备份,或使用版本控制系统(如Git),以防止项目在损坏或数据丢失的情况下受到影响。
\ 每次发布我们都接受会有各种已报告但尚未修复的问题。请查看GitHub问题跟踪器获取已知bug的完整列表。
作为测试者,如果您在使用此版本时遇到问题,我们鼓励您提交错误报告。请先使用相关关键词通过搜索功能检查GitHub上的现有问题,以确保您遇到的bug尚未被发现。
\ 特别是,任何可能导致项目回归的更改都非常重要,需要报告(例如,如果某些在之前的4.x版本中正常工作的功能,但在此快照中不再工作)。
Godot是一个非营利、开源游戏引擎,由数百名贡献者在空闲时间开发,以及少数全职或兼职开发人员,这些开发人员是由Godot社区的慷慨捐赠雇佣的。非常感谢所有为项目贡献时间或财务支持的人!
\ 如果您想在财务上支持该项目并帮助我们确保未来的招聘,您可以使用由Godot基金会管理的Godot开发基金平台。还有其他几种您可能认为更合适的捐赠方式。
Clay John
\ 也发布于此处
\ 照片由Denys Nevozhai在Unsplash上提供


