Godot筆記:入門索引

文章目錄

  • 前言
  • 游戲引擎
  • 軟件界面
  • 關鍵概念
  • GDScript
  • 導出成品
  • 創建非游戲應用
  • 后記

前言

最近對游戲引擎這塊感興趣,特別是因為游戲引擎自帶的很多工具,作為圖形化軟件的開發應該也不錯。 Godot 是一款這幾年比較流行的開源游戲引擎。這里記錄下入門學習使用 Godot 相關的資源鏈接等。

官方頁面:https://godotengine.org/
官方文檔:https://docs.godotengine.org/en/stable/

在這里插入圖片描述

官方的文檔本身寫的比較好,下文的內容更多的是對我自己關注的一些點進行梳理。
官方文檔的左下角和右下角可以選擇版本和語言,較新的版本是有中文的。

游戲引擎

Godot is a general-purpose 2D and 3D game engine designed to support all sorts of projects. You can use it to create games or applications you can then release on desktop or mobile, as well as on the web.
Godot 是一個通用的 2D 和 3D 游戲引擎,旨在支持各種項目。你可以用它來創建游戲或應用程序,然后在桌面、手機以及 Web 平臺上發布。


Godot comes with a fully-fledged game editor with integrated tools to answer the most common needs. It includes a code editor, an animation editor, a tilemap editor, a shader editor, a debugger, a profiler, and more.
Godot 是一個通用的 2D 和 3D 游戲引擎,旨在支持各種項目。你可以用它來創建游戲或應用程序,然后在桌面、手機以及 Web 平臺上發布。

游戲引擎可以在官網上下載,有多個操作系統平臺的,也有網頁版的。另外也可以在Steam,EPIC等游戲商店下載。 Godot 主要的開發語言有自帶的 GDScript(一種類似Python的腳本語言) 或者 .NET C# ,所以下載時游戲引擎也會有兩個版本,這里下載使用 Window 上使用 GDScript 的版本(當前版本為4.4.1)。

下載之后解壓直接打開就可以使用不需要按照。當然這里建議解壓到一個文件夾,然后在該文件夾下新建名為 ._sc_ 或者 _sc_ 的文件,這樣你使用時的一些配置文件和臨時文件就會在該目錄下,而不會出現在系統的用戶目錄下。這種方式方便多個版本的引擎共存,或者當作便攜軟件使用。
在這里插入圖片描述

軟件界面

軟件界面本來應該沒啥好說的,稍微看下就會。不過目前這個引擎的界面有一個地方是有點反直覺的,所以這里拿出來說一下。

下圖中頂部中間的工作空間切換按鈕切換的是中間的工作空間區域,比如2D/3D的場景視圖;而兩個區域間的一個個標簽是場景的標簽。這個當你在編輯腳本的時候,這里的標簽還是場景標簽,具體顯示的是哪個腳本需要看工作區左邊。
在這里插入圖片描述

關鍵概念

Godot 開發的游戲是由一個個的場景( Scene )組成的,場景可以是一個角色、一件武器、用戶界面中的一個菜單、一座房子、整個關卡、或者任何你能想到的東西。每個場景都中包含了若干的節點( Node )或子場景,節點下面可以有一個或多個子節點。場景和場景、場景和節點、節點和節點間通過信號( Signal )進行通信。

整個游戲有一個主場景( Main Scene),這是游戲打開的第一個頁面。整個游戲其實就是由這個場景開始的一個個場景樹或者節點樹構成的。

Godot 中的節點是有繼承關系的,每個節點都繼承了它的父節點的屬性和方法:
在這里插入圖片描述

每個節點可以綁定一個腳本,腳本中可以使用該節點的屬性和方法,也可以使用其子節點的一些屬性和方法。

GDScript

Godot 主要的開發語言有自帶的 GDScript(一種類似Python的腳本語言) 或者 .NET C# ,另外 Godot 本身是基于 C++ 開發的,所以也可以用 C/C++ 開發(借助 GDExtension )。當然沒特殊需求的話官方的 GDScript 用起來也是很方便的。

官方提供了 GDScript 入門教程,這個教程也是用 Godot 開發的,可以在線學習:
https://gdquest.github.io/learn-gdscript/

如果網絡不好的話也可以下載本地版本進行學習:
https://github.com/GDQuest/learn-gdscript

Godot 內置的文檔比較方便,寫腳本的時候按住 Ctrl 單擊函數等會自動跳轉文檔。除了寫腳本時的文檔,在軟件中按 F1 可以打開全局文檔搜索,節點右擊也可以選擇打開相關文檔。

如果寫腳本覺得這個自帶的不行話也可以用VSCode等外部編輯器來寫,具體可以參考官方文檔:
https://docs.godotengine.org/en/stable/tutorials/editor/external_editor.html

導出成品

Godot 導出成品游戲最簡單的方式使用 Export templates ,這個可以在官網下載。導出時可以配置圖標、軟件信息、資源加密等內容。可以導出主要的桌面和移動平臺,也可以導出到網頁端:
在這里插入圖片描述

具體導出配置因平臺而異有所差別,有些還會依賴額外的工具,具體內容可以參考官方文檔:
https://docs.godotengine.org/en/stable/tutorials/export/index.html

創建非游戲應用

Godot 也可以僅僅用來制作圖形化軟件,還有一些官方支持基于它開發的熱門軟件:
Pixelorama(像素藝術創作工具):https://github.com/Orama-Interactive/Pixelorama
Material Maker(材質制作工具):https://github.com/RodZill4/material-maker

作為普通的應用程序來說,不需要像游戲一樣保持高刷新率,可以啟用 low_processor_mode 模式來減少CPU和GPU的占用,只在必要時重繪界面,降低功耗:
在這里插入圖片描述

后記

關于 Godot 入門相關的記錄主要就是上面一些內容。這個引擎本身使用起來還是比較簡單的,不過正式用來開發游戲或者應用程序的話只是會引擎和語言等還是不夠的,需要有更多系統性的知識,以及一些練習。關于具體的開發應用,官方也提供了很多Demo和資源等:
https://github.com/godotengine/godot-demo-projects
https://godotengine.org/asset-library/asset

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/78884.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/78884.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/78884.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

[C語言]猜數字游戲

文章目錄 一、游戲思路揭秘二、隨機數生成大法1、初探隨機數:rand函數的魔力2、隨機數種子:時間的魔法3、抓住時間的精髓:time函數 三、完善程序四、游戲成果1、游戲效果2、源代碼 一、游戲思路揭秘 猜數字游戲,這個聽起來就讓人…

LeetCode392_判斷子序列

LeetCode392_判斷子序列 標簽:#雙指針 #字符串 #動態規劃Ⅰ. 題目Ⅱ. 示例 0. 個人方法官方題解一:雙指針官方題解二:動態規劃 標簽:#雙指針 #字符串 #動態規劃 Ⅰ. 題目 給定字符串 s 和 t ,判斷 s 是否為 t 的子序…

Python匿名函數與內置函數較難與較冷門知識點考前速記

5 lambda匿名函數與Python內置函數 lambda 函數通常用于編寫簡單的、單行的函數,通常在需要函數作為參數傳遞的情況下使用,例如在 map()、filter()、sorted()、list.sort() 等函數與方法中。 lambda語法格式: lambda arguments: expression lambda是 Python 的關鍵字,用…

DeepSeek談《鳳凰項目 一個IT運維的傳奇故事》

《鳳凰項目:一個IT運維的傳奇故事》(The Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win)是Gene Kim、Kevin Behr和George Spafford合著的一部小說,通過虛構的故事生動展現了IT運維中的核心挑戰和Dev…

【上海大學數據庫原理實驗報告】MySQL基礎操作

實驗目的 熟悉MySQL基礎操作。 實驗內容 創建四張工程項目的關系表。 圖 1 四張工程項目關系表的結構 檢索供應零件編號為J1的工程的供應商編號SNO。檢索供應零件給工程J1,且零件編號為P1的供應商編號SNO。查詢沒有正余額的工程編號、名稱及城市,結果…

winget使用

Get-Command winget winget search qq winget install Tencent.QQ.NT

邏輯回歸在信用卡欺詐檢測中的實戰應用

在大數據和機器學習蓬勃發展的時代,信用卡欺詐檢測成為了保障金融安全的重要環節。邏輯回歸作為一種經典的機器學習算法,在這一領域發揮著關鍵作用。本文將通過一段完整的Python代碼,詳細解析邏輯回歸在信用卡欺詐檢測中的具體應用過程&#…

矯平機:金屬板材精密加工的“整形專家”

一、矯平機的定義與核心功能 矯平機(Leveling Machine)是金屬加工領域的關鍵設備,主要用于消除金屬板材或帶材在軋制、運輸過程中產生的內應力,矯正其彎曲、扭曲、波浪邊等形變缺陷,使材料達到毫米級甚至微米級的平整…

百度「心響」:通用超級智能體,重新定義AI任務執行新范式

在AI技術從“對話交互”邁向“任務執行”的轉折點,百度于2025年4月正式推出移動端超級智能體應用——心響。這款以“AI任務完成引擎”為核心的創新產品,被譽為“AI指揮官”,通過自然語言交互實現復雜任務的全流程托管,覆蓋知識解析…

游戲性能測試

1. 分階段,看目的,確定高中低三檔測試機,最低檔機的確定需要和客戶端主程和制作人等共同確定 確定三檔機的方式: 1. 要上線地區的top100,根據用戶占比,劃分出三檔 2. 根據用研部門提供的數據,確…

react-10樣式模塊化(./index.module.css, <div className={welcome.title}>Welcome</div>)

1.react樣式模塊化 避免各個組件類名相同 相關樣式沖突所以需要樣式模塊化。比如在組件Hello中的樣式引入,將樣式文件名更改為index.module.css如下圖。 2. 文件中引入模塊以及使用 文件中import引入模塊樣式 import welcome from "./index.module.css"…

4月30日星期三今日早報簡報微語報早讀

4月30日星期三,農歷四月初三,早報#微語早讀。 1、神舟十九號載人飛船因東風著陸場氣象原因推遲返回; 2、林毅夫:到2049年中國經濟體量有望達到美國的兩倍; 3、市場監管總局:2024年查辦商標、專利等領域違…

小剛說C語言刷題—1462小明的游泳時間

1.題目描述 倫敦奧運會要到了,小明在拼命練習游泳準備參加游泳比賽。 這一天,小明給自己的游泳時間做了精確的計時(本題中的計時都按 24 小時制計算),它發現自己從 a 時 b 分一直游泳到當天的 c 時 d 分。 請你幫小…

SpringBoot+EasyExcel+Mybatis+H2實現導入

文章目錄 SpringBootEasyExcelMybatisH2實現導入1.準備工作1.1 依賴管理1.2 配置信息properties1.3 H2數據庫1.4 Spring Boot 基礎概念1.5 Mybatis核心概念 1.6 EasyExcel核心概念 2.生成Excel數據工具類-隨機字符串編寫生成Excel的java文件 3.導入功能并且存入數據庫3.1 返回結…

嵌入式開發高頻面試題全解析:從基礎編程到內存操作核心知識點實戰

一、數組操作:3x3 數組的對角和、偶數和、奇數和 題目 求 3x3 數組的對角元素和、偶數元素和、奇數元素和。 知識點 數組遍歷:通過雙重循環訪問數組的每個元素,外層循環控制行,內層循環控制列。對角元素判斷: 主對…

分布式優化與一致性算法python實現

目錄 摘要一、分布式優化問題描述二、一致性算法基礎2.1 平均一致性(Average Consensus)2.2 Gossip 協議三、分布式梯度下降(DGD)四、分布式 ADMM 與共識優化五、收斂性與參數選擇六、典型案例6.1 傳感器網絡參數估計6.1.1 問題描述6.1.2 算法設計6.1.3 實驗結果6.2 分布式…

突破SQL注入字符轉義的實戰指南:繞過技巧與防御策略

在滲透測試中,SQL注入始終是Web安全的重點攻擊手段。然而,當開發者對用戶輸入的特殊字符(如單引號、反斜杠)進行轉義時,傳統的注入方式往往會失效。本文將深入探討如何繞過字符轉義限制,并給出防御建議。 目…

算法導論第6章思考題

6.3-2 func(A) 1 A.heap-sizeA.len 2 \quad for i ? A . l e n 2 ? \lfloor {A.len\over2}\rfloor ?2A.len?? downto 1 3 \qquad MAX-HEAPIFY(A,i) 對于第2行的循環控制變量i來說,為啥要求它是從 ? A . l e n 2 ? \lfloor {A.len\over2}\rfloor ?2A.len??…

可商用,可離線運行,可API接口調用的開源AI數字人項目Heygem,喂飯級安裝教程

前言 Heygem 是一款開源項目,致力于發揮你電腦硬件的全部潛力,讓你無需依賴云端,也能在本地高效運行各類開源AI數字人模型。無論是 AI 語音對話、虛擬主播,還是數字人驅動引擎,Heygem 通過底層性能調度與資源管理優化&…

三個概念:DataBinding,Dependency Property 與DataTemplate

WPF 核心概念詳解:DataBinding、Dependency Property 和 DataTemplate 1. DataBinding (數據綁定) 基本概念 DataBinding 是 WPF 的核心機制,用于在 UI 元素和數據源之間建立自動同步關系。 關鍵特性 雙向綁定:數據變化自動反映到 UI&…