跳至內容

Godot

本頁使用了標題或全文手工轉換
維基百科,自由的百科全書
Godot
開發者Juan Linietsky、Ariel Manzur、Rémi Verschelde及使用者社群
首次發布2014年1月14日,​10年前​(2014-01-14[1]
當前版本
  • 3.5.3 (2023年9月25日;長期支援)[2]
  • 4.2.2 (2024年4月18日;穩定版本)[3]
編輯維基數據鏈接
源代碼庫github.com/godotengine/godot
編程語言GDScript、VisualScript、C++C#
操作系統WindowsmacOSLinuxAndroid
平台WindowsmacOSLinuxBSDHaikuiOSAndroidHTML5WebAssemblyXbox One通用Windows平台
類型遊戲引擎
許可協議MIT許可證
網站godotengine.org

Godot是一款多功能、跨平台的2D與3D開源遊戲引擎。可運行於WindowsmacOSLinux等多種操作系統。而其創建的遊戲可運行於PCAndroidiOSHTML5等平台。

特性[編輯]

Godot在MIT許可證下完全自由開源,且受到軟體自由保護組織的支持。改編過的遊戲乃至引擎的每一行代碼,都屬於用戶自己所有。Godot的開發是完全獨立且由社區驅動的,允許使用者按照自己的期望去雕塑他們的引擎。

引擎的架構是圍繞「節點」樹設計的。節點組織在「場景」中,場景可以復用、實例化、繼承。包括腳本和圖形資產在內的所有遊戲資源都是作為文件系統中的文件保存的,不依賴於數據庫,可以方便使用版本控制的開發團隊進行協作。

支持的平台[編輯]

Godot支持進行多平台部署,能夠針對不同的平台指定不同的紋理壓縮方法和分辨率等設置。官方網站上僅提供適用於編輯器平台的二進制文件,導出到其他平台需要通過編輯器進行。

用於開發遊戲的Godot編輯器支持如下平台:

使用Godot製作的遊戲能夠在更多的平台上運行。截止到3.5.1,除了編輯器所支持的平台外,還支持以下平台:

雖然Godot引擎能夠在主機平台運行,但Godot無法提供官方支持。因為Godot是開源項目,無法獲得公司授權,也無法將主機平台所需的相關代碼按照開源授權發布。可以使用第三方公司的主機平台的移植服務將Godot遊戲導出到主機平台。

腳本[編輯]

Godot支持使用不同的編程語言開發遊戲,比如Godot自己的GDScript語言、C#C++等。引擎還提供了GDExtension接口(3.x版本時期為GDNative),可用於創建其他語言的綁定。官方提供的CC++支持就是通過GDExtension實現的。社區支持的語言包括RustNimJavaScriptHaskellClojureSwiftD

GDScript[編輯]

GDScript
編程範型面向對象
實作者Godot社區
當前版本
  • 3.5.3 (2023年9月25日;長期支援)[2]
  • 4.2.2 (2024年4月18日;穩定版本)[3]
編輯維基數據鏈接
型態系統動態
操作系統跨平臺
文件擴展名.gd
網站docs.godotengine.org
啟發語言
C, C++, Python

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)

渲染[編輯]

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)開發[5][6]。Linietsky在一次演講中表示Godot的名稱來源於薩繆爾·貝克特的戲劇《等待戈多》,代表向引擎中不斷加入新功能的願望,可以讓引擎無限接近全能的狀態[7]。2014年2月,Godot在GitHub開源,使用MIT協議[8]

2014年12月15日,Godot迎來了首個穩定版本1.0,加入了光線映射導航網格英語Navigation mesh支持、以及許多着色器[9]

2015年5月21日,1.1版本發布,重寫了2D引擎,完善了代碼編輯器的自動補全功能和Blender Collada導出器,加入了可視化着色器編輯器、全新的操作系統窗口及屏幕管理API、全新的2D導航多邊形支持、以及暗色主題。[10]重寫後的2D引擎支持着色器、材質、各節點獨立的Z排序、燈光、基於多邊形遮擋的陰影、法線映射、以及距離場字體。2015年11月4日,Godot加入了軟件自由保護組織[11]

2020年1月29日,3.2版本發布,大幅優化了文檔以及對C#和glTF 2.0的支持。與此同時,開發組決定正式開始投入4.0版本的開發,3.2版本將作為長期支持版本維護[12]

由于越來越多4.0版本的功能被移植回3.2開發分支,遠遠超出了3.2.X版本僅作維護、不添加新功能的意圖,開發組於2021年3月17日決定將長期支持版本從3.2改為3.X[13]。原本正處於RC狀態的預覽版3.2.4 RC 5在後續發布時也隨之將版本號改成了3.3 RC 6。

2022年11月1日,Godot建立了自己的基金會,離開了軟件自由保護組織[14][15]

2023年3月1日,在經歷了許多beta版本和問題修復後,Godot 4正式發布。這是一次主版本的更新,重寫了渲染系統,加入了對Vulkan圖形API的支持,提升了GDScript的性能和穩定性,加強了物理和動畫系統,還加入了很多其他功能和問題修復。

發布歷史[編輯]

格式:
舊版本
舊版本,仍被支援
當前版本
最新預覽版本
未來版本
Godot 引擎發布歷史
版本 發布日期[16] 備註 最新補丁發布
舊版本,不再支援: 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 未定[17] Godot 3.x的下一個次版本更新,為LTS版本。 3.6 beta 4[18]
舊版本,仍被支援: 4.0 2023年3月 支持Vulkan圖形API及最新版Mono。加入基於SDF的全局光照,以及很多編輯器修改和性能提升。 4.0.4
舊版本,仍被支援: 4.1 2023年7月 新增實驗性的場景多執行緒功能、編輯器強化、和C#性能提升[19] 4.1.4[20]
當前版本: 4.2 2023年11月 重新設計動畫工具和粒子系統、新增GDExtension功能、改善匯入管線、支援FSR 2.2[21] 4.2.2[20]
未來版本: 4.3 2024年上半年 透過無環圖實現GPU同步[22] 4.3.dev1

遊戲作品[編輯]

另見[編輯]

參考資料[編輯]

  1. ^ Linietsky, Juan. Godot Engine - First public release!. Godot Engine. 2014-01-14 [2019-07-01]. (原始內容存檔於2019-07-01). 
  2. ^ 2.0 2.1 https://godotengine.org/article/maintenance-release-godot-3-5-3/.
  3. ^ 3.0 3.1 Maintenance release: Godot 4.2.2. 
  4. ^ Godot Engine Web Editor. Godot Engine Web Editor. [2023-11-05]. (原始內容存檔於2023-10-16) (英語). 
  5. ^ StraToN. SteamLUG Cast. [18 June 2016]. (原始內容存檔於2018-06-12). 
  6. ^ reduz. Godot history in images!. [18 June 2016]. (原始內容存檔於2021-05-15). 
  7. ^ Juan Linietsky presentation of Godot at RMLL 2015 in Beauvais, France. 7 July 2015 [2021-03-02]. (原始內容存檔於2015-10-05). 
  8. ^ liamdawe. Godot Game Engine Is Now Open Source. 14 February 2014 [2021-03-02]. (原始內容存檔於2020-06-10). 
  9. ^ Linietsky, Juan. Godot Engine Reaches 1.0, Releases First Stable. Godot Engine. 2014-12-15 [2019-07-01]. (原始內容存檔於2019-07-01). 
  10. ^ Linietsky, Juan. Godot 1.1 Out!!. Godot Engine. 2015-05-21 [2019-07-01]. (原始內容存檔於2019-07-01). 
  11. ^ Godot Game Engine is Conservancy's Newest Member Project. [13 November 2015]. (原始內容存檔於2019-09-18). 
  12. ^ Verschelde, Rémi. Here comes Godot 3.2, with quality as priority. Godot Engine. 2020-01-29 [2021-03-22]. (原始內容存檔於2021-04-22). 
  13. ^ Verschelde, Rémi. Versioning change for Godot 3.x. Godot Engine. 2020-03-17 [2021-03-22]. (原始內容存檔於2021-05-15). 
  14. ^ Announcing Godot's Graduation from SFC!. Software Freedom Conservancy. 1 November 2022 [2022-11-18]. (原始內容存檔於2022-12-01) (英語). 
  15. ^ Godot’s Graduation: Godot moves to a new Foundation. Godot Engine. 1 November 2022 [2022-11-18]. (原始內容存檔於2023-01-05) (英語). 
  16. ^ Godot Release Versions. Godot Release Versions. [2021-05-10]. (原始內容存檔於2022-11-18) (英語). 
  17. ^ Engine, Godot. Dev snapshot: Godot 3.6 beta 4. Godot Engine. [2024-04-23]. (原始內容存檔於2024-03-13) (英語). 
  18. ^ Dev snapshot: Godot 3.6 beta 4. Godot Engine. 2024-01-25 [2023-08-29]. (原始內容存檔於2024-03-13) (英語). 
  19. ^ Larabel, Michael. Godot 4.1 Released With More Improvements To This Open-Source Game Engine. Phoronix. 6 July 2023 [9 September 2023]. (原始內容存檔於2024-04-17) (英語). 
  20. ^ 20.0 20.1 Maintenance release: Godot 4.2.2 & 4.1.4. Godot Engine. 2024-04-17 [2024-04-18]. (原始內容存檔於2024-04-22) (英語). 
  21. ^ Godot 4.2 arrives in style!. Godot Engine. 2023-11-30 [30 November 2023]. (原始內容存檔於2024-05-10) (英語). 
  22. ^ Banini, Darío. GPU synchronization in Godot 4.3 is getting a major upgrade. Godot Engine. [2024-02-21]. (原始內容存檔於2024-04-05) (英語). 

外部連結[編輯]