Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

2D 簡介

Godot 的 2D 遊戲開發工具包含專用的 2D 繪圖引擎、物理系統,以及專為 2D 遊戲打造的功能。你可以用 TileMap 系統高效設計關卡,利用 2D Sprite 或剪紙動畫 (Cutout animation) 來製作角色動畫,並善用 2D 光源營造動態場景光影。內建的 2D 粒子系統可以做出複雜的視覺特效,Godot 也支援自訂著色器來強化畫面。這些特色,加上 Godot 易用且彈性的設計,讓你能夠輕鬆打造吸引人的 2D 遊戲。

../../_images/2d_platformer_demo.webp

2D 平台遊戲範例可於 Asset Library 資源庫下載。

本頁將介紹 2D 編輯工作區以及如何快速上手。

小訣竅

若你想了解 3D 開發,請參考 3D 簡介

2D 工作區

你會在 2D 工作區中編輯 2D 場景、設計關卡,或建立使用者介面。要切換到 2D 工作區,你可以在場景樹中點選 2D 節點,或是使用編輯器頂端的工作區切換器:

../../_images/2d_editor_viewport.webp

和 3D 工作區一樣,你可以利用工作區選擇器下方的分頁快速切換已開啟的場景,或用加號 (+) 建立新場景。左右兩側的 dock 面板和 editor introduction 介紹的介面一致。

場景分頁下方是主工具列,再下方就是 2D 檢視區。

你可以從檔案系統(FileSystem)面板拖曳相容的節點到檢視區來新增節點。拖曳時,節點會預設加在目前選取節點的同一層級(若選到根節點則會變成子節點)。拖曳時按住 Shift,會將節點加為目前選取節點的子節點。拖曳時按住 Alt,則會將節點加到根節點底下。如果拖曳時同時按住 Alt + Shift,如有需要則可選擇要加入的節點類型。

主工具列

主工具列上有些按鈕和 3D 工作區相同。將滑鼠游標停在按鈕上一秒會顯示簡短說明與快捷鍵。有些按鈕搭配其他按鍵還有額外功能。以下依序簡述每個主要按鈕的功能及其預設快捷鍵:

../../_images/2d_toolbar.webp
  • 選取模式Q ):可在檢視區中選擇節點。在檢視區左鍵點擊節點即可選取,左鍵拖曳可框選矩形內的所有節點。選取時按住 Shift 可加入選取,對已選取節點按住 Shift 再點一次則取消選取。此模式下可以拖曳已選節點移動,按住 Ctrl 可暫時切換到旋轉模式,或用紅色圓點縮放。若多個節點同時選取,只能移動和旋轉。此模式下,旋轉和縮放不會套用格線吸附設定。

  • 移動模式W):啟用被選節點的移動(平移)模式。詳情請見 2D 檢視區

  • 旋轉模式E):啟用被選節點的旋轉模式。詳情請見 2D 檢視區

  • 縮放模式S):啟用縮放,並於被選節點顯示雙軸縮放控制點。詳情請見 2D 檢視區

  • 顯示點擊處可選節點列表:如說明所述,若點擊位置有多個節點,會以右鍵選單方式顯示可選節點清單。

  • 旋轉樞紐 :設定節點(群)旋轉時的樞紐點。新加入的節點預設樞紐在 x: 0y: 0,但也有例外。例如 Sprite2D 若將 centered 屬性設為 true,其預設樞紐為貼圖中心。若要變更節點的旋轉樞紐,點擊此按鈕後以左鍵選擇新位置。節點將以此點為基準旋轉。當多選節點時,此圖示會加入一個暫時樞紐,供所有被選節點共用。按住 Shift 並點擊此按鈕,會在所選節點的幾何中心建立樞紐。若啟用任一吸附選項,拖曳樞紐時也會吸附到對應目標。

  • 平移檢視模式G):可在檢視區中自由移動畫面,不會誤選節點。在其他模式下,也能按住 Space 再左鍵拖曳來平移檢視區。

  • 尺規模式:啟用後,點選檢視區會顯示目前座標(全域 x, y)。從一處拖曳到另一處可量測距離(像素)。若斜向拖曳,會畫出三角形並顯示 x、y 及總距離,還會標示與軸的夾角(度數)。可用 R 快捷鍵快速開啟尺規。若啟用吸附,還會顯示格線數量的量測結果:

../../_images/2d_ruler_with_snap.webp

啟用吸附時使用尺規的畫面。

  • 啟用智慧吸附:切換是否在移動、旋轉、縮放與旋轉中心時使用智慧吸附。可用吸附工具旁的三點選單自訂細節。

  • 啟用格線吸附:切換是否在移動、縮放、旋轉中心和尺規時套用格線吸附。可用吸附工具旁的三點選單自訂細節。

你可以自訂格線設定,讓移動、旋轉、縮放、尺規與旋轉中心都能套用吸附。請使用三點選單進行設定:

../../_images/2d_snapping_options_menu.webp
  • 啟用旋轉吸附:根據所設角度吸附旋轉。

  • 啟用縮放吸附:根據所設比例吸附縮放。

  • 相對吸附:切換是否以目前節點的座標為基準進行吸附。例如格線設為 32x32 像素,節點位於 x: 1, y: 1 時,啟用此選項會將格線臨時偏移 x: 1, y: 1

  • 啟用像素吸附:切換是否吸附到整數像素。啟用時位置會強制以整數顯示,關閉則可進行小數點(子像素)移動。執行時,也可在 專案設定 > Rendering > 2D > Snapping 控制 Node2D 的吸附,或在 專案設定 > GUI > General > Snap Controls to Pixels 控制 UI 元件吸附。

  • 智慧吸附:提供一系列吸附選項,可自訂要吸附的位置:

    • 吸附到父節點:吸附到父節點邊界。例如縮放子 Control 節點時,會吸附到父節點的邊緣。

    • 吸附到節點錨點:吸附到節點的 Anchor 位置。例如 Control 節點錨點設於不同角落時,啟用此功能會吸附到 Anchor 的邊和角。

    • 吸附到節點邊緣:吸附到節點的邊界(例如旋轉中心或 Anchor 位置時)。

    • 吸附到節點中心:吸附到節點中心點(例如旋轉中心或 Anchor 位置時)。

    • 吸附到其他節點:移動或縮放時吸附到其他節點,方便在編輯器內對齊。

    • 吸附到輔助線:吸附到自訂(用尺規畫出的)水平或垂直輔助線。

../../_images/2d_snapping_options.webp
  • 吸附設定:開啟上圖所示視窗,調整各種吸附參數。

    • 格線偏移:設定格線相對原點的偏移量。x、y 可分別調整。

    • 格線間距:每格像素數,可分別設定 x、y。

    • 主線間隔:每幾格畫一次主線(加粗的格線)。

    • 旋轉偏移:設定旋轉吸附的角度起始偏移。

    • 旋轉步階:設定旋轉吸附的角度間隔。例如設為 15,啟用旋轉吸附時會每 15 度吸附一次。

    • 縮放步階:設定縮放吸附的比例間隔。例如設為 0.1,啟用縮放吸附時每次會以 0.1 為單位縮放。

  • 鎖定選取節點Ctrl + L):鎖定目前選取的節點,使其無法在檢視區內被選取或移動。再次點擊此按鈕(或用 Ctrl + Shift + L)可解除鎖定。被鎖定的節點只能在場景樹中選取,場景樹節點名稱旁會出現鎖頭圖示,點擊鎖頭也可解鎖。

  • 群組選取節點Ctrl + G):將選取的節點群組化,方便同時操作。再次用 Ctrl + G 或在場景樹點擊解除群組按鈕即可解散。

  • 骨架選項:提供 Skeleton2D 和 Bone2D 的相關工具。

    • 顯示骨骼:切換是否顯示目前選取節點的骨骼。

    • 將節點轉換為 Bone2D:把目前選取的節點轉為 Bone2D。

也參考

想了解更多骨架功能,請參考 剪紙動畫

  • 檢視 選單:提供控制檢視區顯示的選項。因相關設定多與檢視區功能有關,詳見 2D 檢視區

檢視選單旁可能會出現額外的按鈕。例如本章開頭的工具列圖示就多出一個 Sprite2D 按鈕,因為目前選取了 Sprite2D 節點。這些按鈕提供針對特定節點或多選節點的快速操作。例如繪製多邊形時會出現新增、修改或刪除頂點的工具。

座標系

2D 編輯器和 3D 不同,只有 xy 兩個軸,且視角是固定的。

檢視區中會有兩條無限延伸的線:紅色代表 x 軸,綠色代表 y 軸。在 Godot 中,向右與向下是正方向。兩條線的交點就是原點(x: 0, y: 0)。

新增根節點時預設原點就在此處。選節點後切換到移動或縮放模式,會顯示控制點(gizmo)於節點的位置偏移上,且控制點指向 x、y 軸的正向。移動模式下,拖曳綠線只會沿 y 軸移動,拖曳紅線則只會沿 x 軸移動。

縮放模式下,控制點為方形。拖曳綠色方塊可沿 y 軸縮放,紅色方塊則沿 x 軸縮放。若往負方向拖曳則會水平或垂直鏡像節點。

2D 檢視區

如果你打算用視覺化方式設計關卡或 UI,檢視區將是你最常用的區域:

../../_images/2d_editor_viewport_with_viewmenu.webp

在檢視區中按中鍵拖曳可平移畫面,也可以用右側和下方的捲軸移動畫面,或按 GSpace 鍵來平移。若在 編輯器設定 > Editors > Panning > Simple Panning 啟用簡易平移,只需按住 Space 即可直接平移。

檢視區左上角有一些控制按鈕:置中檢視 會將選取的節點置中顯示,適合在大型場景中快速找到選取節點。旁邊是縮放控制,- 為縮小,+ 為放大,點選百分比數字則回復為 100%。也可用滑鼠中鍵滾輪上下滾動來放大縮小。

檢視區左側與上方的黑色條是**尺規**,用來協助定位。預設以每 100 像素標示座標。調整縮放倍率會同步變更尺規顯示,啟用格線吸附或調整吸附設定也會自動更新尺規刻度。

你也可以建立多條自訂輔助線,輔助量測或對齊節點:

../../_images/2d_editor_guidelines.webp

場景中有至少一個節點時,可以從水平或垂直尺規拖曳到檢視區建立輔助線。會出現紫色線條並顯示座標,放開滑鼠後輔助線會保留。從尺規交會處的灰色方塊拖曳可同時建立水平與垂直輔助線。輔助線可拖動回尺規重新定位,也可以拖曳回尺規移除。

也可透過「智慧吸附」選單啟用對輔助線的吸附。

備註

若無法建立輔助線,或看不到已建立的輔助線,請到檢視區的「檢視」選單確認已啟用輔助線顯示,預設可用 Y 快捷鍵切換。此外,請確認場景裡至少有一個節點。

根據工具列選擇的模式,檢視區左鍵點擊會執行主要動作。例如「選取模式」下左鍵會選取被點選的節點。有些情況下左鍵可搭配輔助鍵(如 CtrlShift)執行次要操作。例如在選取或移動模式下,按住 Shift 拖曳節點會限制移動時只沿單一軸吸附。

在檢視區按右鍵可以選擇在該處建立新節點或實例化場景。若當前有節點被選取,右鍵也會提供將選取節點移到指定位置的選項。

檢視區有個 檢視 選單,提供多種顯示設定:

  • 格線:設定格線是否永久顯示、僅吸附時顯示,或完全不顯示。

  • 顯示輔助線條:切換暫時顯示節點外框及上一次變形(位置、縮放、旋轉)參考線。對 Control 節點也會顯示尺寸參數,方便比對變動量。

  • 顯示尺規:切換水平與垂直尺規的顯示。更多尺規用法見 2D 檢視區

  • 顯示輔助線:切換已建立輔助線的顯示。如何建立可見 2D 檢視區

  • 顯示原點:切換是否顯示 x: 0, y: 0 的綠紅軸線。

  • 顯示遊戲檢視區:切換是否顯示遊戲預設檢視區(靛藍色長方形)。這也是桌面版的預設視窗大小,可於 專案設定 > Display > Window > Size 設定寬高。

  • 控制點(Gizmos):切換「位置」(十字標記)、「鎖定」(鎖頭)、「群組」(雙方格)、「變形」(紅綠線)等輔助圖示的顯示。

  • 置中選取:等同於檢視區內的「置中檢視」按鈕,將選取節點置中於畫面,預設快捷鍵為 F

  • 縮放置中:類似「置中選取」,但會自動調整縮放倍率以適合畫面內容,預設快捷鍵為 Shift + F

  • 清除輔助線:將所有輔助線一次移除,之後如需使用必須重新建立。

  • 預覽畫布縮放:在檢視區縮放或切換檢視時,預覽畫布縮放效果。可在不執行遊戲時預覽 UI 控制項縮放、移動後的樣貌。

  • 預覽主題:可切換不同主題來預覽 UI 控制項外觀,無須執行遊戲即可查看。

Node2D 與 Control 節點

CanvasItem 是所有 2D 節點的基底類別。Node2D 是 2D 遊戲物件的基礎節點,Control 則是所有 GUI(介面)物件的基礎節點。3D 內容則使用 Node3D 作為基礎節點。

Displaying 3D nodes in 2D

It is possible to display 3D nodes in a 2D scene by using a SubViewport. You can see this in the demo 3D in 2D Viewport.

../../_images/3d_in_2d_demo_editor.webp