Unity物体渲染 1. 导入与资源处理 文件检测:Unity监控项目文件夹(Assets),当检测到新文件(如.fbx、.obj、.png、.jpg等)时,会触发导入流程。 资源转换:根据文件类型,Unity的导入器(Importers)会进行相应处理: 3D模型:FBX/OBJ等文件被解析为网格(Mesh)、材质(Material)、动画(Animation)等子资源。 纹理:图片被转换为Unity内部格式(如D Unity lwy 2025-12-17 120 热度 0评论
Unity 协程底层原理详解 1. 协程的本质 Unity 协程并非真正的线程,而是基于迭代器的异步编程模式,运行在主线程上。 1.1 核心机制 // 协程方法的实际编译结果 IEnumerator MyCoroutine() { yield return new WaitForSeconds(1); // 实际被编译器转换为状态机代码 } 2. 底层实现架构 2.1 协程调度器 Unity 通过 UnityEngine.Se Unity lwy 2025-12-16 153 热度 0评论
UGUI核心源码剖析 前言 Core模块主要为Culling(裁剪)、Layout(布局)、MaterialModifiers(材质球修改器)、SpecializedCollection(收集),Utility(实用工具)、vc(顶点修改器)。 一、Culling裁剪模块 Culling是对模型裁剪的工具类,大都用到Mask遮罩上,只要Mask才有裁剪的需求。Cliping类FindCullAndClipWorldRe Unity lwy 2025-11-12 249 热度 0评论
UGUI的输入与事件模块 前言 UGUI把输入事件分为四个模块。分别是 事件数据模块 输入事件捕获模块 射线碰撞检测模块 事件逻辑处理以及回调模块 一、事件数据模块 事件数据模块主要是获得数据,提供数据服务。主要存储了事件发生的位置、事件对应的物体、事件的位移大小。触发事件的输入类型。以及事件的设备信息等。 主要为三个类:BaseEventData、PointerEventData、AxisEventData,分别为事件数 Unity lwy 2025-11-12 291 热度 0评论
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网格,材质 Unity lwy 2024-08-28 1463 热度 0评论
UGUI基础 一、UGUI概述 UGUI(Unity GUI)是Unity引擎中的用户界面系统,用于创建游戏和应用程序中的用户界面,它基于画布(Canvas)系统,通过组件和GameObject来排列、定位和样式化UI元素。 Unity社区的UGUI学习链接:https://developer.unity.cn/projects/637c68a3edbc2a001ba22eee UGUI的主要特点包括: 基于组 Unity lwy 2024-08-28 1128 热度 0评论
事件系统 一、 委托与事件 1.1 委托 delegate是一个关键字,用来声明委托类型,Delegate是一个类,是委托类型的基类,但只有系统和编辑器可以显示地从Delegate类或者MulticastDelegate类派生,通常我们使用delegate关键字来定义委托类型。 委托是一种引用类型(类似于函数指针),允许我们封装方法的引用,通过使用委托,我们可以将方法作为参数传递给其他方法,或者将方法类型组 Unity lwy 2024-07-22 758 热度 0评论
浮点数的精度问题 每个人在写关于浮点数判断大小的时候都会看到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 Unity lwy 2024-06-23 1288 热度 0评论
Dictionary底层源码剖析 Dictionary字典型数据结构是以关键字Key值和Value值进行一一映射,Key的类型并没有做任何限制,可以是整数,也可以是字符串,甚至是实例对象。Dictionary的实验原理,有两个关键算法,Hash算法和解决Hash冲突的拉链法,key值和value值的映射关系就是通过Hash函数来建立的。 Dictionary源码 一、实现原理 1.1 Hash函数 Dictionary会针对每个K Unity lwy 2024-06-17 996 热度 0评论
Unity的List底层源码剖析 我们在Unity经常会使用List类型,但是却没有好好了解过List类型,它其实是使用了一个连续的内存块来存储元素,它的结构有点类似链表,但又与链表有着许多不同的地方.让我们来了解一下List的底层实现. C#的List源码: C#源码 一、构造函数 List是C#中一个常见的可伸缩的数组组件,通常用来代替数组,其底层的数据结构就是基于数组(非链表).由于它是可伸缩的,所有我们在编写程序的时候不需 Unity lwy 2024-05-29 1133 热度 0评论