
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
这个方法标记开始一个变化检查的区域。它的作用是开始追踪在此之后的控件值的变化。在你对某些编辑器控件(比如 EditorGUILayout.IntSlider 或 EditorGUILayout.IntField)进行修改时,这个方法会检查控件的值是否发生了变化。:这个方法标记结束一个变化检查的区域,并返回一个 bool 值,指示在 BeginChangeCheck() 和 EndChangeChe
UI优化要点:1. 减少DrawCall需按层级顺序排列相同材质UI,可将同材质元素放入同一空物体下。2. 2D渲染排序规则:先按SortingLayer排序(定义在项目设置中),同层内按Order in Layer值排序,数值越大越靠上显示。3. 相同层级和顺序时默认按Z轴距离相机远近排序,可通过修改TransparencySortMode调整排序轴(如2D常用Y轴)。建议将同一SortingL
本文介绍了SiYangUnityEventSystem事件系统的项目结构和发布流程。项目采用标准的Unity插件目录结构,包含Editor和Runtime文件夹,并详细说明了package.json的配置要求。文章还提供了完整的版本管理方案,包括Git标签设置和版本更新步骤。最后指出可通过GitHub仓库链接共享该插件,实现干净优雅的事件系统功能。整个流程规范清晰,便于开发者快速上手使用和发布Un
本文介绍了一个基于Unity的零GC事件系统设计方案。系统采用观察者模式,核心是事件总线管理类,使用泛型字典存储事件类型与订阅者列表的映射关系。设计特点包括:1)提供全局静态调用入口SiYangEventBus.Global;2)通过Subscribe/Publish接口实现事件订阅与发布;3)优化GC性能,发布过程零GC;4)创新性地将订阅代码从业务类分离,通过标签或接口自动注册事件处理器。系统
不同图片或图集在项目中,我们会在右下角看到图片的Format格式和大小:比如上面这个图集大小是2048×1024,RGBA Compressed ASTC 8×8,在运行时占用的纹理内存大约是 0.5MB(显存),如果是 RGBA32 则约为 8MB。如果将这个图的格式改成RGBA 32,那么就会是8MB。为什么不同压缩格式下,占用硬盘空间是不同的?
KMP算法是一种高效的字符串匹配算法,用于在主串A中查找模式串B的出现位置。相比暴力匹配算法(时间复杂度O(n*m)),KMP通过预处理模式串构建最长公共前后缀数组(LPS),使得主串指针无需回退,将时间复杂度优化至O(n+m)。其核心思想是:当匹配失败时,利用LPS数组确定模式串指针的最佳跳跃位置,避免不必要的重复比较。预处理阶段需要O(m)时间构建LPS数组,匹配阶段仅需O(n)时间扫描主串,
因为如果插入的位置是第一个位置,那么所有的元素都要向后移动一格,操作的次数就是数组的长度n,所以是O(n)。在堆中开辟一块新的内存,内存大小是原来的2倍,通过Array.Copy将原来的数据复制到新内存的位置,将老的指针指向新的List内存。数组是固定长度,List为了解决数组不能扩容的问题,动态的意思就是让数组可以扩容,而List就是可以扩容的数组。所以通常建议在创建数组的时候要设定初始长度,长
本文探讨了Unity中跳过启动画面的不严谨做法及优化方案。原方案在BeforeSplashScreen阶段调用停止方法存在问题,改为在BeforeSceneLoad阶段调用更为合适。同时针对微信小游戏的WASM代码裁剪问题,介绍了三种保留代码的方法:[Preserve]属性标记、项目内强制引用以及link.xml配置文件。文章特别强调了微信小游戏首场景精简的重要性,并提供了动画系统等模块的代码裁剪
本文比较了值类型和引用类型的区别,重点介绍了String的特殊性质及其不变性特征。分析了装箱拆箱的原理及其性能影响,建议使用泛型避免频繁装箱。详细讲解了.NET垃圾回收机制,包括标记-压缩算法和分代回收策略,并对比了Unity采用的贝姆垃圾回收机制的局限性。全文围绕内存管理和性能优化展开,为开发者提供了实用的编程建议。







