游戏引擎 Godot 4.1 发布,更流畅、更可靠、大量新功能


经过四个月的工作, Godot 4.1 正式发布啦!新版本带来了一系列新功能,例如改进的人工智能导航,以及分离代码编辑器并将其放在其他显示器上的能力。

此版本的重点改动:

节点操作更快

Godot 游戏被构建为节点树,这是游戏实体引擎的基础构建块,因此操作节点是引擎需要极其频繁执行的操作,会直接影响开发速度。

  •  4.1 版本更改了算法,使用快速哈希图,使添加和删除子节点的速度提高了数倍
  • 此版本还为场景引入了实验性的多线程功能,新的节点属性可以完全控制节点的处理方式(顺序或并行)。

目前还不建议在生产中使用多线程,但它为充分利用现代硬件奠定了基础。

 

核心优化

之前将模型导入Godot时,经常会出现模型面朝后的问题。

几位开发者联合修复了该问题,主要是在编辑器中交换前后摄像头方向。此外, look_at() 函数现在有一个参数,可以使用模型空间作为向前查看的参考,而不是相机的负 Z 轴。

此更新还为 Lawnjelly 的 Godot 4 带来了帧增量平滑功能,可以显著提高运动的流畅性并提供更流畅的游戏体验。该选项默认启用,但请注意,它仅在垂直同步也启用时才有效。

Scripting 脚本编写

GDScript

现在可以创建并使用静态变量。静态变量在类而不是每个实例上存储数据,因此它们在类的每个实例之间共享。

要使变量成为静态变量,请在脚本顶部定义的变量前面添加 static 关键字。

GDScript 的一个重要功能是为命名类自动生成文档页面。

此版本包括对 ocean 系统的重新设计,现在将枚举视为类型,从而使生成的文档更加精确。

现在还可以使用内联文档字符串,而不必总是将它们放置在变量或函数定义之上。

var my_variable = 10 ## This is an inline docstring

C#/.NET

使用 GDScript 时,可以通过向脚本添加全局类名来定义要在编辑器中使用的新节点类型。

从 Godot 4.1 开始,在 C# 中也可以通过将 [GlobalClass] 属性添加到文件中来实现,还可以使用 [Icon] 属性为全局类提供唯一的图标。

但截至此版本,使用 C# 制作的项目仍然无法导出到移动和 Web 平台,这一限制的解决可能取决于 2023 年底 .NET 8 的发布。

GD扩展

Godot 拥有独特的技术,可以使用 C++ 等低级语言作为游戏脚本语言,而无需重新编译引擎。

此版本的技术仍处于测试阶段,但 GDExtension 在脚本功能方面更接近 GDScript 和 C#,现在可以实现新的视觉着色器节点并使用 GDExtension 创建编辑器插件。

此版本还实现了向后兼容系统,以确保即使 API 在未来版本中发生变化,为 Godot 4.1 编写的代码也能够继续工作。

另一方面,为了修复 GDExtension 中的关键问题,4.1 中需要进行重大的兼容性破坏,因此现有的 Godot 4.0 扩展需要针对 4.1 进行移植和重新编译。

编辑器

Godot 4 支持多窗口,可将其用于项目和编辑器设置以及各种弹出窗口。从这个版本开始,可以将文档分离到浮动窗口中,分离脚本编辑器(包括着色器编辑器),并将它们放置在单独的显示器上。

此外,编辑器现在将跟踪窗口布局,在闭并重新打开编辑器时,编辑器窗口会恰好位于上次关闭的位置。

从 Godot 4.1 开始,还可以将节点数组导出到检查器,对于将游戏对象链接在一起非常有用。

项目管理器现在允许为各个项目分配标签,并按标签过滤项目。使得搜索数十个甚至数百个 Godot 项目变得更加容易。

 

渲染

此版本中对粒子湍流进行了重新设计,以提供更好的创意控制。

湍流被广泛用于创建许多现代游戏中常见的丰富蔓延效果。

使用新的 3D 噪点纹理还可以轻松控制体积雾的密度,并使其在某些区域变薄。 NoiseTexture3D 则可用于创建粒子吸引矢量场,这对于模拟影响粒子的风很有用。

导航

Godot 4.0 引入了 AI 导航的实时避让,但仅限于单个平面。4.1 版本包括使用 smix8 完全重写的回避算法,提供更好的行为和更好的控制,现在可以在 2D 或 3D 中进行回避。

平台支持

4.1 仍然提供与 Godot 4.0 相同的平台支持:可以使用标准版本和.NET 版本的引擎导出到所有桌面平台,如果项目中不使用 C#,则可以导出到移动设备和 Web。

Web 导出仍然存在一些限制,WebGL 2 支持不佳的浏览器(例如 macOS 上的 Chrome)会遇到一些问题,如果没有 Google 的修复,或在支持专WebGL 1 / GLES2 渲染器方面投入大量精力,Godot 也无法解决这些问题。

 

更新公告:https://godotengine.org/article/godot-4-1-is-here/


相關推薦

2023-02-04

,以及对 Godot 3.x 的大量其他改进。 当然,目前大多数新功能仍然存在重大错误和性能问题,无法在即将发布的 4.0 版本中及时解决。除此之外,Godot 还缺少一些基本功能,以下是最重要的一部分: 流媒体处理 (Streaming) 从

2022-12-01

sics 特性、增强 GDScript 脚本、更好地支持音频、改进多人游戏模式,以及对 Godot 3.x 的大量其他改进。

2023-11-05

ull-request(或 133 次 commits)。Godot 是一个非营利性的开源游戏引擎,由数百名贡献者利用业余时间开发,也有少数兼职或全职开发人员受雇于 Godot 社区的捐助。 v4.1.3 是 Godot 4.1 的第三个维护版本,包含了许多针对渲染系

2023-07-21

Godot 4.1.1 现已发布,这是 Godot 4.1 的第一个维护版本,解决了稳定版本中的一些 bug。 此版本中的一些重要更改包括: 修复了AnimationStateMachine中因无限循环而导致的崩溃 (GH-79141)。这是一个棘手的问题,因为只需最低

2022-09-15

sics 特性、增强 GDScript 脚本、更好地支持音频、改进多人游戏模式,以及对 Godot 3.x 的大量其他改进。 更详细的变化可查看此前的报道: Godot 4.0 首个 Alpha 版本发布 Godot 4.0 alpha 10 发布,引入重磅新特性 "Temporal AA" 关于 Go

2022-07-30

nbsp;引擎为 3D 项目提供坚实的基础。不过团队认为在实现新功能和解决问题方面,定制解决方案可带来更大的灵活性。 许多以前特定身体类型独有的属性现在可用于所有 PhysicsBody 节点。因此可以引入新的 CharacterBod

2023-02-10

Godot Engine 是一个功能丰富的跨平台游戏引擎,可以从一个统一的界面创建 2D 和 3D 游戏。它提供了一套全面的通用工具,因此用户可以专注于制作游戏。游戏可以一键导出到多个平台,包括主要的桌面平台(Linux、macOS、Windows)

2022-08-09

Godot Engine 是一个功能丰富的跨平台游戏引擎,可以从一个统一的界面创建 2D 和 3D 游戏。它提供了一套全面的通用工具,因此用户可以专注于制作游戏。游戏可以一键导出到多个平台,包括主要的桌面平台(Linux、macOS、Windows)

2024-08-27

JetBrains 和 Perforce 联合发布了一份“2024 年游戏技术现状”调查报告,深入研究了游戏技术和生成式 AI 的广泛采用,以及确定了组织所面临的一些关键挑战。 报告指出,市场已经迎来了跨行业游戏技术采用的拐点。有 50% 的调查

2022-09-15

开源游戏引擎 Godot 背后的商业公司 W4 Games 宣布获得 850 万美元投资,这笔投资由全球知名关注开源商业的投资机构 OSS Capital,以及专门从事新兴科技风险投资的硅谷领先 VC LUX Capital 牵头。行业资深人士、Red Hat 创始人 Bob Young 和

2023-09-15

费模式,以及配套服务更新;自 2024 年 1 月 1 日起将根据游戏的安装量引入新的 Unity Runtime 费用 (runtime fee)。 在此之际,其竞争对手、开源游戏引擎项目 Godot 则宣布全面启动开发基金(Godot Development Fund)。该基金项目于今年 7

2023-05-21

Godot Engine 是一个功能丰富的跨平台游戏引擎,可以从一个统一的界面创建 2D 和 3D 游戏。它提供了一套全面的通用工具,因此用户可以专注于制作游戏。游戏可以一键导出到多个平台,包括主要的桌面平台(Linux、macOS、Windows)

2023-02-23

Godot Engine 是一个功能丰富的跨平台游戏引擎,可以从一个统一的界面创建 2D 和 3D 游戏。它提供了一套全面的通用工具,因此用户可以专注于制作游戏。游戏可以一键导出到多个平台,包括主要的桌面平台(Linux、macOS、Windows)

2021-11-29

持和大量图形渲染器工作之外,Godot 4.0 还改进了其多人游戏开发功能。 多人游戏一直是一中复杂的功能,需要临时优化和特定于游戏的解决方案,并主要包含两个概念:某种形式的消息传递和某种形式的状态复制(同步和