logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

Unity编辑器基础

这个方法标记开始一个变化检查的区域。它的作用是开始追踪在此之后的控件值的变化。在你对某些编辑器控件(比如 EditorGUILayout.IntSlider 或 EditorGUILayout.IntField)进行修改时,这个方法会检查控件的值是否发生了变化。:这个方法标记结束一个变化检查的区域,并返回一个 bool 值,指示在 BeginChangeCheck() 和 EndChangeChe

#unity#编辑器#java
Unity性能优化-2d游戏的DrawCall

UI优化要点:1. 减少DrawCall需按层级顺序排列相同材质UI,可将同材质元素放入同一空物体下。2. 2D渲染排序规则:先按SortingLayer排序(定义在项目设置中),同层内按Order in Layer值排序,数值越大越靠上显示。3. 相同层级和顺序时默认按Z轴距离相机远近排序,可通过修改TransparencySortMode调整排序轴(如2D常用Y轴)。建议将同一SortingL

#unity#游戏#游戏引擎 +2
Unity发布自己的插件包

本文介绍了SiYangUnityEventSystem事件系统的项目结构和发布流程。项目采用标准的Unity插件目录结构,包含Editor和Runtime文件夹,并详细说明了package.json的配置要求。文章还提供了完整的版本管理方案,包括Git标签设置和版本更新步骤。最后指出可通过GitHub仓库链接共享该插件,实现干净优雅的事件系统功能。整个流程规范清晰,便于开发者快速上手使用和发布Un

#unity#游戏引擎
SiYangUnityEventSystem,一个Unity中的事件系统

本文介绍了一个基于Unity的零GC事件系统设计方案。系统采用观察者模式,核心是事件总线管理类,使用泛型字典存储事件类型与订阅者列表的映射关系。设计特点包括:1)提供全局静态调用入口SiYangEventBus.Global;2)通过Subscribe/Publish接口实现事件订阅与发布;3)优化GC性能,发布过程零GC;4)创新性地将订阅代码从业务类分离,通过标签或接口自动注册事件处理器。系统

#unity#游戏引擎#c# +1
Unity中图片的内存中占用大小、AB占用大小、内存形式

不同图片或图集在项目中,我们会在右下角看到图片的Format格式和大小:比如上面这个图集大小是2048×1024,RGBA Compressed ASTC 8×8,在运行时占用的纹理内存大约是 0.5MB(显存),如果是 RGBA32 则约为 8MB。如果将这个图的格式改成RGBA 32,那么就会是8MB。为什么不同压缩格式下,占用硬盘空间是不同的?

#unity#游戏引擎
算法-轻松地明白KMP算法

KMP算法是一种高效的字符串匹配算法,用于在主串A中查找模式串B的出现位置。相比暴力匹配算法(时间复杂度O(n*m)),KMP通过预处理模式串构建最长公共前后缀数组(LPS),使得主串指针无需回退,将时间复杂度优化至O(n+m)。其核心思想是:当匹配失败时,利用LPS数组确定模式串指针的最佳跳跃位置,避免不必要的重复比较。预处理阶段需要O(m)时间构建LPS数组,匹配阶段仅需O(n)时间扫描主串,

#数据结构#unity#c# +2
Unity面经-List底层原理、如何基于数组、如何扩容、List存储泛型、List有关在内存中的结构

因为如果插入的位置是第一个位置,那么所有的元素都要向后移动一格,操作的次数就是数组的长度n,所以是O(n)。在堆中开辟一块新的内存,内存大小是原来的2倍,通过Array.Copy将原来的数据复制到新内存的位置,将老的指针指向新的List内存。数组是固定长度,List为了解决数组不能扩容的问题,动态的意思就是让数组可以扩容,而List就是可以扩容的数组。所以通常建议在创建数组的时候要设定初始长度,长

#unity#list#游戏引擎
Unity开发微信小游戏,严谨的跳过Splash

本文探讨了Unity中跳过启动画面的不严谨做法及优化方案。原方案在BeforeSplashScreen阶段调用停止方法存在问题,改为在BeforeSceneLoad阶段调用更为合适。同时针对微信小游戏的WASM代码裁剪问题,介绍了三种保留代码的方法:[Preserve]属性标记、项目内强制引用以及link.xml配置文件。文章特别强调了微信小游戏首场景精简的重要性,并提供了动画系统等模块的代码裁剪

#unity#游戏引擎#微信小程序 +1
Unity面经-值类型与引用类型

本文比较了值类型和引用类型的区别,重点介绍了String的特殊性质及其不变性特征。分析了装箱拆箱的原理及其性能影响,建议使用泛型避免频繁装箱。详细讲解了.NET垃圾回收机制,包括标记-压缩算法和分代回收策略,并对比了Unity采用的贝姆垃圾回收机制的局限性。全文围绕内存管理和性能优化展开,为开发者提供了实用的编程建议。

#unity#c##面试
到底了