2D Meshes (2D网格)
简介
在3D中,网格用于显示世界.在2D中它们不常见, 因为图片使用得更频繁.Godot的2D部分是一个纯2D引擎,因此它不能直接显示3D网格(尽管它可以通过 Viewport(视窗)
和 ViewportTexture(视窗纹理)
来实现).
参见
如果你对在二维视区上显示三维网格感兴趣,请参见 使用视区作为纹理 教程.
二维网格是包含二维几何(Z轴可以省略或忽略)而不是三维几何的网格.你可以尝试使用代码中的 SurfaceTool(表面工具)
创建它们,并在 MeshInstance2D(二维网格实例)
节点中显示它们.
目前,在编辑器中生成二维网格的唯一方法,是导入一个OBJ文件作为网格,或者从Sprite转换而来.
优化绘制的像素
在某些情况下,这个工作流程对于优化二维绘图比较有用.当绘制具有透明度的大型图像时,Godot将把整个四方形(quad)绘制到屏幕上.大片的透明区域还是会被绘制.
如果绘制非常大的图像时(大概屏幕大小),或者将多个有大透明区域的图像叠加在一起(例如使用”视差背景”时), 这会影响性能,尤其是在移动设备上.
转换成网格能确保只绘制不透明部分,其余部分被忽略.
将Sprite转换为2D Meshes (2D网格)
你可以通过把 Sprite
转换为 MeshInstance2D
的方法来利用这种优化.从边缘有大量透明的图片开始,就像这棵树:
把它放到一个 Sprite
中, 从菜单选择”转换为2D网格”:
会出现一个对话框,显示将要创建的二维网格预览:
很多情况下,默认值已经足够好,但是你可以根据需要改变growth(增长)和simplication(简化):
最后,按下 Convert 2D Mesh
按钮,你的Sprite将被替换: