热门问题
时间线
聊天
视角

Godot

用於製作2D與3D遊戲的自由與開放原始碼跨平台遊戲引擎 来自维基百科,自由的百科全书

Godot
Remove ads

Godot是一款多功能、跨平台的2D与3D开源游戏引擎。可运行于WindowsmacOSLinux等多种操作系统。而其创建的游戏可运行于PCAndroidiOSHTML5等平台。

事实速览 开发者, 首次发布 ...
Remove ads

特性

Godot在MIT许可证下完全自由开源,且受到软件自由保护组织的支持。改编过的游戏乃至引擎的每一行代码,都属于用户自己所有。Godot的开发是完全独立且由社区驱动的,允许用户按照自己的期望去雕塑他们的引擎。

引擎的架构是围绕“节点”树设计的。节点组织在“场景”中,场景可以复用、实例化、继承。包括脚本和图形资产在内的所有游戏资源都是作为文件系统中的文件保存的,不依赖于数据库,可以方便使用版本控制的开发团队进行协作。

支持的平台

Godot支持进行多平台部署,能够针对不同的平台指定不同的纹理压缩方法和分辨率等设置。官方网站上仅提供适用于编辑器平台的二进制文件,导出到其他平台需要通过编辑器进行。

用于开发游戏的Godot编辑器支持如下平台:

使用Godot制作的游戏能够在更多的平台上运行。截止到3.5.1,除了编辑器所支持的平台外,还支持以下平台:

虽然Godot引擎能够在主机平台运行,但Godot无法提供官方支持。因为Godot是开源项目,无法获得公司授权,也无法将主机平台所需的相关代码按照开源许可发布。可以使用第三方公司的主机平台的移植服务将Godot游戏导出到主机平台。

Remove ads

脚本

Godot支持使用不同的编程语言开发游戏,比如Godot自己的GDScript语言、C#C++等。引擎还提供了GDExtension接口(3.x版本时期为GDNative),可用于创建其他语言的绑定。官方提供的CC++支持就是通过GDExtension实现的。社区支持的语言包括RustNimJavaScriptHaskellClojureSwiftD

GDScript

事实速览 编程范型, 实现者 ...

Godot内置的GDScript脚本语言是一种高级动态类型编程语言,语法与Python类似。与Python不同,GDScript是针对Godot的场景架构设计的,一个文件就是一个类,并且可以为变量限定类型。

开发GDScript之前,Godot的开发者尝试使用过LuaPythonSquirrel英语Squirrel (programming language)等第三方脚本语言,但最终为了优化和编辑器集成选择使用自定义的语言。

简单的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)
Remove ads

渲染

Godot的图形引擎在所有平台上均使用OpenGLOpenGL ES。正在开发的Godot 4中将加入Vulkan支持,可以通过MoltenVK英语MoltenVK支持Metal

着色器语言使用的是一种自定义的语言,与GLSL类似。着色器可用于材质渲染

Godot的2D图形引擎与3D图形引擎是独立的。可以使用“视口节点(Viewport node)”混合2D和3D内容。

其他特性

Godot拥有强大的动画系统,可以通过可视化的方式实现骨骼动画、混合、动画树、实时过场动画。游戏实体上的几乎所有变量都能够进行动画。

其他特性包括:

历史

Godot最初于2007年由Juan Linietsky(reduz)和Ariel Manzur(punto)开发[4][5]。Linietsky在一次演讲中表示Godot的名称来源于萨缪尔·贝克特的戏剧《等待戈多》,代表向引擎中不断加入新功能的愿望,可以让引擎无限接近全能的状态[6]。2014年2月,Godot在GitHub开源,使用MIT协议[7]

2014年12月15日,Godot迎来了首个稳定版本1.0,加入了光线映射导航网格英语Navigation mesh支持、以及许多着色器[8]

2015年5月21日,1.1版本发布,重写了2D引擎,完善了代码编辑器的自动补全功能和Blender Collada导出器,加入了可视化着色器编辑器、全新的操作系统窗口及屏幕管理API、全新的2D导航多边形支持、以及暗色主题。[9]重写后的2D引擎支持着色器、材质、各节点独立的Z排序、灯光、基于多边形遮挡的阴影、法线映射、以及距离场字体。2015年11月4日,Godot加入了软件自由保护组织[10]

2020年1月29日,3.2版本发布,大幅优化了文档以及对C♯和glTF 2.0的支持。与此同时,开发组决定正式开始投入4.0版本的开发,3.2版本将作为长期支持版本维护[11]

由于越来越多4.0版本的功能被移植回3.2开发分支,远远超出了3.2.X版本仅作维护、不添加新功能的意图,开发组于2021年3月17日决定将长期支持版本从3.2改为3.X[12]。原本正处于RC状态的预览版3.2.4 RC 5在后续发布时也随之将版本号改成了3.3 RC 6。

2022年11月1日,Godot建立了自己的基金会,离开了软件自由保护组织[13][14]

2023年3月1日,在经历了许多beta版本和问题修复后,Godot 4正式发布。这是一次主版本的更新,重写了渲染系统,加入了对Vulkan图形API的支持,提升了GDScript的性能和稳定性,加强了物理和动画系统,还加入了很多其他功能和问题修复。

Remove ads

发布历史

格式:
旧版本
旧版本,仍被支持
当前版本
最新预览版本
未来版本
更多信息 版本, 发布日期[15] ...
Remove ads

游戏作品

争议

更多信息 Godot Engine ...

Apparently game engines are woke now? Well then, we won't complain 🌈

Show us your #Wokot games below 👇

27 Sept 2024[20]

2024年9月27日,Godot团队在X上发布了一条引起争议的帖文。

帖文称Godot接纳支持觉醒的开发者并将Godot称为Wokot,之后遭到部分游戏开发者和捐助者的批评。[21]

Godot团队称[22]此帖子是在评论另一条批评觉醒开发者使用现成游戏引擎的帖子[23]

Remove ads

另见

参考资料

外部链接

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads