- 博客(5)
- 收藏
- 关注
原创 unity UGUI源码分析(4)Text与TextMeshPro
这一篇博客用于分析Text的内容的更新机制,并分析text mesh pro。首先我们分析Text的文字是如何渲染出来的。PupulateWithErrors方法会根据字符串生成顶点数据。其实Text会根据所给定的字符串生成相关的图集,然后对图集进行采样就可以渲染出文字了。由于TextGenerator没有开源,我们从unity UI优化文档上可以找到相关步骤。protected override void OnPopulateMesh(VertexHelper toFill){.
2022-04-30 17:41:31
6576
1
原创 untiy UGUI源码分析(3)Text
直接分析Graphic源码不太直观 ,我们从顶层分析Text控件的运作机制这样可以知道Graphic的运作机制了,首先Text继承关系如下public class Text : MaskableGraphic, ILayoutElementpublic abstract class MaskableGraphic : Graphic, IClippable, IMaskable, IMaterialModifier我们需要分析Text控件何时会刷新,可以肯定地是Graphic使用了脏标记..
2022-04-29 00:44:16
484
原创 unity UGUI源码分析(2)射线检测
在EventSystem中提到使用射线检测对当前鼠标停放位置的UI进行检测,那么射线检测具体是怎么做的呢?我们继续看源码,在第一篇关于EventSystem的文章中讲过StandaloneInputModule 中通过GetMousePointerEventData方法确定当前选择的GameObject,而在GetMousePointerEventData通过射线检测确定选择的GameObject。protected virtual MouseState GetMousePointerEventDat
2022-04-26 15:37:31
1136
原创 untiy UGUI源码分析(2)射线检测
在EventSystem中提到使用射线检测对当前鼠标停放位置的UI进行检测,那么射线检测具体是怎么做的呢?我们继续看源码,在第一篇关于EventSystem的文章中讲过StandaloneInputModule 中通过GetMousePointerEventData方法确定当前选择的GameObject,而在GetMousePointerEventData通过射线检测确定选择的GameObject。protected virtual MouseState GetMousePointerEventD
2022-04-26 15:30:17
630
原创 unity UGUI 源码分析(1) EventSystem
顶层上来看EventSystem继承于UIBehaviour,UIBehaviour继承于Monobehavior所有包含了Update等方法。Update方法首先更新输入模块状态,然后选定当前可用的输入模块,最后调用输入模块的Process方法。protected virtual void Update(){ if (current != this) return; TickModules();//该方法用于更新输入模块的状态,例如鼠标的位置 bool ch
2022-04-25 17:45:10
307
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人