1.前言
unity的文本渲染通过Text组件实现,文字的渲染也离不开贴图、mesh以及材质。材质则是根据MaskableGraphic材质,所以了解Text的主线则是了解如何生成贴图和mesh即可。本文不会去讨论文字贴图和mesh产生的技术细节,只讨论如何利用unity现有的组件去获取贴图和mesh。
2.逻辑梳理
基本逻辑如下:
1)当需要更新时(比如更新文字大小时)标记更新材质和mesh
2)Canvas处于preRender时通过Font类获取贴图。
3)Canvas处于preRender时通过TextGenerator获取Mesh信息
3.贴图获取
贴图获取是通过字体获取,即(font.material.mainTexture)如下所示:
public override Texture mainTexture
{
get
{
if