在Unity3D中,3D模型合并的主要目的是减少drawcall,优化渲染性能。模型可以被拆分为多个子网格(SubMesh),每个子网格匹配一个材质球进行渲染。Unity3D提供了动态批处理和静态批处理两种模型合并方法,但都有严格的使用条件。
本文介绍了反射原理,包括调用类型的成员的方法、构建类型的实例的方法以及使用绑定句柄减少内存消耗的技巧。同时,还讨论了反射的性能问题和适用场景。推荐链接提供了更多相关内容。
无论是在商业还是个人项目中,Image和Text组件都是我们最常接触的组件之一,它们间接继承自Graphic类。Graphic类中实现了构建网格,更新材质等重要的方法,这篇文章想要对Graphic类和Graphic类组件的重建流程进行讨论。
本文记录了Canvas相关组件的作用,通过对CanvasUpdateRegistry类的代码进行剖析来介绍Canvas渲染前会经历哪些步骤,介绍展示的Unity源码版本基于2019.1
本文记录的是UGUI模块中的裁剪模块:Mask和RectMask2D的一些实现细节以及区别,展示的Unity源码版本基于2019.1
翻阅UGUI源码部分时,会看见一些特殊的容器类型,很多代码中都有使用它们,容器相关的代码被放入了Utility文件夹中
当游戏涉及不同国家发布时,不同语言间会有替换字体的需求。工具可一键查找引用了不同字体类型(asset, otf,ttf)的预制体,按需一键替换目标预制体下Text/TextMeshPro的字体
ScrollView在道具栏或背包等界面会频繁出现,我们经常会在其下的Content子对象下生成我们需要展示的物品/对象,但如果在同一时间生成大量的对象会有几个较为严重的问题
本文介绍了Unity移动平台应用性能优化的笔记,包括使用LOD技术、遮挡剔除技术、减少overdraw、减少实时光照、不使用动态阴影、尽量使用简单的shader等方法来优化片元着色器,以及优化Mono内存和U3D类的内存的方法。
迭代器是包含迭代器块的方法或者属性,本质上是包含了yield return或yield break语句的代码
本文记录了工作中接入安卓SDK过程中遇到的一些难题和查阅的一些资料,内容可能比较散乱
可以理解为class.jar中包含了Unity与Android交互的桥梁,其中包含了交互所必须的一些重要的接口和类