自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 收藏
  • 关注

原创 Unity GUI优化

Unity通过将同一Canvas下满足条件的UI元素(相同材质、图集、相邻且Depth一致)合并到顶点缓冲区,减少DrawCall。合批流程包括深度优先排序、Depth计算及相邻元素检查。优化建议:动静分离Canvas、Text与Image分Canvas、简化层级、减少Mask、使用图集。网格重建由子线程处理,降低性能消耗。动态元素可能破坏合批,需合理规划Canvas结构。

2026-04-02 17:05:38 402 1

原创 Unity A*寻路算法

A*寻路算法的实现过程。首先定义了节点类,包含行走状态、位置坐标、路径代价(gCost)、预估代价(hCost)和父节点等属性。然后通过网格管理器生成地图网格并获取相邻节点。算法核心使用开放列表和关闭列表,通过比较FCost和hCost选择最优节点,回溯父节点获取最终路径。计算预估代价时可采用哈曼顿距离或切比雪夫距离。优化方案包括使用优先队列和哈希表存储节点,复用缓存路径,以及采用迪杰斯特拉算法进行反向扩散计算。该实现支持四方向和八方向移动,能够有效找到两点间最优路径。

2026-03-31 21:41:26 637

原创 Unity YAML

Unity中YAML文件结构和引用机制。YAML文件包含版本声明、对象定义块(通过ClassID和FILEID标识),支持同文件引用(fileID)和跨文件引用(GUID)。YAML文件存储资产本体内容(如预制体、场景等),而.meta文件则存储GUID和配置信息。对于非YAML格式资源(如脚本、图片),其.meta文件中的GUID是实现资源引用的关键。两者共同构成Unity资产的序列化存储体系。

2026-03-31 11:13:42 522 1

原创 C++ 知识点概要

摘要:本文系统介绍了C++核心概念与技术要点。1)编译流程:从预处理到链接的完整过程,包括静态/动态链接区别;2)多态实现:静态多态(函数重载/模板)与动态多态(虚函数/虚表机制);3)继承体系:访问控制、同名处理及菱形继承解决方案;4)构造/析构函数特性及智能指针应用;5)内存管理:五大存储区特点及new/malloc区别;6)关键语法:指针/引用、static/const等核心区别;7)模板编程:函数/类模板实现泛型;8)STL容器:vector/list及map/unordered_map底层实现差异

2026-03-29 20:56:42 370

原创 《操作系统》再学习

本文摘要:操作系统具有进程控制、内存管理、设备管理和文件管理四大核心功能。进程是资源调度的基本单位,涉及硬件/软件资源分配和状态转换(就绪、运行、阻塞、终止)。线程是轻量级执行单元,通过线程池优化创建开销,需同步机制(互斥锁、信号量等)解决数据竞争和死锁问题。进程与线程的关键区别在于资源占用和调度开销,但共同服务于并发执行目标。死锁的四个必要条件及预防策略(如银行家算法)是系统设计的重点。信号量机制通过P/V操作实现资源访问控制,确保线程安全。

2026-03-28 14:19:42 430

原创 《计算机网络》再学习

文章摘要:本文系统介绍了TCP/IP与OSI网络模型、TCP连接管理机制(三次握手/四次挥手)、TCP可靠传输原理(滑动窗口/流量控制/拥塞控制)、UDP与TCP协议对比、UDP可靠传输实现方案、HTTP协议特性(请求方法/报文结构/长短连接)、TCP粘包分包问题及解决方案,以及游戏开发中的帧同步与状态同步技术。重点解析了TCP通过序列号、确认应答、超时重传等机制确保可靠传输,对比了不同同步技术的优缺点,为网络通信和实时交互系统开发提供了技术参考。

2026-03-27 22:12:09 395

原创 Unity知识点概要

Unity开发核心知识点汇总,涵盖脚本生命周期、更新函数、资源加载、UI系统、协程、多线程、数据持久化等关键技术点。重点内容包括:1)脚本执行流程与初始化函数;2)四元数与欧拉角的区别;3)UGUI布局与渲染模式;4)协程实现原理与应用场景;5)对象池优化方案;6)常用架构模式对比;7)AB包打包策略;8)性能优化技巧(合批、Overdraw处理等)。同时涉及DOTS技术栈、新输入系统、导航寻路等高级特性,为Unity开发者提供全面的技术参考。

2026-03-25 09:57:12 593 1

原创 C#知识点概要

C#编程的核心概念,主要包括:面向对象三大特征(封装、继承、多态)及其实现方式;值类型与引用类型的存储差异;堆与栈的内存管理特性;装箱拆箱的原理及优化方法;访问修饰符的作用范围;集合类型的选择策略(泛型与非泛型);接口与抽象类的应用场景;特殊关键字(sealed、unsafe、ref、out)的用法;结构体与类的区别;构造函数类型;泛型机制与约束;字典的哈希表实现原理;元数据与反射机制;循环遍历方式的比较;以及编译过程和内存管理技巧。文章还提供了常见问题的解决方案,如字符串拼接优化、对象重用模式等

2026-03-25 09:56:59 436

原创 Unity简易对话系统

注:玩家控制角色获取NPC上的IDialogue接口实现StartDialogue方法即可。4.GameObject层。2)选项框UI组件选择。通过网盘分享的文件:自制Unity对话系统链接: https://pan.baidu.com/s/1RaTSziEbYdesrxixeoimDw?pwd=dn7v 提取码: dn7v

2025-11-20 20:18:32 1167

原创 卡牌肉鸽框架再学习

介绍了卡牌游戏开发中的核心系统实现方案。主要内容包括:1)卡牌数据交换机制,通过ScriptableObject实现卡牌效果继承与伤害计算;2)伤害与倍率计算系统,包含攻击倍率、防御值和生命值处理逻辑;3)回合制战斗机制,实现玩家和敌人的回合切换及行为控制;4)场景加载与卸载的异步处理方法;5)卡牌管理系统,采用对象池技术优化卡牌实例的创建与回收。整体系统设计采用面向对象编程思想,通过数据驱动方式实现卡牌游戏的核心玩法逻辑。

2025-10-24 16:11:58 700

原创 Unity DOTS

Unity DOTS技术栈包含Burst编译器和JobSystem两大核心。Burst可将C#代码编译为高效本地代码,通过[BurstCompile]标记实现性能优化;JobSystem通过多线程并行处理任务,使用IJob接口定义任务,配合NativeArray实现跨线程数据访问。ECS架构则包含Entity实体、Component数据和System逻辑处理三部分,通过ForEach并行处理实体数据。该技术栈显著提升了Unity的性能表现,特别适用于大规模数据处理场景。

2025-08-21 14:10:06 1118

原创 Unity ARPG战斗系统 _ RootMotion相关知识点

RootMotion技术用于解决动画播放与实际位移偏差导致的滑步问题。其核心原理是将动画根节点的绝对坐标转化为游戏对象的相对位移和转角,而非直接修改每一帧坐标值。开发者可通过OnAnimationMove()脚本控制位移。在通用骨骼(Generic)中需选择模型的根节点,而人形骨骼(Humanoid)则通过计算模型重心和地面投影位置来实现。设置时需注意旋转(Y轴)、BakeIntoPose选项、偏移量修正及BasedUpon参数的选择。Humanoid模式下Y轴Position建议使用Feet基准,并利用U

2025-06-03 18:35:48 652

原创 中北大学动漫创新实验室问题汇总答疑

讨论了Unity开发中的UI布局、单例与事件模式、世界模式、携程、序列化与反序列化、异步加载、欧拉角和四元数、时间细节等问题。同时,还提到了如何优化项目结构,如脚本和资产的分类、文件管理等。

2025-05-11 15:59:07 559

原创 Unity垃圾回收(GC)

3)装箱(变量转化为object类型)与拆箱(变量转为基本类型),可以使用.ToString()使得代码编译减少装箱操作,从而减少堆上内存分配。注:C++不支持GC,需要手动管理内存,使用new()申请内存空间,使用完后通过delete()释放掉,但可能出现忘记释放或者指针丢失的情况。1)谨慎使用new(),并且避免在Update等周期函数中使用,array,class等分配在堆上。3)Unity的GC采取不压缩(内存块不会从离散变连续)的机制,可能导致内存碎片化。3)多使用对象池与Cache(缓存)

2025-05-07 20:45:29 1253

原创 2D横板跳跃游戏笔记(查漏补缺ing...)

7.动画脚本写设置动画的函数,然后用其他脚本中调用,Trigger单独调用,Int/float/bool在动画脚本的update中更新。数据会存入Data的每个字典中,每个字典分别由ID与存储数据构成,那么每个脚本挂。6.在animator中的每个animation,可以点击Add Behaviour可以创建该类脚本,进行代码控制。具体逻辑:一个脚本需要数据保存与读取,需要调用接口,实现里面的方法并且注册(卸载)注。注:获取可交互物体对应的接口,然后执行接口函数,就会执行不同物体的不同方法。

2025-05-07 16:39:16 764

原创 Unity性能优化概要笔记

Unity部分优化手段的介绍与应用

2025-04-10 20:47:33 460

原创 Unity Shader开发概要笔记

1.概念:Shader是着色器,用于编写图形表现效果的程序代码。2.本质:对渲染管线的数据进行自定义处理最终决定渲染效果。

2025-04-06 21:19:12 282

原创 Unity Shader渲染管线概要笔记

1.应用阶段提供顶点数据。2.几何阶段进行顶点坐标转换与图元裁剪。3.对片元进行最终处理,完成是否渲染片元到屏幕上与最终渲染颜色。

2025-04-04 22:22:10 800 2

原创 Unity卡牌肉鸽开发笔记(查漏补缺ing...)

简述开发卡牌肉鸽游戏的常见知识点

2025-04-01 23:05:21 1621

原创 Unity事件系统(委托与回调函数)

事件系统可以理解为,有一个呼叫者【唯一性】发出一种特定的信号(激活事件的函数),一个或多个监听者监听它所监听信号(事件注册/撤销),如果匹配则监听者会实施相应动作(回调函数)。

2025-03-24 09:00:00 1325

原创 Unity复刻原神钓鱼机制

使用unity的ui复刻原神钓鱼机制

2025-03-18 09:30:00 521

原创 Unity后处理概要笔记

unity的后处理技术能使你拥有更好的画面观感与风格化的画面。

2025-03-10 20:18:39 2228

原创 Unity光照系统概要笔记

概述了unity光照的主要内容

2025-03-09 15:45:58 2210

原创 Unity 2D交互式游戏的开发思路

场景切换需要两个部分:场景管理和传送点。场景管理是用来作为场景切换具体方法的描述,而传送点则是方法的实现(调用)。

2024-11-28 22:34:05 1424

原创 Unity 2D平台跳跃游戏中冲刺和蓄力冲刺实现(新的输入系统)

使用新的输入系统去进行冲刺和蓄力冲刺的制作,我们要解决几个问题:1.如何实现冲刺效果。2.如何判断玩家是长按按键还是短按。3.冲刺过程中如果撞到墙,应该怎么办?4.冲刺时的镜头抖动应该怎么做?我们一个一个来解决。至于多向冲刺我个人认为可以单独开一篇来讲,主要介绍键盘和手柄去控制,以及手柄输入时的优化问题。

2024-11-08 21:52:25 789 1

原创 Unity 2D类星露谷物语制作笔记(上)

之后,为我们草地的每个瓦片指定对应的规则,左下图的意思是,中心点代表该瓦片,以该瓦片为中心四周,×代表此处不能有其他瓦片,√代表可以有其他瓦片。那么在图片调整中,我们会有锚点的概念,它的作用我们举个例子,我们已经调整为y轴渲染,那么现在有一棵树挡在玩家面前,那么为什么它可以遮挡玩家呢,因为它的锚点更低(相较于玩家的锚点)1.在制作2D人物时,提供一种实现人物动作和更换服装的操作,就是将完整的像素人物不同的部位切割出来,单独制作,例如人物动的地方是手臂和腿,那么我们就可以单独制作这部分的帧动画。

2024-09-05 15:52:42 2464

原创 Unity 2D横板闯关游戏部分功能的实现方法

点击animator界面右侧的Transition线,就可以在Inspector中看到这个界面,一般来讲,Setting中的Exit Time和Transition Duratio/Offset均设置为0即可。之后就可以在Conditions中添加刚才设置好的bool值作为条件。作为一位Unity初学者,只是希望能记录一些笔记和心得,如果有任何有问题的地方,希望可以指正。

2023-12-26 16:49:20 2365 3

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除