- 博客(5)
- 收藏
- 关注
原创 UGUI源码(五)VertexHelper
UGUI源码(五)VertexHelperVertexHelper.csVertexHelper.csUGUI提供了我们自己构建顶点、三角形的类,那就是VertexHelper类。通过这个类,我们可以创建顶点,构成三角形,填充到一张mesh上,然后用MeshRenderer渲染到屏幕上,实际上我们可以直接操作Mesh类添加顶点、三角形等操作,这里的vertexHelper只是UGUI与Mesh之间的一座桥梁。之前的文章中UGUI源码(二)Graphic,在OnPopulateMesh()函数中使用,保
2020-09-30 17:30:51
319
原创 UGUI源码(四)Text
UGUI源码(四)TextText.csShadow 与 OutlineShadow.csOutline.csOutline组件慎用,使用shader实现Text.cs//部分源码public class Text : MaskableGraphic, ILayoutElement{ //Text 组件在 Inspector 面板上显示的属性 [SerializeField] private FontData m_FontData = FontData.defaultFontData;
2020-09-30 15:44:34
319
原创 UGUI源码(三)Image
UGUI源码(三)ImageImage.csImage使用图集实现动态合批,减少DrawCall原理Image.cs//部分源码public class Image : MaskableGraphic, ISerializationCallbackReceiver, ILayoutElement, ICanvasRaycastFilter{ //更新网格(核心函数) protected override void OnPopulateMesh(VertexHelper toFill) {
2020-09-30 15:44:25
210
原创 UGUI源码(二)Graphic
UGUI源码(二)GraphicGraphic.csGraphic.cs//部分源码public abstract class Graphic : UIBehaviour, ICanvasElement{ //布局发生变化时调用(RectTransform的层级、尺寸、位置等等) //注册到 CanvasUpdateRegistry 中的 m_LayoutRebuildQueue队列中,等待重建布局 public virtual void SetLayoutDirty() {
2020-09-30 15:44:13
254
原创 UGUI源码(一)Canvas
UGUI源码解读 --- Canvas.csCanvas.csCanvasUpdateRegistry.csCanvas.cs//部分源码public sealed class Canvas : Behaviour{ public delegate void WillRenderCanvases(); //公有事件,在CanvasUpdateRegistry.cs的构造函数里,为willRenderCanvases事件添加了一个监听PerformUpdate。(后面贴了源码) //在渲染(
2020-09-30 15:44:04
583
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人