UI 优化

官方解释 Statistics 窗口官方解释 UI合批规则:https://blog.csdn.net/sinat_25415095/article/details/112388638 Unity四种合批技术详解:https://blog.csdn.net/ww1351646544/article/details/139678759 一、UI组成 UI组成:UGUI中的每个组件都是由3D网格,材质
UI 优化

UGUI基础

一、UGUI概述 UGUI(Unity GUI)是Unity引擎中的用户界面系统,用于创建游戏和应用程序中的用户界面,它基于画布(Canvas)系统,通过组件和GameObject来排列、定位和样式化UI元素。 Unity社区的UGUI学习链接:https://developer.unity.cn/projects/637c68a3edbc2a001ba22eee UGUI的主要特点包括: 基于组
UGUI基础

事件系统

一、 委托与事件 1.1 委托 delegate是一个关键字,用来声明委托类型,Delegate是一个类,是委托类型的基类,但只有系统和编辑器可以显示地从Delegate类或者MulticastDelegate类派生,通常我们使用delegate关键字来定义委托类型。 委托是一种引用类型(类似于函数指针),允许我们封装方法的引用,通过使用委托,我们可以将方法作为参数传递给其他方法,或者将方法类型组
事件系统

浮点数的精度问题

每个人在写关于浮点数判断大小的时候都会看到a - b < 1e8来确定a和b的数值是否相等,为什么不能适用a == b来直接判断呢? 这个就涉及到了浮点数的精度问题。 下面一段代码 #include<iostream> using namespace std; int main(){ float a = 0.1; float sum = 0; for (int i = 0; i
浮点数的精度问题

Dictionary底层源码剖析

Dictionary字典型数据结构是以关键字Key值和Value值进行一一映射,Key的类型并没有做任何限制,可以是整数,也可以是字符串,甚至是实例对象。Dictionary的实验原理,有两个关键算法,Hash算法和解决Hash冲突的拉链法,key值和value值的映射关系就是通过Hash函数来建立的。 Dictionary源码 一、实现原理 1.1 Hash函数 Dictionary会针对每个K
Dictionary底层源码剖析

Unity的List底层源码剖析

我们在Unity经常会使用List类型,但是却没有好好了解过List类型,它其实是使用了一个连续的内存块来存储元素,它的结构有点类似链表,但又与链表有着许多不同的地方.让我们来了解一下List的底层实现. C#的List源码: C#源码 一、构造函数 List是C#中一个常见的可伸缩的数组组件,通常用来代替数组,其底层的数据结构就是基于数组(非链表).由于它是可伸缩的,所有我们在编写程序的时候不需
Unity的List底层源码剖析

Unity中的C#底层原理

一、Unity如何运行C# 1.1 Mono和IL2CPP 了解Mono和IL2CPP之前我们先了解一下.NET FrameWork和IL(CIL),.NET FrameWork是Windows的托管环境,可为其运行的应用提供各种服务,主要包括两个组件:公共语言运行时(CLR),它是处理运行应用的执行引擎;NET FrameWork类库:它提供开发人员可从其自己的应用中调试的已测试、可重用代码库.
Unity中的C#底层原理

Unity的文件与资产

一、Unity的文件夹 当我们创建一个项目时,有几个默认的文件夹也会随之创建,而且这些文件夹都在Unity中有着不可或缺的作用,以下就是刚创建的4个目录(Asset、Library、Package、ProjectSettings): 1.1 Assets Assets的作用: 存放资源的根目录,也是打开Unity工程最一个目录,他的作用是给开发者用来组织管理游戏所需要的各种资源,例如脚本、模型、材
Unity的文件与资产

AssetBundle

AssetBundle File Guid确保了资产在整个Unity工程中唯一,Local确保了Object在资产中唯一.InstanceID能够让Unity快速找到资产中的Object. AssetBundle(资产文件),AssetBundle文件结构浅析 - Pink-Floyd - 博客园 (cnblogs.com),包含两部分:包头和数据段 包头:包含有关AssetBundle的信息,比
AssetBundle