02 2025 档案
如何开发一个简单的游戏对话框模块?
摘要:前言 对话框可以增强玩家游戏沉浸感,增加与NPC情感联系,甚至画外音补充角色内心独白。总而言之,是一个非常重要,常见的功能,所以我分享一下对话框系统简单的框架流程,有兴趣的朋友可以基于此再进行二次开发。 对话演示 代码展示 代码结构: 场景结构: DialogueData.cs using Syst
Unity UI框架总结
摘要:前言 目前国内手游的开发过程中,大部分业务玩法都是围绕着UI进行的。一个玩法业务不管是大型还是小型,UI上能占用40%-60%的工作量,不过当然也与玩法类型也有关系,玩法越偏3D,UI占有率越低,玩法越偏2D,UI占有率就越高,甚至能达到100%。博主作为一个3年多工作经验的U3D小白,日常工作大部
Unity Addresable打包总结第二弹
摘要:前言 前文介绍了Addressables在本地打包是怎么使用,这里介绍下怎么打远程包,并且怎么做到打增量包,Let's Go! 远程包 新建一个Group,将它的 BUild & Load Paths 改为Remote,并将RemoteRes资源文件夹塞入Remote Group,其中包含一个Cap
Unity Addresable打包总结第一弹
摘要:前言 使用AB包很久了,一直没有机会做一个系统的总结,趁现在准备离职,时间空闲比较多,将项目内的Addresable使用经验大致的分析总结一下,以作日后备用。 使用介绍 下方的引用链接中,发哥已经总结的很详细了,但我这里还是稍微介绍一下基本流程。 基本流程 在Package Manager中导入Ad
Unity底层资源加载机制和资源打包原理
摘要:Unity的资源加载机制分为同步加载和异步加载两种方式。 同步加载 同步加载是在游戏运行时,资源直接从磁盘加载到内存中,直到加载完成才继续执行其他操作。可用的接口,例如Resources.Load()或者AssetBundle.LoadAsset()。 优点:简单易用 缺点:会阻塞主线程,导致卡顿
C#的GC垃圾回收
摘要:空间分配 在讨论垃圾回收之前,需要明白一个重要的事情,空间是怎么被分配出去的。在进程初始化时,CLR会保留一块连续的地址空间(托管堆),托管堆中维护着一个指针,称之为NextObjPtr,它指向下一个对象在堆中的分配位置。当我们在C#中调用new关键字的时候,编译器会自动生成IL指令newobj,该
组件快速查找工具思路分享
摘要:前言 在日常开发中,我们经常需要查找某个组件的字段被使用的情况。如果是代码引用,借助编译器可以轻松定位所有引用。但如果组件是直接挂载在GameObject上,就难以追踪其使用情况。为了解决这个问题,我开发了一个小工具,方便快速查找资源对组件的引用详情。 这个工具目前支持int,float,enum,