- 博客(75)
- 收藏
- 关注
原创 NGUI--DarwCall
字面理解 DrawCall 就是 绘制呼叫的意思 表示 CPU(中央处理器)通知 GPU(图形处理器 - 显卡)DrawCall 概念就是 CPU(处理器)准备好渲染数据(顶点,纹理,法线,Shader 等等)后告知 GPU(图形处理器 - 显卡)开始渲染(将命令放入命令缓冲区)的命令简单来说:一次 DrawCall 就是 CPU 准备好渲染数据通知 GPU 渲染的这个过程如果游戏中 DrawCall 数量较高会影响 CPU 的效率最直接的感受就是游戏会卡顿。
2025-09-09 15:31:03
201
原创 NGUI--Anchor组件和 事件系统
是用于 9 宫格布局的锚点它有两个关键知识点1. 老版本 — 锚点组件 — 用于控制对象对齐方式2. 新版本 —3 大基础控件自带锚点内容 — 用于控制对象相对父对象布局。
2025-09-08 22:00:04
280
原创 NGUI--图集制作
主要作用是让摄像机渲染出来的物体能够接收到NGUI的输入事件大部分设置不需要我们去修改有了它我们通过鼠标 触碰 键盘 控制器 操作UI 响应玩家的输入NGUI中的最小图片控件Sprite要使用图集中的图片进行显示图集 就是把很多单独的小图 合并为 一张大图 合并后的大图就是图集目的: 提高渲染性能。
2025-09-04 10:43:17
198
原创 NGUI--三大基础组件
分辨率是指图像或显示屏的精细程度,具体表现为单位面积内像素点的数量。分辨率越高,像素点越多,画面就越清晰细腻;反之则越模糊粗糙。常见的表示方式如1920×1080,即屏幕水平方向有1920个像素点,垂直方向有1080个像素点。高分辨率能呈现更多细节,提升视觉体验。
2025-09-04 10:18:29
314
原创 Unity中Resources资源加载
/Resources动态加载资源的方法//让拓展性更强//相对拖曳来说 它更加一劳永逸 更加方便//重要知识点://记住API//记住一些特定的格式//预设体加载出来一定要实例化。
2025-08-26 00:16:30
1007
原创 Unity中四元数相关
物体旋转的存储与计算(角色 / 相机的平滑转向(结合Slerp动画系统中的旋转过渡;物理引擎中的刚体旋转(方向向量的旋转(如子弹飞行方向、射线检测方向)。
2025-08-20 01:17:55
992
原创 Unity中向量相关
点乘返回标量,用于判断方向关系和投影计算叉乘返回向量,用于获取垂直方向和判断相对位置两者都是 Unity 中向量运算的基础,在角色控制器、物理模拟、AI 行为等方面有广泛应用坐标系转换。
2025-08-20 01:00:15
473
原创 Unity中的Mathf常用方法
在 Unity 中,MathF是一个提供各种数学运算功能的静态类,主要用于处理单精度浮点数(float)的计算,非常适合游戏开发中的实时计算场景。
2025-08-20 00:36:55
281
原创 UnityUI系统--GUI
Unity IMGUI系统是一种即时、代码驱动的GUI框架,特别适合编辑器扩展开发和快速原型设计。其核心特点包括函数驱动绘制、无持久状态对象以及通过返回值处理交互。虽然IMGUI在编辑器工具开发中表现优异,但不适合构建现代游戏UI,因其存在性能开销大、布局复杂和缺乏可视化设计等缺点。本文详细解析了IMGUI的工作机制、核心类(GUI/GUILayout)和使用场景,并介绍了基于IMGUI的自定义GUI框架实现,包括各类控件(按钮、输入框、滑动条等)和布局管理系统。该框架通过抽象基类和统一绘制机制,实现了可扩
2025-08-05 15:20:59
1034
原创 封装PlayerPrefs--PlayerPrefsDateMgr
Unity PlayerPrefs增强管理类概述 该PlayerPrefsDateMgr类通过反射递归实现了复杂数据结构的序列化存储,扩展了原生PlayerPrefs的功能。主要特性包括: 递归序列化:支持自定义类、泛型集合(List/Dictionary)和基本类型的自动处理 智能键名生成:采用层级命名规则避免存储冲突 类型安全:通过反射机制确保数据类型的正确性 单例设计:提供全局唯一访问点 核心方法通过SaveData/LoadData进行数据存/取,内部递归调用SaveValue/LoadValue处
2025-07-29 21:40:07
685
原创 数据持久化--PlayerPrefs
Unity中的PlayerPrefs是用于存储游戏偏好设置的键值对系统,支持int、float、string三种基础数据类型。它通过Set/Get方法进行数据存取,并自动持久化到本地文件系统(Windows存储在注册表或AppData目录,Android/iOS分别存在XML和plist文件中)。PlayerPrefs适合保存简单配置,但存在数据未加密、类型受限等缺点。开发者可通过前缀命名等方式保证键名唯一性,复杂数据结构需自行序列化为基本类型存储。文章还提供了玩家属性和排行榜的存储实现示例,展示了如何扩展
2025-07-23 22:22:14
948
原创 安卓项目--基于百度云的人脸识别考勤系统
摘要:本项目开发了一款基于百度云人脸识别API的Android考勤系统,采用Java语言开发,最低支持Android 8.0。系统核心功能包括人脸注册、考勤打卡和记录管理,使用OkHttp进行网络请求,SQLite存储考勤数据。通过调用百度云API实现人脸识别比对,拍照后将图片转为Base64上传。系统采用Material Design风格界面,包含三大功能模块,具有结构清晰、技术主流等特点,适合校园或企业考勤场景应用。
2025-07-23 15:40:11
905
原创 生命周期函数
Unity游戏开发中的生命周期函数摘要 Unity引擎通过MonoBehaviour脚本提供了一套完整的生命周期函数体系,这些函数会在游戏对象(GameObject)从创建到销毁的过程中被自动调用。开发者无需手动创建游戏循环,只需按照Unity预定义的规则(如Awake、Start、Update等函数)编写逻辑即可。这些函数通常采用private或protected修饰符,由Unity通过反射机制自动触发,并支持面向对象的继承和多态特性。生命周期函数作为Unity框架的核心机制,让开发者能够专注于游戏逻辑的
2025-07-07 17:23:39
256
原创 Unity脚本基本规则
Unity游戏开发中,创建规则需要区分MonoBehaviour和非MonoBehaviour类。MonoBehaviour作为Unity核心基类,提供生命周期方法如Start()、Update(),必须挂载到游戏对象使用。非MonoBehaviour类则作为纯C#类,适合处理数据逻辑和业务规则,但不能直接使用Unity特性。两者需结合使用,MonoBehaviour负责游戏对象交互,普通类处理独立逻辑,通过合理分工提升代码可维护性。
2025-07-07 16:17:13
343
原创 用C#实现单向链表和双向链表
本文介绍了C#中单向链表和双向链表的实现。单向链表通过LinkedNode<T>节点类存储数据和nextNode指针,LinkedList<T>类管理头尾节点,提供O(1)添加和O(n)删除操作。双向链表扩展为包含frontNode前驱指针,LinkedList<T>类维护节点计数,提供按索引删除功能,需处理头尾节点的特殊引用关系。两种实现都通过维护节点间引用来实现基本操作,双向链表支持更高效的任意位置删除,但复杂度更高。实际开发中建议优先使用.NET内置的LinkedL
2025-06-10 18:26:49
441
原创 手动实现C#ArrayList容器
摘要:本文实现了一个C#泛型动态数组类ArrayList<T>,模仿List<T>的基本功能。核心特性包括:1) 泛型设计支持任意类型;2) 基于数组的动态扩容机制(2倍增长);3) 完整的增删改查操作,包含Add自动扩容、Remove/RemoveAt元素删除及索引器访问;4) 严格边界检查。代码实现了16的初始容量,通过count记录实际元素数。优化建议包括改进扩容策略、完善异常处理、添加更多集合方法及线程安全支持。该实现展示了泛型集合的核心机制,可作为理解动态数组原理的基础范例。
2025-06-08 13:08:30
370
原创 C#面向对象实践项目--贪吃蛇
摘要:本贪吃蛇游戏采用场景管理模式和接口驱动设计,核心架构基于三个场景(开始/游戏/结束)和两组接口(ISceneUpdate、IDraw)。Game类负责场景切换与主循环,BeginOrEndBaseScene实现菜单逻辑复用,GameScene管理蛇、食物与地图的交互。蛇体由SnakeBody对象构成,通过位置检测实现碰撞判定,食物随机生成时避开蛇身。项目运用继承和多态机制,GameObject抽象类统一游戏对象绘制行为。优化方向包括职责分离、参数配置化和性能提升(如哈希碰撞检测)。代码结构清晰,通过接
2025-06-03 18:16:45
1188
原创 Unity网络开发实践项目
该网络通信系统基于Unity实现,包含以下几个核心模块:协议配置:通过XML定义枚举(如玩家/英雄类型)、数据结构(如PlayerData)及消息协议(如PlayerMsg),支持基础类型、数组、字典等复杂结构。代码生成工具:解析XML自动生成C#脚本,包括枚举类、可序列化的数据结构类(实现字节计算、序列化/反序列化)、消息类及消息池,减少手动编码。网络管理器:采用异步Socket实现TCP通信,处理连接、心跳包(间隔2秒)、消息收发及粘包/分包问题,通过消息池动态映射ID与消息类型,结合队列
2025-05-27 14:09:13
1423
原创 大小端模式和消息的加密解密
文章主要介绍了计算机中的大小端模式以及消息加密解密的相关知识。大小端模式是指数据在内存中的存储方式,大端模式将数据的高字节存储在低地址,符合人类阅读习惯;小端模式则相反,高字节存储在高地址,符合计算机处理习惯。文章还探讨了大小端模式在网络传输中的应用及其对开发的影响,并提供了大小端转换的方法。此外,文章还介绍了消息加密解密的基本概念、加密算法的分类(单向加密、对称加密和非对称加密)以及它们的特点和用途。最后,文章通过实例展示了如何使用异或加密算法对消息进行加密和解密。
2025-05-19 23:37:20
817
原创 Protobuf协议生成和使用
本文介绍了如何利用protoc.exe编译器生成脚本文件,并测试生成对象的使用方法。首先,通过命令行工具进入protoc.exe所在目录,输入转换指令生成C#、C++或Java代码。接着,展示了如何创建和操作生成的类对象,包括设置属性、添加列表和字典元素、使用枚举和内部类等。此外,文章还介绍了如何制作一个ProtobufTool协议生成工具,通过Unity编辑器菜单生成不同语言的代码。最后,讲解了Protobuf的序列化和反序列化操作,包括使用文件流和内存流处理本地文件和网络传输数据,并封装了一个NetTo
2025-05-19 23:25:43
623
原创 Protobuf工具
/5. 在 csharp\src\Google.Protobuf\bin\Debug 路径下找到对应.net 版本的 Dll 文件(我们使用 4.5 即可)//1. 下载对应Csharp版本,生成DLL包文件导入工程中(之后的基类,序列化反序列化都基于DLL包中写好的内容)//2. 下载对应操作系统的protoc编译器,用于之后生成代码文件(之后根据配置文件生成代码都是通过该应用程序)// 可将其放入Unity工程中,方便之后的使用(你也可以不放入Unity工程,记住它的路径即可)
2025-05-13 22:50:00
860
原创 协议(消息)配置
//协议生成工具 一般值消息(协议)生成工具 //就是专门用于自动化生成消息的程序 //我们之前学习了: //1.消息的序列化和反序列化 //2.区分消息类型 //3.分包黏包 //等等关于消息的知识 // 当需要一个新消息时,我们需要手动的按照规则去声明新的类 // 这部分工作费时又费力,技术含量也不高 // 如果前后端是统一的语言,我们按照语法声明一次就行
2025-05-01 14:13:10
1070
原创 详解UnityWebRequest类
UnityWebRequest 是 Unity 引擎中用于处理网络请求的一个强大类,它可以让你在 Unity 项目里方便地与网络资源进行交互,像发送 HTTP 请求、下载文件等操作都能实现。下面会详细介绍 UnityWebRequest 的相关内容。
2025-04-28 21:02:31
1210
原创 WWW和WWWForm类
/WWW是Unity提供的简单的访问网页的类//我们可以通过该类上传和下载一些资源//在使用http是,默认的请求类型是get,如果想要用post上传需要配合WWWFrom类使用//它主要支持的协议://1.http://和https:// 超文本传输协议//2.ftp://文件传输协议(但仅限于匿名下载)//3.file://本地文件传输协议 可以使用该协议异步加载本地文件(PC,IOS和Android都支持)//本节课主要使用WWW类来进行数据的下载或加载//注意。
2025-04-21 22:44:02
839
原创 详解与FTP服务器相关操作
基本概念:FTP 是文件传输协议(File Transfer Protocol)的缩写,FTP 服务器就是遵循该协议,专门用来存储和管理文件,并为用户提供文件上传和下载服务的服务器。用户可以通过 FTP 客户端软件连接到 FTP 服务器,进行文件的传输操作。功能特点文件传输:支持文件的上传和下载,用户可以将本地计算机上的文件上传到 FTP 服务器,也可以从 FTP 服务器下载所需的文件到本地。用户管理。
2025-04-16 23:02:53
1261
原创 用Unity实现UDP客户端同步通信
的 Unity 脚本类,用于管理 UDP 网络通信,它作为单例存在,在。单例实例存在,然后启动 UDP 客户端并连接到指定的服务器地址和端口。方法关闭套接字并发送退出消息,同时在脚本销毁时自动调用关闭操作。,是一个 Unity 脚本。它的主要功能是在游戏开始时确保。运行服务器,启动客户端,使客户端和服务器实现UDP同步通信。方法分别用于接收和发送消息,方法中创建收发消息的线程,方法将消息加入发送队列,这段代码定义了一个名为。方法处理接收到的消息;方法启动客户端连接,
2025-03-27 22:24:53
898
安卓项目-基于百度云的人脸识别考勤系统
2025-07-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
1