Godot是一款多功能、跨平台的2D與3D開源游戏引擎。可运行於Windows、macOS、Linux等多種操作系统。而其创建的游戏可运行於PC、Android、iOS、HTML5等平台。
此條目的语调或风格或許不合百科全書。 (2019年5月22日) |
開發者 | Juan Linietsky、Ariel Manzur、Rémi Verschelde及使用者社群 |
---|---|
首次发布 | 2014年1月14日 |
当前版本 |
|
源代码库 | github |
编程语言 | GDScript、VisualScript、C++、C# |
操作系统 | Windows、macOS、Linux、Android |
平台 | Windows、macOS、Linux、BSD、Haiku、iOS、Android、HTML5、WebAssembly、Xbox One、通用Windows平台 |
类型 | 遊戲引擎 |
许可协议 | MIT許可證 |
网站 | godotengine |
Godot在MIT許可證下完全自由开源,且受到軟體自由保護組織的支持。改編過的遊戲乃至引擎的每一行代碼,都屬於用戶自己所有。Godot的開發是完全獨立且由社區驅動的,允許使用者按照自己的期望去雕塑他們的引擎。
引擎的架构是围绕“节点”树设计的。节点组织在“场景”中,场景可以复用、实例化、继承。包括脚本和图形资产在内的所有游戏资源都是作为文件系统中的文件保存的,不依赖于数据库,可以方便使用版本控制的开发团队进行协作。
Godot支持进行多平台部署,能够针对不同的平台指定不同的纹理压缩方法和分辨率等设置。官方网站上仅提供适用于编辑器平台的二进制文件,导出到其他平台需要通过编辑器进行。
用于开发游戏的Godot编辑器支持如下平台:
使用Godot制作的游戏能够在更多的平台上运行。截止到3.5.1,除了编辑器所支持的平台外,还支持以下平台:
虽然Godot引擎能够在主机平台运行,但Godot无法提供官方支持。因为Godot是开源项目,无法获得公司授权,也无法将主机平台所需的相关代码按照開源授權发布。可以使用第三方公司的主机平台的移植服务将Godot游戏导出到主机平台。
Godot支持使用不同的编程语言开发游戏,如自己的GDScript语言、C++、C#。引擎中提供了GDNative,可用于创建其他语言的绑定。官方提供的C、C++支持就是通过GDNative实现的。社区支持的语言包括Rust、Nim、JavaScript、Haskell、Clojure、Swift、D。
编程范型 | 面向对象 |
---|---|
實作者 | Godot社区 |
当前版本 |
|
型態系統 | 动态 |
操作系统 | 跨平臺 |
文件扩展名 | .gd |
網站 | docs.godotengine.org |
啟發語言 | |
C, C++, Python |
Godot内置的GDScript脚本语言是一种高级动态类型编程语言,语法与Python类似。与Python不同,GDScript是针对Godot的场景架构设计的,一个文件就是一个类,并且可以为变量限定类型。
开发GDScript之前,Godot的开发者尝试使用过Lua、Python、Squirrel等第三方脚本语言,但最终为了优化和编辑器集成选择使用自定义的语言。
简单的Hello World程序如下:
func _ready(): print("Hello World")
而更为复杂的,用于生成斐波那契数列的程序可以写为:
func _ready(): var nterms = 5 print("Fibonacci sequence:") for i in range(nterms): print(fibonacci(i)) func fibonacci(n): if n <= 1: return n else: return fibonacci(n - 1) + fibonacci(n - 2)
Godot的图形引擎在所有平台上均使用OpenGL或OpenGL ES。正在开发的Godot 4中将加入Vulkan支持,可以通过MoltenVK支持Metal。
着色器语言使用的是一种自定义的语言,与GLSL类似。着色器可用于材質和渲染。
Godot的2D图形引擎与3D图形引擎是独立的。可以使用“视口节点(Viewport node)”混合2D和3D内容。
Godot拥有强大的动画系统,可以通过可视化的方式实现骨骼动画、混合、动画树、实时过场动画。游戏实体上的几乎所有变量都能够进行动画。
其他特性包括:
Godot最初于2007年由Juan Linietsky(reduz)和Ariel Manzur(punto)开发。Linietsky在一次演讲中表示Godot的名称来源于萨缪尔·贝克特的戏剧《等待戈多》,代表向引擎中不断加入新功能的愿望,可以让引擎无限接近全能的状态。2014年2月,Godot在GitHub上开源,使用MIT协议。
2014年12月15日,Godot迎来了首个稳定版本1.0,加入了光线映射、导航网格支持、以及许多着色器。
2015年5月21日,1.1版本发布,重写了2D引擎,完善了代码编辑器的自动补全功能和Blender Collada导出器,加入了可视化着色器编辑器、全新的操作系统窗口及屏幕管理API、全新的2D导航多边形支持、以及暗色主题。重写后的2D引擎支持着色器、材质、各节点独立的Z排序、灯光、基于多边形遮挡的阴影、法线映射、以及距离场字体。2015年11月4日,Godot加入了软件自由保护组织。
2020年1月29日,3.2版本发布,大幅优化了文档以及对C#和glTF 2.0的支持。与此同时,开发组决定正式开始投入4.0版本的开发,3.2版本将作为长期支持版本维护。
由于越来越多4.0版本的功能被移植回3.2开发分支,远远超出了3.2.X版本仅作维护、不添加新功能的意图,开发组于2021年3月17日决定将长期支持版本从3.2改为3.X。原本正处于RC状态的预览版3.2.4 RC 5在后续发布时也随之将版本号改成了3.3 RC 6。
2022年11月1日,Godot建立了自己的基金会,离开了软件自由保护组织。
2023年3月1日,在经历了许多beta版本和问题修复后,Godot 4正式发布。这是一次主版本的更新,重写了渲染系统,加入了对Vulkan图形API的支持,提升了GDScript的性能和稳定性,加强了物理和动画系统,还加入了很多其他功能和问题修复。
版本 | 发布日期 | 备注 | 最新补丁发布 |
---|---|---|---|
1.0 | 2014年12月 | 首个稳定版本 | 1.0 |
1.1 | 2015年5月 | 优化了代码编辑器的自动补全功能,加入了可视化着色器编辑器和2D导航多边形支持,重写了2D引擎。 | 1.1 |
2.0 | 2016年2月 | 更新了UI,增强了调试器 | 2.0.4.1 |
2.1 | 2016年7月 | 加入了素材数据库、性能分析器、以及插件API。 | 2.1.6 |
3.0 | 2018年1月 | 加入了PBR渲染器以及对Mono(C#)的支持。使用Bullet作为默认物理引擎。 | 3.0.6 |
3.1 | 2019年3月 | 为GDScript加入了静态类型支持及脚本类系统,并且加入了OpenGL ES 2.0渲染器。 | 3.1.2 |
3.2 | 2020年1月 | 支持glTF 2.0文件,加入了OpenGL ES 2.0 批量渲染、iOS的C#支持,优化了大量文档。 | 3.2.3 |
3.3 | 2021年4月 | 加入了对ARM macOS、Android AAB、MP3、FBX、WebXR的支持,并且开始提供网页版编辑器。 | 3.3.4 |
3.4 | 2021年11月 | 重写了主题编辑器,优化了ACES色调映射、加入了对PWA、物理输入、glTF 2.0导出的支持。 | 3.4.5 |
3.5 | 2022年8月 | 加入了Android编辑器、着色器异步编译、物理插值、材质覆盖层,改进了导航系统。 | 3.5.2 |
3.6 | 未定 | Godot 3.x的下一个次版本更新,为LTS版本。 | 3.6 beta 4 |
4.0 | 2023年3月 | 支持Vulkan图形API及最新版Mono。加入基于SDF的全局光照,以及很多编辑器修改和性能提升。 | 4.0.4 |
4.1 | 2023年7月 | 新增實驗性的場景多執行緒功能、編輯器強化、和C#性能提升 | 4.1.4。 |
4.2 | 2023年11月 | 重新設計動畫工具和粒子系統、新增GDExtension功能、改善匯入管線、支援FSR 2.2。 | 4.2.2 |
4.3 | 2024年上半年 | 透過無環圖實現GPU同步。 | 4.3.dev1 |
This article uses material from the Wikipedia 中文 article Godot, which is released under the Creative Commons Attribution-ShareAlike 3.0 license ("CC BY-SA 3.0"); additional terms may apply (view authors). 除非另有声明,本网站内容采用CC BY-SA 4.0授权。 Images, videos and audio are available under their respective licenses.
®Wikipedia is a registered trademark of the Wiki Foundation, Inc. Wiki 中文 (DUHOCTRUNGQUOC.VN) is an independent company and has no affiliation with Wiki Foundation.