历经18个月的漫长开发期,从2.1大幅进化!开源且采用 MIT 许可的多平台游戏引擎!“Godot Engine” 3.0 版本发布!
Godot Engine 版本1的介绍是在2014年。在介绍版本2之前,回过神来已经变成3了呢
GODOT 3.0 的新功能(部分省略)
新的基于物理的3D渲染器
Godot 3.0 附带了一个新的渲染器。 多年来,当你在互联网上阅读关于 Godot 的内容时,通常的评论大致如下:
“2D 引擎非常优秀,但 3D 仍然很基础,无法与 XXX 3D 或 YYY 引擎相媲美。”
幸运的是,这种情况已经不再存在。 新的3D引擎具备许多其他主流引擎中并不常见的开箱即用功能。 再加上 Godot 的易用性,使其能够以更少的努力达到高品质。
新的3D渲染器是前沿级的,具备当今游戏引擎中几乎看不到的功能:
完全的 PRINCIPLED BSDF
Godot 是第一个为基于物理的渲染提供 Disney 原则 BSDF 的引擎。 革命性的渲染架构使其能够在不增加额外成本的情况下提供非常复杂的材质。
这意味着,除了典型的 albedo、metalness、ambient occlusion、roughness 之外,还提供 rim、anisotropy、subsurface scattering、clear coat、refraction、transmission。 它们都已准备好可直接使用,并与渲染管线紧密集成。
在其他引擎中,你一次可能只能选择这些参数中的一个,或者通过前向通道应用它们(把它们与后处理、全局光照分离,或者在大量光源下变得低效)。 在 Godot 中,它们是内建的,无需黑科技就能高效运行,并且可以组合使用。
全局光照(GI)
除了材质之外,光照也非常重要。 Godot 3.0 为全局光照提供了两种替代工作流。
第一种是 GI Probe,它的工作方式类似反射探针(也可以影响区域并进行混合),但提供的是全局光照。 GI Probe 是实时的,光照变化会立即生效,穿过探针的物体也会获得 GI。
间接光照和体素反射都由这项技术提供。 它也非常易用。 只需设置探针边界,并对静态物体进行快速预烘焙即可。 不需要光照贴图之类的东西,因此提供了非常快速高效的工作流。
唯一的缺点是需要中高端硬件才能运行。 即使是低质量设置,在低端系统上也可能需要以半分辨率渲染。
对于低端系统和移动设备,我们提供了更传统的光照贴图工作流。 即便如此,这个工作流也很简单高效,因为 3D 物体在导入时会获得生成的第二套 UV,用于对实例化网格、场景甚至 GridMap 进行烘焙。
Godot 与光照贴图一起使用光照八叉树系统。这使得动态物体能够从场景中获得光照,而无需依赖手动放置的光照探针。这真的是一个相当麻烦的设置。
中间处理和后处理
配合新的渲染功能,还支持一套新的中间处理选项和后处理选项。
有一个新的色调映射器,支持 HDR、多个标准曲线和自动曝光:
现在支持最标准的效果,例如屏幕空间反射、晕影、景深等。
还实现了强大的 SSAO。它带有许多实用设置,例如光照影响(直接光会受到多大影响)以及忽略带有环境遮蔽贴图的物体等。
材质与着色器
遗憾的是,Godot 2.1 的可视化材质编辑器因兼容性问题被删除了,但会在 3.1 中回归。 即便如此,Godot 3.0 通过提供非常强大的默认材质(支持细节纹理、三向贴图以及其他出色功能)和非常易用的着色器语言来弥补这一点。
在其他引擎中,你需要准备许多着色器变体,并混合使用 HLSL 和元语言。 错误报告糟糕,而光照着色器通常很难。 在 Godot 3.0 中,编写着色器非常简单! 它使用一种自定义语言,支持 GLSL 规范的大部分内容。 它会解析你的代码,并自动理解你想做什么(为透明写入 alpha、从屏幕读取等),并自动且透明地为所有渲染方法生成内部着色器变体(深度通道等)。
它还在便利的编辑器内支持完整自动补全!
GPU 粒子
Godot 的粒子系统(2D 和 3D)都在 GPU 上处理。 这使得每帧可以生成数百万个粒子,并真正实现很酷的效果。
由于粒子在 GPU 上处理,你还可以为自定义行为创建粒子着色器。 也可以将常规粒子转换为着色器,以进行更细致的调整:
新的资源工作流
在 Godot 3.0 中,资源管线的工作方式发生了变化。 这里使用了更熟悉的、可自动导入资源的方案。 只需将资源拖放到项目文件夹中,就会使用可配置的默认参数自动导入。 导入后的选项也可以再修改。
这套方案一个有趣的地方是,在计算机之间复制导入文件夹也能完全正常工作。 在资源实际发生变化之前,编辑器不会尝试重新导入任何内容。
这套新系统的另一个重大优势,除了更易用之外,还在于它在具有网络文件系统的设备上运行得比以前好得多(测试时间非常快)。 Godot 在为移动端导入时会为纹理选择合适的压缩方式,并通过网络提供给它们。
3D 资源工作流也有很大改进。 场景可以作为单一文件导入,也可以将实例拆分为多个实例化子场景,从而将材质、网格和动画保留在外部。资源修改也可以合并。
GLTF 2.0 支持
Godot 现在支持导入 glTF 2.0 场景。 这是 Khronos 新推出的开放标准,建议使用它。
导入器还是新的,成熟度可能不如 Collada 导入器,但随着时间推移会变得更好。
OBJ 导入改进
如今对值得尊敬的 OBJ 格式支持得多得多了。 可以读取材质,也可以作为完整场景导入。
SVG 支持
Daniel Ramirez( djrm )实现了将 SVG 作为位图导入(分辨率可自定义)。 这个功能也用于更好地支持 HiDPI 模式,因为编辑器图标会在编辑器启动时转换为原生分辨率。
目前还不能直接将 SVG 作为 2D 网格使用,但这已经在未来版本的路线图上。
GDNATIVE
GDNative 是一个通过外部库扩展 Godot 的新框架。
MONO / C# 支持
现在你可以使用自己喜欢的 IDE 和最新版本的语言,使用 C# 完整编写 Godot 脚本了。
可视化脚本
Godot 3.0 附带了一种全新的可视化脚本语言,采用典型的“方块与连接”形式,最初名为 VisualScript。 默认实现是低层级的,但也足够可扩展,供用户创建更高层级的行为。
可视化脚本非常适合非程序员,或者希望向游戏设计师、美术等人员开放行为的程序员。 我们实现中的一个优点是,可以从大多数 Godot 面板(文件系统、场景、属性等)拖拽元素到画布上,这大大改善了易用性。
由于这是 VisualScript 的首个稳定版发布,我们希望在未来版本中继续进一步改进。
GD 脚本
自 2.1 以来,GDScript 已经获得了许多改进。 主要变化是 API 从以函数为主的属性改为了属性。 这使得对新手来说不那么冗长,也更容易在文档中找到合适的属性。
新的音频引擎
Godot 3.0 附带了新的音频引擎。 旧的音频引擎已被完全移除。 此版本完全专注于 AudioStreams(不再支持 sample)。 流媒体(支持 .wav 和 .ogg 文件)可以实时播放。
VR 支持
由于 Bastiaan Olij(Mux213)的出色工作,Godot 3.0 引入了 ARVRServer 实现(正如名称所示,用于支持 AR 和 VR)。 目前正在进行中的 AR 实现已转移到 3.1 版本,但 VR 已可投入使用,并增加了更多后端支持。
Bullet 物理后端
现在可以在 Godot 中使用 Bullet 物理引擎,并默认启用(可配置。Godot 3D 物理后端可在项目设置中选择)。 Andrea Catania( Odino )做了出色的工作,让 Bullet 适配 Godot,同时几乎没有破坏 API。
新的网络多人 API
Godot 3.0 中添加了用于网络多人游戏的新 API。 它基于远程过程调用(通信使用 ENet),可以非常轻松地同步多个 peer。
导出系统重写
Godot 的导出系统已被完全重写。 导出基于预设运行,因此可以使用两个面向同一平台但配置值不同的预设(例如 Android ARM 和 x86、演示版和完整游戏的预设等)。
IPv6 支持
Godot 现在完全符合 IPv6。
WEBASSEMBLY 和 WEBGL 2.0 支持
得益于 Leon Krause( eska )的出色工作,HTML5 导出器得到了大幅改进,其中包括对 WebAssembly 的支持! 随着新的基于物理的渲染器加入,还增加了 WebGL 2.0(WebGL 1.0 预计会在 3.1 中回归)。
新的编辑器主题与自定义
我们的主设计师 Daniel Ramirez( djrm )在 volzhs 和 Timo( toger5 )的帮助下,打造了出色的新主题系统。 它对 HiDPI 的支持更好,不仅可以在亮色主题和暗色主题之间切换,还可以轻松更改颜色和对比度级别。
TileMap 中的自动平铺
Godot 现在支持 TileMap 的自动平铺,由 Mariano Suligoy( MarianoGNU)创建,并由 Damar Indra 增强。 这套新实现基于 Tiled Editor 的 Terrain,并且与以前的 TileSet 完全兼容。 它内置了碰撞、遮挡和导航多边形编辑器,还可以使用工具脚本扩展资源,以控制子图块的行为。
改进的扁平样式框
基于矢量的样式框(StyleBoxFlat)由 Timo( toger5)大幅改进,并增加了圆角支持。 无需创建图片,就能以平滑的矢量风格和柔和的投影阴影(与分辨率无关)自定义游戏 UI 组件!
字体过采样
为了延续与分辨率无关的趋势,Godot 现在支持字体过采样。 这可确保即使 UI 被缩放,字体也始终使用原生分辨率。
自定义硬件光标
多亏 Xavier Sellier( xsellier)和 Guilherme Felipe de CG da Silva( guilhermefelipecgs),最终可以在桌面平台上更改硬件鼠标光标。 将任意图像设置为光标即可,其延迟比软件光标更低,并且可正常工作。
大幅改进的 3D 编辑器视口
- 支持自由视角和飞行模式 Marc Gilleron (Zylann)
- 改进的 3D 操作 gizmo(多轴编辑与缩放)Przemysław Gołąb (n-pigeon)
- 随运动和视图变化的插值
- 改进了实例化场景中的选择支持
- 工具栏中的网格吸附和本地轴变换
- 显示渲染形状的信息
- 为提升 HiDPI 显示性能而采用的半分辨率视口渲染
主机平台支持
出于法律和实际原因,我们不能直接提供主机平台移植版(通过 UWP 的 Xbox One 除外),但这并不意味着其他独立公司不能做。 Godot 的开放许可证允许任何公司将引擎移植到主机平台并将其作为产品提供。
以及数百项其他改进
由于这篇文章已经太长了,因此不可能列出过去一年半里 Godot 的贡献者实现的数百项功能和 bug 修复。
贡献者们正在整理一个人类可读的变更日志。 你也可以浏览或筛选 GitHub pull request 列表(约 3000 项)(GitHub 问题对应列表),或者查看从 Godot 2.1 以来的原始 Git 变更日志(按时间顺序或按作者排序)。
By Google 翻译
可视化工具方面的进化真是厉害啊。老实说之前的版本我都没什么想要引入的念头,但这次的 3 版本让我有点想试试看了。
详情请见官网!













GDNative 是一个通过外部库扩展 Godot 的新框架。











