2、3D游戏引擎-Godot
2023-01-01 10:58:24 阿炯

Godot 是一个全新开发的游戏引擎,其功能集类似知名的跨平台游戏引擎 Unity,可用于开发 PC、主机、移动和 Web 游戏。开发者声称引 擎的 2D 和动画支持要强于 Unity,表示在功能和特性上没有其它开源游戏引擎能相媲美。Godot 引擎内置了类似 Unity 的编辑器,GUI 工具 包,2D/3D 物理支持,支持 OpenGL ES 2.0 功能集的 3D 渲染器,易于学习的语言和 API,支持用 ASM.js 或 Google Native Client 输出 HTML5 代码,支持 Linux、Windows 和 OSX 开发平台。采用C/C++语言开发并在MIT协议下授权。


2D and 3D cross-platform game engine


Godot Engine is a feature-packed, cross-platform game engine to create 2D and 3D games from a unified interface. It provides a comprehensive set of common tools, so that users can focus on making games without having to reinvent the wheel. Games can be exported with one click to a number of platforms, including the major desktop platforms (Linux, macOS, Windows), mobile platforms (Android, iOS), as well as Web-based platforms and consoles.


最新版本:4.0
Godot 4.0 正式发布于2023年3月上旬发布,这是 Godot 迄今为止最大的版本和制作时间最长的版本,新版本有海量新功能,比起常规更新更像是一次伟大的重建。下面是新版本部分改动:

3D 和一般渲染改动

Vulkan 和新渲染器
新版本有了两个新的 Vulkan 后端(集群和移动)。
此外还集成了一个基于 OpenGL 的兼容性渲染器,旨在支持旧的和低端设备。
还在开发 Direct3D 12 渲染器以获得更好的 Windows 和 Xbox 支持。
现在还可以利用 AMD 的 Fidelity FX 超级分辨率 1.0 (FSR 1.0) 以较低的分辨率进行动态和精美的渲染,同时保持游戏流畅运行。

高度改进的光照和阴影
Godot 的全局照明系统从头开始重新制作。Godot 4 有史以来第一次为大型开放世界引入了一种新颖的实时全局照明技术。SDFGI - 或 Signed Distance Field Global Illumination ,可以在此处了解更多相关信息。

GIProbe 已被 VoxelGI 节点取代,VoxelGI 节点是一种适用于中小型环境的实时解决方案,对室内设计效果特别好。当然,仍然可以使用光照贴图在低端设备上预渲染光照和阴影,但光照贴图现在使用 GPU 进行更快的渲染。最后,阴影在 Godot 3 中的表现一直不太优秀。Godot 4 可以重新开始阴影渲染,以实现更高的质量并提供更精细的控制。

新的渲染优化技术
Godot 4 提供了几种新的渲染优化技术。新的自动遮挡剔除可以检测被其他几何体隐藏的模型并动态移除它们以提高 CPU 和 GPU 渲染性能。在开放环境中,很少有对象重叠,因此遮挡剔除作用不大。在那里可以利用新的自动网格 LOD 或使用手动 HLOD 完全控制可见范围。

增强的中后期处理
如果您希望在高端设备上运行时增加额外的质量,则可采用屏幕空间间接照明。SSIL 允许使用屏幕空间采样来增强暗区和间接照明。此外,借助强大的 SSAO 实施(屏幕空间环境光遮蔽)可以访问许多有用的设置,例如光影响(影响直射光的程度),可以通过忽略具有环境遮挡贴图的对象来优化质量。对于喜欢摄影的用户,Godot 4.0 引入了逼真的光单位,允许调整灯光强度并使用标准相机设置(如光圈、快门速度和 ISO)来控制最终场景的亮度。物理光单位默认关闭,但可以在项目设置中启用它们。

二维改进

强大的全新 2D 关卡编辑工具
作为破坏兼容性的主要版本,Godot 4 对 2D 工作流程进行一些根本性的更改。最大的改进可能是全新的 tilemap 编辑器,它是根据请求和报告重新设计的。2D 编辑器已统一了 tilesets 和 tilemaps 的工作流程,可以更灵活地组织和放置图块或为它们提供元数据和动画、更有效地微调碰撞、导航、枢轴点和更多图块属性。新的 tilemap 编辑器包括图层、用于快速绘制大面积区域的新地形自动平铺系统、用于散布植物、岩石和其他道具的随机绘制系统,以及用于复制、标记和保存选择以供以后重复使用的选择工具。Tileset 纹理会自动展开以防止在图块之间出现间隙,并且新的场景放置功能允许在网格单元格中添加角色、箱子和其他交互式场景。

新的 2D 渲染选项
2D 画布渲染器已更新以支持允许复杂混合多个重叠 CanvasItem 的画布组。例如,您可以将一堆 sprite 堆叠在一起,让它们与背景融为一体,就好像它们是单个项目一样。使用新的 Clip Children 属性可以使用任何 2D 元素作为遮罩。最后,多重采样抗锯齿 (MSAA) 选项已添加到 2D 引擎中,以获得更好的图像质量和更平滑的边缘。

改进的 2D 光照和阴影
2D 通过 2D 定向光和阴影获得了照明改进。2D横向卷轴游戏森林关卡,带有一个由定向灯照亮的小鳄鱼角色。在着色器中使用带符号的距离场,可以获得高级视觉效果,例如长阴影、光晕和清晰轮廓。对于 3D 可以在法线贴图中控制光照高度。使用多个光源时性能会显着提高。

着色器和视觉特效

新的大气效果
为了帮助提高 3D 场景的保真度,新版本开发了一些令人兴奋且期待已久的功能。由于使用了时间重投影,体积雾首次出现在 Godot 4 中,平衡了逼真的外观和快速的性能。可以全局配置效果,或使用 FogVolume 节点定义特定区域,甚至可以通过编写在 FogVolume 节点上运行的自定义着色器来创建复杂的动态效果。对于其他大气效果,Godot 4.0 引入了天空着色器,允许用户创建实时更新的动态天空(包括反射)。有关详细信息,请参阅介绍天空着色器的文章。

纹理和材质投影
除了向后移植到 Godot 3.5 的新噪声纹理外,4.0 推出贴花,现在可以将材质投射到表面上以装饰环境。

增强的着色器 - 游戏世界交互
基于 GPU 的粒子有很多有用的变化。现在支持吸引、碰撞、轨迹、子发射器和手动发射。对于适用于整个游戏世界的效果,例如风向或湿度水平,现在可以跨材质共享全局值。

改进的着色器编辑器
所有这些新功能的引入,再次为改进视觉着色器编辑器的形式和功能创造了机会。

扩展着色器语言
新增功能包括对统一数组和片段到灯光变化的支持,以及新的语法功能,例如结构、预处理器宏和着色器包含。

计算着色器
Godot 现在支持并使用计算着色器来加速使用显卡的算法。


项目主页:https://github.com/godotengine/godot