自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

vin129的博客

嗨,我是作者Vin129,逐儿时之梦正在游戏制作的技术海洋中漂泊。知道的越多,不知道的也越多。希望我的文章对你有所帮助:)

  • 博客(52)
  • 资源 (1)
  • 收藏
  • 关注

原创 Unity UGUI 源码分析系列(完结)

阅前提示该系列注重分析UGUI源码,来深入了解UGUI每个模块每个组件的实现原理,使我们对UGUI使用和拓展上更加得心应手。适合人群:UGUI使用者,All阅读方式:文章文章目录阅前提示BaseUIBehaviourEventSystemBaseUIBehaviourBaseClass: MonoBehaviourInterface: 无Intro: UGUI组件的基础类,为UG...

2020-04-19 18:05:03 17396 4

原创 C#知多少,满满的知识点助你全面进阶

阅前提示本篇文章主旨在于 总结在使用C#过程中一些模糊的概念或者使用技巧适合人群:对C# 有一定使用基础的人阅读方式:浏览,是否已知C#Skills1.可空修饰符 ?// int i = null; 因为值类型不可以被赋值成Nullint? i = null;有关可空值类型的存储问题Nullablestruct Nullable<T>{ bool h...

2020-03-31 17:52:04 3505 4

原创 Shader边缘检测的几种实现(卷积、深度、法线)

阅前提示记录了实现描边效果的几种方法。适合人群:All阅读方式:工具文章参考资料:https://blog.csdn.net/puppet_master/article/details/83759180https://www.bilibili.com/video/BV1ia4y177GJ文章目录阅前提示边缘检测思路卷积深度法线边缘检测思路如何确认一张图片中哪些像素代表是边? 这是实现描边效果的关键。这是一张2D图片,那如何来定义什么是边呢?我们可以发现:边缘可以被突出出来是因为它与

2021-02-21 14:57:06 3256 3

原创 框架笔记:记录XLua的简单接入

阅前提示本系列为作者在学习框架与编写框架时的心得与笔记适合人群:All阅读方式:工具文章本系列会不断更新,如果对你有所帮助,点赞收藏吧:)文章目录阅前提示XLua接入XLua配置XLuaXLua大家应该不会陌生,它是如今Unity手游端使用的最为频繁的更新框架之一了。在这里作者并不像花很大的篇幅去介绍它了,有想了解的小伙伴可以通过下面的链接自行了解学习。本篇文章主要还是记录作者在自己的框架中是如何接入XLua的。GitHub:XLuaXLua在Unity中的用法摘要接入XLua

2021-01-01 15:53:27 2366 3

原创 AddressableAsset源码学习:组成与工作原理

阅前提示该系列为Unity AddressableAssetSystem 学习笔记,记录源码阅读的理解。适合人群:All阅读方式:浏览如描述有误请指教,如果对你有所帮助,点赞收藏吧:)文章目录阅前提示简介组成生命周期资源加载的本质工作流程官方文档简介Addressable Asset system 是Unity推出的新的资产管理加载打包的插件。它主打的特点在于:便捷相较于传统的资产加载方式(Resources/AssetBundle),AddressableAssest拥有了完备的可

2020-10-24 14:25:15 2183

原创 温故知新:数据结构的分水树(岭)- 下篇

阅前提示该系列为数据结构回顾向文章,重点在于温故知新。适合人群:All阅读方式:浏览回顾本系列在不断更新中,如果对你有所帮助,点赞收藏吧:)文章目录阅前提示红黑树伸展树SplayTreeB树红黑树自平衡二叉搜索树​ 节点是红色或黑色​ 根节点是黑色​ 红色节点下的字节的为黑色(反之)​ 从任一节点到其每个叶子的所有路径都包含相同数目的黑色节点。优点:不追求完全平衡,在插入删除上性能优于AVL树。,缺点:查询性能略逊色AVL树伸展树SplayTree平衡二叉搜索树考虑到

2020-10-05 16:05:19 220

原创 温故知新:数据结构的分水树(岭)- 中篇

阅前提示该系列为数据结构回顾向文章,重点在于温故知新。适合人群:All阅读方式:浏览回顾本系列在不断更新中,如果对你有所帮助,点赞收藏吧:)文章目录阅前提示AVL 树AVL 树平衡的二叉查找树,节点的左右子树高度差不超过1右旋:(左子树高于右子树,且是左-左型)顺时针旋转两个节点,使得父节点被自己的左孩子取代,左孩子的右子节点变成自己的左孩子,而自己成为自己的右孩子左旋:(右高于左,且是右-右型)逆时针旋转两个节点,使得父节点被自己的右孩子取代,右孩子的左子节点变成自己的右孩子,而自己

2020-10-04 15:01:04 249 1

原创 温故知新:数据结构的分水树(岭)- 上篇

阅前提示该系列为数据结构回顾向文章,重点在于温故知新。适合人群:All阅读方式:浏览回顾本系列在不断更新中,如果对你有所帮助,点赞收藏吧:)文章目录阅前提示树二叉树二叉查找树树节点由 FirstChild(第一个子节点) + NextSibling(从左至右,下一个兄弟节点)构成​ 先序遍历:处理子节点前先处理自身​ 后序遍历:先处理子节点,再处理自身class TreeNode: Value = None; FirstChild = None; # 第一个子节点

2020-10-04 14:44:26 285 1

原创 ToLua:逐行分析源码,搞清楚Wrap文件原理

阅前提示该篇文章主要结合tolua.c 源码,逐行逐句分析ToLua中Wrap文件的运作原理。适合人群:lua使用人群阅读方式:浏览扩展阅读:Lua C语言API文章目录阅前提示ToluaWrapBeginStaticLibsEndStaticLibsRegFunctionlua_pushcfunctionlua_pushcclosureTolua开门见山,Tolua懂的都懂,这里就不赘述了。有关Tolua介绍和使用的文章很多,例如:点击查看Wrap在Tolua生成的Wrap文件中,经

2020-06-19 23:19:25 2557 1

原创 Lua C语言API

阅前提示该篇文章主要介绍 Lua标准库中常见的API适合人群:lua使用人群阅读方式:浏览文章概述Lua是一种嵌入式和可扩展的语言,这也是Lua被运用的两种表现形式。嵌入式:把Lua作为库。以C语言为例,C语言为主体,拥有控制权,Lua语言被用作库,这种交互形式中的C代码被称为应用代码。可扩展:Lua语言拥有控制权。此时,C语言被当作库,这时候称C语言为代码库。Lua标准库中,头文件lua.h声明了Lua提供的基础函数,头文件lauxlib.h声明了辅助库所提供的函数。辅助库使用Lua

2020-06-16 22:46:35 820

原创 Unity生命周期方法执行顺序详解

阅前提示针对Unity2019的版本对生命周期进行详细的概述适合人群:Unity使用者阅读方式:浏览图例图为Unity2019.3官方示图详解Awake:当场景开始时(简单理解成游戏启动),若物体处于激活状态(active)会被立即执行,仅执行一次。OnEnable:接在Awake之后,且需要激活状态下,被执行,当物体每一次被激活时都会执行一次。Reset:编辑器模式下,当脚本第一次被挂载,或是执行Reset操作时会被执行。Start:早于所用的Update,在第一帧刷新开

2020-06-14 18:53:00 3748

原创 UGUI源码分析:系统总结UGUI的全部内容

序言嗨,我是Vin129,一名Unity客户端游戏开发者。UGUI应该算Unity客户端开发者们经常接触的东西了,所以该系列文章主旨在于加深对UGUI的了解,深入理解其组件实现原理,以便在日常使用中更加得心应手。其次,多读读源码也是一种成长:)本系列文章到此已经完结啦!历时一个半月的时间,花费了30+个小时,Markdown记录了17000+内容(有许多代码),这仅仅是自己使用的部分。发布文章,在润色整理并能很好的呈现出来重要的东西,反复推敲,我觉得这上面可能花费的时间要更多。不过分享文章这也是我的初

2020-05-29 21:28:56 3016 2

原创 UGUI源码分析:GridLayoutGroup网格布局组件与ContentSizeFitter尺寸调节组件

系列UGUI源码分析系列总览相关前置:UGUI CanvasUpdateSystem源码分析UGUI源码分析:LayoutSystem布局系统UGUI源码分析:LayoutGroup中的纵横布局组件文章目录系列UML图一览GridLayoutGroup属性介绍布局过程ContentSizeFitter属性介绍实现过程UML图一览GridLayoutGroupBaseClass: LayoutGroupInterface: 间接继承了ILayoutElement, ILayoutGr

2020-05-26 13:43:15 2729 2

原创 UGUI源码分析:LayoutGroup中的纵横布局组件(HorizontalOrVerticalLayoutGroup)

系列UGUI源码分析系列总览相关前置:UGUI CanvasUpdateSystem源码分析UGUI源码分析:LayoutSystem布局系统文章目录系列UML图一览LayoutGroup属性介绍布局过程UML图一览LayoutGroupBaseClass: UIBehaviourInterface: ILayoutElement, ILayoutGroupIntro:布局系统的实施组件的基类虽然UGUI组件中有一些组件都继承了ILayoutElement接口,但并不会涉及对

2020-05-23 21:18:04 4022

原创 UGUI源码分析:LayoutSystem布局系统

系列UGUI源码分析系列总览相关前置:UGUI CanvasUpdateSystem源码分析文章目录系列UML图一览LayoutSystemLayoutRebuilder标记重建布局组件UML图一览LayoutSystemRelated Class: LayoutRebuilder、LayoutGroup、Canvas、CanvasUpdateRegistry、Related Interface: ILayoutElement、ILayoutController、ILayoutIg

2020-05-20 22:07:52 4162

原创 UGUI源码分析:Slider滑动条组件

系列UGUI源码分析系列总览相关前置:UGUI EventSystem源码分析UGUI源码分析:Selectable交互组件的基类文章目录系列UML图一览Slider属性介绍初始化交互事件点击&拖拽移动SetUML图一览SliderBaseClass: SelectableInterface: IInitializePotentialDragHandler,IDragHandler,ICanvasElementIntro: UGUI中滑动条组件initializePo

2020-05-17 13:33:25 1715 1

原创 UGUI源码分析:InputField文本输入框组件

系列UGUI源码分析系列总览相关前置:UGUI EventSystem源码分析UGUI源码分析:Selectable交互组件的基类UGUI源码分析:Text与Outline的具体实现文章目录系列UML图一览InputField属性介绍初始化事件接口第一步:点击激活InputField第二步:输入文字第三步:结束编辑UML图一览InputFieldBaseClass: SelectableInterface: IUpdateSelectedHandler,IXXXDragHandl

2020-05-16 18:10:39 2204 1

原创 UGUI源码分析:Dropdown下拉列表的实现原理

系列UGUI源码分析系列总览相关前置:UGUI EventSystem源码分析UGUI源码分析:Selectable交互组件的基类UGUI源码分析:开关组件Toggle与ToggleGroup文章目录系列UML图一览Dropdown属性介绍初始化Show()选择交互UML图一览DropdownBaseClass: SelectableInterface:IPointerClickHandler,ISubmitHandler,ICancelHandlerIntro: UGUI中下

2020-05-14 09:24:16 1643 1

原创 教练我想学Python:(三)列表与切片,边学边刷LeetCode

系列前文:好的开始,就从找个对象开始吧序:对Python一无所知的作者竟然开了这个系列…学Python的第三天,Emmmm…我跳了,竟然在LeetCode中开始用Python3…学Python的一个私心当然是刷LeetCode舒服呀~P.s:学艺不精,请大佬们多多点拨:)文章目录系列列表介绍列表常用操作切片介绍切片原理切片常用操作LeetCode 练练手列表介绍列表,Python常用的数据结构之一,类似于其他语言中的数组。list = [0,1,2,3,4,5] # 列表的创建lis

2020-05-12 23:14:41 903

原创 教练我想学Python:(二)好的开始,就从找个对象开始吧

系列前文:选择困难与PyCharm初体验序:对Python一无所知的作者竟然开了这个系列…长话短说,学Python的第二天,既然是面向对象的语言,那就面向对象吧!…Emmm…对象在哪?P.s:学艺不精,请大佬们多多点拨:)文章目录系列对象总结对象作为一门面向对象的语言,那就必须来学一下怎么找个对象!…怎么来写一个对象。class Coach: CoachName = "教练" #公共变量 __weight = 100 #开头两个下滑线代表私有 变量与方法都可以加两个下滑

2020-05-11 22:57:45 753

原创 UGUI源码分析:Scrollbar与ScrollRect滑动列表组件

系列UGUI源码分析系列总览相关前置:UGUI EventSystem源码分析UGUI源码分析:Selectable交互组件的基类文章目录系列UML图一览Scrollbar属性介绍实现ScrollRect属性介绍初始化滑动条交互拖拽交互滚轮交互UML图一览UGUI中的滑动组件主要由ScrollRect与Scrollbar构成,首先先简单介绍以下Scrollbar组件的实现原理。ScrollbarBaseClass: SelectableInterface: IInitializeP

2020-05-11 16:59:06 3854 1

原创 教练我想学Python:(一)选择困难与PyCharm初体验

系列序:对Python一无所知的作者竟然开了这个系列…说实话是CSDN刷多了天天看见Python便手痒了,好奇呀。于是开始了Python的学习,并准备以这个系列为基础记录下学习过程。如果文章中有错误还请大佬们多多指出,奥利给!文章目录系列好的开始Python2还是Python3环境运行第一个脚本好的开始业精于勤荒于嬉,作者认为学习一门语言的好方法是多练,那么一个好的开发环境对于作者来说就非常重要了。Python2还是Python3对于Python的学习,作者首先对于使用Python的版本做

2020-05-10 18:37:17 814

原创 UGUI源码分析:开关组件Toggle与ToggleGroup

系列UGUI源码分析系列总览相关前置:UGUI EventSystem源码分析UGUI源码分析:Selectable交互组件的基类文章目录系列ToggleToggle组件属性介绍初始化过程IsOnToggleGroupToggleBaseClass: SelectableInterface: IPointerClickHandler,ISubmitHandler,ICanvasElementIntro: UGUI中常用于控制单选或者多选功能的组件,经常与ToggleGroup一起使用

2020-05-10 15:51:40 2241 1

原创 UGUI源码分析:从Button到逐行清楚事件检测的实现过程

系列UGUI源码分析系列总览相关前置:UGUI EventSystem源码分析UGUI源码分析:Selectable交互组件的基类文章目录系列ButtonExecute XXXHandlerButtonBaseClass: SelectableInterface: IPointerClickHandler,ISubmitHandlerIntro: UGUI按钮点击组件I...

2020-05-05 23:27:12 2182

原创 UGUI源码分析:Selectable交互组件的基类

系列UGUI源码分析系列总览相关前置:UGUI EventSystem源码分析UGUI Graphic源码分析文章目录系列SelectableSelectable的生命周期NavigationTransition事件响应SelectableBaseClass: UIBehaviourInterface: IMoveHandler、IPointerDownHandler、IPoi...

2020-05-04 12:16:04 3278

原创 UGUI源码分析:Text与Outline的具体实现

系列UGUI源码分析系列总览相关前置:UGUI EventSystem源码分析Graphic源码分析文章目录系列TextFontDataText的生命周期OnPopulateMeshShadow 与 Outline 具体实现ShadowOutlineTextBaseClass: MaskableGraphicInterface: ,ILayoutElementIntro: U...

2020-05-03 22:36:46 2433

原创 UGUI源码分析:Image与RawImage的区别

系列UGUI源码分析系列总览相关前置:UGUI EventSystem源码分析Graphic源码分析UGUI MaskableGraphic源码分析,RectMask2D与Mask的原理文章目录系列RawImageImageMeshMaterialRaycastRawImageBaseClass: MaskableGraphicInterface: NoneIntro: 顾...

2020-05-02 16:37:32 7960 1

原创 UGUI源码分析:MaskableGraphic,RectMask2D与Mask的原理

系列UGUI源码分析系列总览文章目录系列MaskableGraphic简介RectMask2D 矩形裁剪IMaskable基于Material的遮罩MaskableGraphicBaseClass: GraphicInterface: IClippable、IMaskable、IMaterialModifier简介前置:Graphic源码剖析MaskableGraphic在 G...

2020-04-29 21:31:18 2563

原创 UGUI源码分析:Graphic,UGUI中最重要的部分之一

系列UGUI源码分析系列总览文章目录系列GraphicGraphicRegistryRebuildUpdateGeometryUpdateMaterialGraphicRelated Class: Graphic、MaskableGraphic、GraphicRegistry、CanvasUpdateRegistry、VertexHelperRelated Interface: IC...

2020-04-28 22:08:49 3875 1

原创 UGUI源码分析:CanvasUpdateSystem 画布刷新系统

CanvasUpdateSystemRelated Class: Canvas、CanvasUpdateRegistry、ClipperRegistryRelated Interface: ICanvasElementRelated Other: Enum CanvasUpdateIntro: 由Canvas控制,通过 ICanvasElement 接口,使用脏标记方法来统一更新Ca...

2020-04-25 10:47:28 4736

原创 Unity如何画曲线?网格绘制贝塞尔曲线

原理一般的Image Mesh顶点数为4是固定在四个叫的,所以我们能看到的是个矩形图。为了让Image产生弯曲的效果,我们就是增加Mesh的数量,并且使其按一定的曲线排列。最终达到曲线的效果。这里使用的曲线为贝塞尔曲线,这种曲线非常灵活,可扩展,达到理想的效果。脚本如下:using UnityEngine;using UnityEngine.UI;public class B...

2020-04-24 21:28:11 2111

原创 Unity如何进行本地坐标与世界坐标的转换InverseTransformPoint

两个APITransform.InverseTransformPoint将世界坐标position转换为本地坐标var localpos = target.InverseTransformPoint(worldpos);Transform.TransformPoint本地坐标转换为世界坐标其他RectTransform.GetWorldCorners获取矩形的四个顶点世界坐标,从...

2020-04-21 23:10:12 1995

原创 UGUI源码分析:EventSystem事件系统

系列UGUI源码分析系列总览文章目录系列EventSystemEventDataBaseInputModuleProcessMouseEventProcessTouchEventsRaycastersRaycasterManagerPhysics2DRaycaster PhysicsRaycasterRaycastResultEventSystemHandlerExecuteEventsEv...

2020-04-19 18:12:20 7429 1

原创 Unity资源管理 看完这张图你就全知道了

很久之前收藏的图片,关于Unity的资源管理写的非常详细,致敬原作者。

2020-04-17 21:27:11 845

原创 Lua中你可能常用但了解不深的关键字

文章目录Require原型顺序modulepackage.seeallsetfenvRequire原型function require (name) if not package.loaded[name] then local loader = findloader(name) if loader == nil then error("unab...

2020-04-15 20:31:16 1031

原创 学Lua你必须要清楚的要点之 元表与面向对象

元表作者认为lua中最为重要的就是table这个类型,可以说几乎lua的所有都依附于table。table的相关介绍这里不多赘述(资料很多很容易了解到)。这里主要介绍一下元表的概念。lua中每个值都有一套预定义的操作集合(例如+ - …)即它的行为规则,即使table非常强大,但如果仅仅只遵循预先制定的规则的话往往会很局限。比如我们没法相加两个table,这是因为在table的预定义操作集合中...

2020-04-15 20:23:13 881

原创 学Lua你必须要清楚的要点之 Table

文章目录简介Table基本使用Table 的实现rehash和esize过程元表弱引用 weaktableTable总结简介Lua程序设计(第4版):表(Table)是Lua语言中最主要(实际上也是唯一的)和强大的数据结构。使用表,Lua语言可以以一种简单、统一且高效的方式表示数组、集合、记录和其他很多数据结构。可以理解成 万物皆可为表Table基本使用构造器 {}t = {} ...

2020-04-14 23:17:09 1064

原创 Lua 垃圾回收(GC)

本文为学习LuaGC方面的笔记,知识来源云风大大的LuaGC文章简介在 Lua 中,一共只有 9 种数据类型,分别为 nil 、boolean 、light userdata 、number 、string 、 table 、 function 、 userdata 和 thread 。其中,只有 string table function thread 四种是以引用方式共享,是需要被 G...

2020-04-12 16:01:36 859

原创 Lua 弱引用Table(weak table)

简介弱引用table(weak table)是用户用来告诉Lua一个引用不应该阻碍对该对象的回收。所谓弱引用,就是一种会被垃圾收集器忽视的对象引用。如果一个对象的引用都是弱引用,该对象也会被回收,并且还可以以某种形式来删除这些弱引用本身。弱引用table有3种类型1、具有弱引用key的table;2、具有弱引用value的table;3、同时具有弱引用key和value的table;...

2020-04-12 15:52:07 675

原创 C# websocketsharp 客户端使用快速上手

阅前提示Websocket-sharp提供了实现WebSocket协议客户端和服务器。支持: RFC 6455; 创建客户端和服务器;数据压缩扩展; 安全连接;HTTP身份验证; 查询字符串、header、Cookie ;通过HTTP代理服务器连接 ;.NET Framework 3.5 orlater(包括兼容环境,如Mono)适合人群 :C#+websocket 使用者阅读方式:浏...

2020-04-11 22:50:48 4848 2

BezierMeshImage.cs

Mesh绘制曲线工具:具体介绍请看https://blog.csdn.net/qq_28820675/article/details/105740004

2020-05-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除