Work in progress

The content of this page was not yet updated for Godot 4.2 and may be outdated. If you know how to improve this page or you can confirm that it's up to date, feel free to open a pull request.

2D 網格

前言

在 3D 中,網格用於顯示世界。在 2D 中它們不常見,因為圖片使用得更頻繁。Godot 的 2D 部分是一個純 2D 引擎,因此它不能直接顯示 3D 網格(儘管它可以通過 ViewportViewportTexture 來實作)。

也參考

如果你對在二維視口上顯示三維網格感興趣, 請參見 使用 Viewport 作為紋理 教學.

2D 網格是包含二維幾何(Z 軸可以省略或忽略)而不是三維幾何的網格。你可以嘗試使用程式碼中的 SurfaceTool 建立它們,並在 MeshInstance2D 節點中顯示它們。

目前, 在編輯器中生成二維網格的唯一方法, 是匯入一個OBJ檔作為網格, 或者從Sprite轉換而來.

優化繪製的像素

在某些情況下, 這個工作流程對於優化二維繪圖比較有用. 當繪製具有透明度的大型圖像時,Godot將把整個四方形(quad)繪製到螢幕上. 大片的透明區域還是會被繪製.

如果繪製非常大的圖像時(大概螢幕大小),或者將多個有大透明區域的圖像疊加在一起(例如使用 ParallaxBackground 時),這會影響性能,尤其是在移動裝置上。

轉換成網格能確保只繪製不透明部分, 其餘部分被忽略.

建立 Godot 伺服器

你可以通過把 Sprite2D 轉換為 MeshInstance2D 的方法來利用這種優化。從邊緣有大量透明的圖片開始,就像這棵樹:

../../_images/mesh2d1.png

把它放到一個 Sprite2D 中,從功能表選擇“轉換為 2D 網格”:

../../_images/mesh2d2.png

會出現一個對話方塊, 顯示將要建立的二維網格預覽:

../../_images/mesh2d3.png

很多情況下, 預設值已經足夠好, 但是你可以根據需要改變growth(增長)和simplication(簡化):

../../_images/mesh2d4.png

最後,按下 轉換 2D 網格 按鈕,你的 Sprite2D 將被替換:

../../_images/mesh2d5.png