Godot 3.1 发布了,Godot 是一个功能丰富的跨平台 2D 与 3D 游戏引擎,它提供了一套通用工具,使开发者可以专注于游戏逻辑。支持多个平台,包括 Linux、Mac OS X、Windows、Android、iOS 和 H5。
此版本改进了可用性并带来了大量新特性。
Godot 3.0 中对引擎代码库进行了大量重写,并显着降低了向后兼容性,而在 3.1 版本中主要是在此基础上进行完善,并消除遗留的使用障碍,所以 3.1 更加成熟且可用性大大提升。
新特性方面:
重新用回 OpenGL ES 2.0 渲染器
Godot 2.x 分支使用 OpenGL ES 2.0/OpenGL 2.1(GLES2)作为其渲染 API,虽然很好,但是它有许多限制,使得无法使用更现代的渲染技术。
在 Godot 3.0 中,使用更现代的 OpenGL ES 3.0/OpenGL 3.3(GLES3)规范重写了所有渲染代码,并且将 OpenGL ES 2.0 渲染器移除。虽然一开始这是一个不错的改变,但是后来带来了许多问题,比如:
- 在旧的移动/桌面硬件上性能不佳,显然现代化的渲染技术不适合这些老旧硬件的设计。
- 性能不佳还好说,但是有一些旧设备直接就不兼容 OpenGL ES 3.0。
- HTML5 平台不兼容,因为并不是所有浏览器都支持 WebGL 2.0(OpenGL ES 3.0 的等效规范)。
- 移动和桌面设备中存在大量的驱动程序 bug。在桌面上,似乎各种驱动程序供应商都没有很好地支持现代 OpenGL,并且在 macOS 和 Windows 上新驱动程序中不断出现回退;在移动设备上,由于 OpenGL ES 3.0 相对较新,所以也一直会出现各种驱动程序 bug,即使是现代旗舰设备也不能避免。
因此在 Godot 3.1 中,被迫重新用回了 OpenGL ES 2.0/OpenGL 2.1 渲染器。与此同时,也对其做了一些改进,在 2D 方面,这个新的渲染器功能齐全;3D 方面,实现了一种更简单的渲染方法,旨在更加有所限制,但兼容性更高。新的特征和限制如下:
- 渲染完全在 sRGB 色彩空间上完成(GLES3 渲染器使用线性色彩空间),这样效率和兼容性更高,但这意味着不支持 HDR,光效看起来也有点不同。
- 不支持某些高级 PBR 功能,例如次表面散射。
- 某些着色器功能将无法使用,并在使用时抛出错误(使用较旧的 OpenGL 版本时会出现这种情况)。
- 一些后处理效果也不存在。
- 由于此后端旨在尽可能在最低端硬件上运行,因此着色器需要保持非常小,因此,所有光效都是通过使用前向多通道方法完成的。
- GIProbes 自然就无效了,需要用回 lightmap。
- 由于没有转换反馈支持,基于 GPU 的粒子没法用了,需要改用新的 CPUParticles 节点。
GDScript 中的可选类型
GDScript 是 Godot 很受欢迎的一项功能,它允许在受控环境中快速编写代码,与任何动态类型语言一样,允许高速生成大量代码。
但是它有一些限制,比如:
- 代码补全并不总是生效。
- 性能受限于解释器。
- 在编译(或写入)时并不总是捕获错误。
- 代码可读性较差,难以重构。
在 GDScript 中实现可选类型是解决这些问题的方案,Godot 3.1 中,可选类型还是仅解析器可用(parser-only)功能,后续计划在状态机中包含类型指令,以极大地优化性能。
改进 2D 与 3D 编辑器
重写了 Godot 2D 编辑器,可以更好地使用一些小工具,并且显示存在通用节点的小十字光标,此外,不再为碰撞形状提供缩放手柄,而是可以直接改变它们的大小,从而解决了新 Godot 用户的一个主要痛点。
3D 编辑器完全重写了 Gizmo 系统。
新的地形编辑器
改变了以往功能单调的弱点,重新编写了一个地形编辑器,其中包含许多其它地形创建软件中所通用的功能,并且对 3.0 中添加的自动调整功能提供了更好的支持。
C# 支持改进
从 3.1 开始,C# 项目可以导出到 Linux、macOS 和 Windows。对 Android、iOS 和 HTML5 的支持也在计划中,Android 会优先跟进。Mono 版本有许多改进,并解决了之前遇到的一些问题,例如与特定 Mono 版本绑死。Mono SDK 中的相关源码现在直接包含在编辑器二进制文件中,只需安装 MSBuild 即可构建和发布 C# 游戏。
还有大量新特性:
- Revamped inspector
- Revamped filesystem dock
- KinematicBody2D (and 3D) improvements
- Revamped animation editor
- Revamped AnimationTree
- New axis handling system
- Visual shader editor
- 2D skeletons
- 2D meshes
- 3D softbody support
- Ragdolls and Skeleton IK
- Constructive Solid Geometry (CSG)
- OpenSimplex and NoiseTexture
- CPU-based particle system
- Greatly improved C# support
- Networking improvements
- Custom classes registration
- MIDI and microphone input
- More VCS friendliness
详情查看发布公告:https://godotengine.org/article/godot-3-1-released
下载地址:https://godotengine.org/download