Work in progress
The content of this page was not yet updated for Godot
4.4
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 网格(尽管它可以通过 Viewport
和 ViewportTexture
来实现)。
参见
如果你对在二维视口上显示三维网格感兴趣,请参见 使用 SubViewport 作为纹理 教程。
2D 网格是包含二维几何(Z 轴可以省略或忽略)而不是三维几何的网格。你可以尝试使用代码中的 SurfaceTool
创建它们,并在 MeshInstance2D
节点中显示它们。
目前,在编辑器中生成 2D 网格的唯一方法是导入 OBJ 文件作为网格,或者从 Sprite2D 转换而来。
优化绘制的像素
该工作流程在某些情况下可用于优化 2D 绘制。绘制具有透明度的大型图像时,Godot 会将整个四边形绘制到屏幕上。大型透明区域仍将被绘制。
如果绘制非常大的图像时(大概屏幕大小),或者将多个有大透明区域的图像叠加在一起(例如使用 ParallaxBackground
时),这会影响性能,尤其是在移动设备上。
转换成网格能确保只绘制不透明部分,其余部分被忽略。
将 Sprite2D 转换为 2D 网格
你可以通过把 Sprite2D
转换为 MeshInstance2D
的方法来利用这种优化。从边缘有大量透明的图片开始,就像这棵树:

把它放到一个 Sprite2D
中,从菜单选择“转换为 2D 网格”:

会出现一个对话框,显示将要创建的二维网格预览:

默认值对于许多情况来说已经足够好了,但你可以根据需要更改扩展和简化:

最后,按下 转换 2D 网格
按钮,你的 Sprite2D 将被替换:
