obsidian/笔记文件/2.笔记/OnPopulateMesh.md
2025-03-26 00:02:56 +08:00

1.1 KiB
Raw Permalink Blame History

#unity/日常积累

UGUI底层绘制规则

接下去,我比较好奇的是,OnPopulateMesh到底是什么时候进行调用的因为我们都知道在UI当中消耗比较大的用于都是UI的重建操作如果我们能够搞明白UI重建规律的话那我们应该可以大大避免UI重建的情况。

Graphic当汇总的DoMeshGeneration调用了OnPopulateMesh

!Pasted image 20240326141708.png

我们可以看到当RectTransform的尺寸为0的时候就不再调用OnPopulateMesh了与以前总结出来的优化方案相同。

UGUI中与显示相关的控件例如Image、Text、RawImage等都继承自MaskableGraphic类MaskableGraphic类继承自Graphic类

!Pasted image 20240329173226.png

控件在画面中的形状、颜色、法线等信息都是由Graphics类中的OnPopulateMesh函数所控制
每当改变了顶点或者纹理后会调用OnPopulateMesh函数
其中VertexHelper的vh是一个顶点辅助类保存着生成Mesh的基本信息

!Pasted image 20240329173238.png