
游戏开发技术专栏
文章平均质量分 86
你一身傲骨怎能输
大家好,我是傲骨,一名热爱游戏开发的程序员,主要是游戏客户端研发方向。
我拥有计算机科学和应用数学学士学位,并在游戏行业工作了超过10年,专注于使用Unity和C#进行游戏开发。我参与过多个独立游戏项目,从概念设计到发布,积累了丰富的实践经验。
我会定期分享相关技术经验供大家学习和参考,已有的博客文章也会随着时间而逐渐更新与优化,我会尽量将每一篇文章写写满干货,让大家能阅读后有所收获,鉴于本人还在公司工作暂时不开启交流群,后期会逐渐开启交流群并且研发一些作品展示实战效果。对于一些购买我的技术专栏的表示感谢,感谢您的支持,一些专栏的文章会跟进公司项目实战经验不断的优化和更新,同时会替换掉烂文。
展开
-
ETC1格式支持:OpenGL ES与驱动实现详解
ETC1 支持 = OpenGL ES 规范支持 + 驱动实现支持只满足规范但驱动没实现,实际还是不能用。绝大多数 Android 4.0 及以上设备都支持 ETC1,但极个别老设备或定制系统可能不支持。Khronos官方:ETC1扩展说明OpenGL ES 2.0 规范Unity官方文档:Android纹理压缩格式下面我将继续详细说明如何检测设备对 ETC1 的支持(原生 OpenGL ES 和 Unity 两种方式)实际项目中如何做兼容性处理和自动切换ETC1 支持的常见问题与排查方法。原创 2025-05-10 11:05:58 · 580 阅读 · 0 评论 -
游戏App为何因宽带问题性能下降?揭秘底层机制!
游戏App因为宽带问题性能下降,就像外卖餐厅遇到送餐小哥堵车、丢单、送餐慢。即使餐厅(本地设备)再高效,外卖送不到顾客手里,顾客(玩家)体验也会变差。底层机制包括数据排队、丢包重传、延迟补偿等,最终导致画面卡顿、操作延迟、同步异常。我们继续用“外卖餐厅和送餐小哥”的比喻,把网络协议(TCP/UDP)、网络优化方法、以及一些游戏常用的网络同步机制讲得更生动易懂!游戏App的网络性能,就像外卖餐厅的送餐效率。原创 2025-05-07 01:40:42 · 581 阅读 · 0 评论 -
网络安全与防作弊——“防止演员串场、观众捣乱”
在游戏里,玩家就像舞台上的演员,应该按照剧本(游戏规则)表演。有些“演员”想作弊,比如突然跳到舞台另一边、自己加台词、偷拿道具,这就叫“串场”。观众本来只能看戏,但有些“观众”想冲上台抢戏、扔东西、干扰表演,这就像黑客攻击游戏服务器、刷屏、发垃圾信息。防作弊:让“演员”只能按剧本演,不能乱加戏。防攻击:让“观众”只能看戏,不能上台捣乱。服务器就是导演和保安,负责审核、监控和保护整个剧场的秩序。我们继续用“舞台剧”这个比喻,把网络安全与防作弊讲得更细致、更有画面感!导演。原创 2024-12-21 23:57:01 · 126 阅读 · 0 评论 -
生动形象的解释下状态同步原理
状态同步就像主持人定时给大家发拼图照片,大家照着照片调整自己的拼图,保证每个人桌上的拼图都一样。状态同步就像老师定时发画布照片,大家照着照片调整自己的画,保证每个人的画布都一样。原创 2024-12-21 23:57:32 · 102 阅读 · 0 评论 -
生动形象的解释下状态同步为什么适合慢节奏游戏而输入同步适合快节奏游戏
慢节奏,广播状态,大家慢慢跟上;快节奏,同步指令,动作分秒不差。一句话总结:慢节奏游戏像温情剧,大家只需定期对齐状态,体验不会受影响;快节奏游戏像动作剧,必须同步每个动作指令,才能保证公平和流畅!我们继续用“舞台剧”比喻,把状态同步和输入同步的适用场景讲得更生动、更具体!状态同步就像导演定时拍一张全家福,大家慢慢摆好姿势,拍出来的照片都差不多。输入同步就像大家一起跳团体操,导演每一拍都发口令,动作必须分毫不差。原创 2024-12-21 23:58:12 · 134 阅读 · 0 评论 -
生动形象的解释下游戏服务器是如何配置数据库的
数据库就像游戏的“记忆仓库”,服务器是“管家”,玩家是“客人”服务器和数据库之间要有“电话线”(连接配置),才能随时查账、记账数据库里有各种“账本”(表),记录着玩家的所有重要信息服务器要学会用数据库的“操作手册”,才能正确存取数据数据库要定期“体检”和“加锁”,保证数据安全和健康。原创 2024-09-25 22:59:24 · 169 阅读 · 0 评论 -
生动形象的解释下操作系统锁的底层运行机制
操作系统锁就像一个智能门禁系统,自动管理进门、排队、叫号、唤醒等一切流程。玩家(线程)只管申请进门(获取锁)和出门(释放锁),不用操心排队和叫号。这样既保证了安全(不会多人同时进门),又保证了效率(不会浪费资源)。操作系统的锁机制就像一个智能门禁系统,自动帮你排队、叫号、进门、出门,保证每次只有一个人能安全地操作BOSS的血量,其他人则自动有序地等待和被唤醒!我们继续用生动形象的方式,更深入地解释操作系统锁的底层运行机制,尤其是锁的实现细节自旋锁与阻塞锁的区别原子操作的作用,以及futex等底层技术。原创 2025-01-04 21:39:27 · 117 阅读 · 0 评论 -
基于游戏角色血量属性生动形象的解释下锁在多线程中的工作原理讲一下锁被释放后逻辑是自动执行的吗
锁的释放和等待线程的唤醒是自动的。只要锁被释放,等待队列中的下一个线程会自动获得锁,继续执行自己的任务。程序员只需要负责“获取锁”和“释放锁”,不用担心唤醒等待线程的细节。锁就像唯一的钥匙,谁拿到谁能操作,钥匙一还回来,排队的人会自动一个接一个地上前操作,无需手动通知!我们继续深入,基于游戏角色血量的例子,进一步讲讲锁释放后线程自动执行的底层原理,以及相关的细节和注意事项,让你对多线程锁的机制有更全面的理解。锁释放后,等待的线程会自动被唤醒并继续执行,无需手动干预。原创 2025-01-13 23:43:13 · 121 阅读 · 0 评论 -
基于游戏角色血量属性生动形象的解释下锁在多线程中的工作原理
锁就像BOSS血量管理员手中的“唯一钥匙”。只有拿到钥匙的玩家才能修改BOSS的血量,其他人只能等。这样保证了每次只有一个人能安全地修改血量,不会出现数据混乱。锁就是让修改BOSS血量这件事“一个一个来”,保证每次只有一个人能动手,血量不会乱!我们继续深入,用“游戏角色血量”这个例子,对比一下锁(Lock)和信号量(Semaphore)在多线程中的区别和适用场景,并进一步扩展一下相关知识。锁:一把钥匙,谁拿到谁进屋,其他人等。信号量:几把令牌,几个人能进屋,其他人等。锁。原创 2025-01-01 21:51:41 · 117 阅读 · 0 评论 -
基于游戏角色血量属性生动形象的解释下信号量在多线程中的工作原理
信号量就像BOSS身边的护卫队长,手里有固定数量的“攻击令牌”。只有拿到令牌的玩家才能攻击BOSS,保证了同时攻击BOSS的人数不会超过上限,BOSS的血量变化也不会混乱。这样既保证了游戏公平,也保证了系统安全!原创 2025-01-04 21:40:31 · 122 阅读 · 0 评论 -
多线程买奶茶:无锁方案如何提速游戏开发
有锁方案就像排队买奶茶,大家都得等,效率低。无锁方案就像自助取餐,大家随时取用,效率高。无锁数据结构用原子操作保证安全,极大减少线程间的等待和切换,提升多线程并发性能,特别适合高并发的游戏场景(如AI、网络、资源加载等)。如果你想了解具体的无锁队列实现原理、适用场景,或者在Unity中如何用NativeQueue等,欢迎继续提问!原创 2025-01-01 21:52:46 · 122 阅读 · 0 评论 -
采用多人买票案例生动形象的解释下无锁数据结构的工作原理
有锁买票:像一个窗口排队,大家都得等,效率低。无锁买票:像一群人同时抢自助机,谁快谁先,效率高。无锁数据结构就是用原子操作(像抢票按钮)来保证数据安全,大家都能同时操作,极大提升多线程环境下的效率!原创 2025-01-03 19:50:17 · 136 阅读 · 0 评论 -
基于Unity引擎中渲染线程、逻辑线程、物理线程、主线程生动形象的解释下多线程之间的协作流程
Unity多线程就像动画工厂的各个部门,导演(主线程)统筹全局,编剧(逻辑)、特效(物理)、美工(渲染)各司其职,协同合作,每一帧都要高效配合,才能让游戏世界流畅运行。我们继续用“动画电影制作工厂”的比喻,把Unity多线程协作流程讲得更细致、更形象,并补充一些实际开发中常见的细节和注意点。导演(主线程)敲锣:新一帧开始!编剧组(逻辑线程)写剧情:角色要干啥?特效组(物理线程)算特效:角色怎么动?碰撞了吗?导演(主线程)整合交接本:所有角色、物体的最新状态。美工组(渲染线程)画画面。原创 2025-01-15 23:39:53 · 133 阅读 · 0 评论 -
IO操作底层流程:用户态与内核态全解析
《IO操作的用户态与内核态解析》以快递取件为比喻,形象解释了用户程序(用户态)通过系统调用请求操作系统(内核态)完成数据读取的流程。重点分析了底层机制:用户态发起请求后,内核态执行权限检查、数据查找(可能触发磁盘IO)和内存拷贝,最后返回用户态。消耗主要来自用户态/内核态切换(纳秒级)和磁盘IO(毫秒级)。优化建议包括减少系统调用、使用零拷贝技术和异步IO。核心结论强调:IO操作的最大瓶颈在于磁盘IO,而非上下文切换。通过生活化类比和分层解析,清晰展现了程序与操作系统的协作机制。原创 2024-09-25 23:01:26 · 130 阅读 · 0 评论 -
生动形象的解释下动画层(Layer)和遮罩(Mask)技术
*动画层(Layer)**就像多个乐队同时演奏,每个乐队可以演奏不同的部分,最终合成一首完整的乐曲(角色动作)。**遮罩(Mask)**就像给乐队发的“乐器清单”,只允许他们演奏指定的乐器(身体部位)。通过动画层和遮罩,Unity可以让角色同时做多个动作,而且动作之间互不干扰,表现非常自然!我们继续用生动形象+技术细节的方式,进一步讲解动画层(Layer)和遮罩(Mask)在实际开发中的更多应用、注意事项,以及它们在底层是如何协作的。动画层(Layer)原创 2025-03-05 23:32:04 · 77 阅读 · 0 评论 -
Unity引擎动画状态机(Animator State Machine)的底层运行原理
Unity动画状态机就像一个聪明的导演,手里拿着剧本(状态机图),根据演员(角色)的状态和观众(玩家)的指令(参数),让角色在舞台上自然地切换各种动作(动画),并且保证动作之间的衔接流畅、自然。我们继续用生动形象+技术细节导演(Animator State Machine)拿着剧本(状态机图),根据演员的状态(参数),指挥演员自然地切换动作(动画片段、混合树),并在关键时刻(动画事件)安排特效、音效、判定,让观众(玩家)看到流畅、真实的表演。我们继续深入,从动画状态机与其他系统的协作。原创 2025-03-05 23:32:50 · 120 阅读 · 0 评论 -
一个游戏app的客户端架构可用采用什么方式进行描述呢
一个优秀的游戏客户端架构描述,应该。原创 2025-03-05 23:33:48 · 108 阅读 · 0 评论 -
安卓手机目录路径的解析原理
Android路径解析本质是API根据当前环境、权限、分区、包名等信息,动态拼接和校验实际的文件系统路径。ContentProvider和SAF等机制进一步抽象了路径,提升了安全性和兼容性。开发时应优先使用官方API获取路径,避免直接操作绝对路径。继续为你深入讲解安卓手机目录路径的解析原理路径解析的详细流程(源码层面)Android分区存储(Scoped Storage)对路径解析的影响ContentProvider与SAF(Storage Access Framework)路径解析机制。原创 2024-10-24 23:38:43 · 188 阅读 · 0 评论 -
游戏支付中的支付渠道
游戏支付中的支付渠道非常多样,开发者需根据目标市场、平台政策、用户习惯选择合适的支付方式,并做好技术接入、风控和合规工作。支付渠道的接入和维护是游戏商业化的重要基础之一。原创 2024-12-24 23:48:05 · 113 阅读 · 0 评论 -
一个5个顶点的立体地形生成导航网格的原理
只在满足坡度要求的表面(通常是水平或缓坡面)上生成导航多边形;每个可行走面生成一个或多个导航多边形;这些多边形之间建立连通关系,供AI寻路使用;陡峭面、垂直面、倒置面不会生成导航网格。我们继续深入讲解复杂立体地形的分割算法、坡度判定的具体实现,以及导航网格的底层数据结构。复杂立体地形的导航网格生成,核心是“只在可行走表面生成多边形”,并通过坡度、步高等参数判定可行走性。生成的导航网格是由一组凸多边形及其连接关系组成的连通图,供AI高效寻路。原创 2025-04-26 05:01:13 · 811 阅读 · 0 评论 -
传统 I/O 读写原理
传统I/O(Input/Output)指的是操作系统中最基础、最常见的I/O模型,通常也叫阻塞I/O(Blocking I/O)。它广泛应用于文件、磁盘、网络、终端等设备的数据读写。传统I/O是最基础的I/O模型,特点是阻塞、同步、简单。适合低并发、对性能要求不高的场景。在高并发、高性能场景下,通常会采用非阻塞I/O、多路复用、异步I/O等更高级的模型。继续深入讲解传统 I/O 读写原理,补充更多底层细节、与硬件的交互过程、以及与现代I/O模型的对比。原创 2025-04-26 04:00:57 · 966 阅读 · 0 评论 -
ios32位机型字节未对齐导致crash问题分析
字节对齐是指数据在内存中的存放地址必须是其类型大小的整数倍。例如,int32(4字节)通常要求地址是4的倍数,int16(2字节)要求2的倍数。32位iOS设备对内存对齐要求严格,未对齐访问会crash。64位设备容忍未对齐访问,导致问题不易暴露。解决方法是避免未对齐指针访问,使用memcpy等安全方式。建议在开发和测试阶段,优先用32位真机做兼容性测试。原创 2025-04-26 02:53:54 · 870 阅读 · 0 评论 -
虚幻引擎中GC超过最大尝试次数(MaxAttempts),超过后会强制GC,为什么不管异步加载是否完成呢
这是一个非常有代表性的问题,涉及到虚幻引擎(Unreal Engine)GC(垃圾回收)与异步加载(Async Loading)机制的底层设计权衡。原创 2025-04-26 02:48:11 · 982 阅读 · 0 评论 -
录像功能(Replay System)
录像功能是指服务器在底层网络协议层实时收集和记录一局游戏中的所有协议交互数据,生成可供客户端回放的单局录像(Replay)文件。每一局游戏结束后,录像文件会被上传至CDN,外部系统或用户可通过URL快速访问和下载该录像,实现单局回放和分析。录像功能是现代游戏后台的重要基础设施,支撑了问题定位、反作弊、AI训练等多种核心业务场景。通过高效的数据采集、存储和分发机制,极大提升了游戏的可运维性、安全性和智能化水平。下面我将继续深入讲解录像功能(Replay System)原创 2025-04-26 02:22:28 · 671 阅读 · 0 评论 -
动画状态机+技能状态模式
技能、Buff、特殊动作等,状态种类多、复用性高、变化频繁。采用传统MMO方式:程序自定义技能状态机,直接控制动画序列帧的播放(如PlayMontage、PlayAnimation等),不依赖动画状态机的复杂结构。技能动画通常为单一序列,播放完毕后回到主状态机。“动画状态机+技能状态模式”是过渡期常用的混合方案,兼顾灵活性和性能,但切换和维护成本较高。随着项目成熟,建议逐步统一到动画状态机体系,提升动画表现力和开发效率。原创 2024-12-30 23:49:07 · 101 阅读 · 0 评论 -
传统MMO游戏动画方案
并给出一些实际开发中的经验和注意事项。原创 2024-12-30 23:49:54 · 118 阅读 · 0 评论 -
骨骼和蒙皮
多对多关系:每个顶点可被多个骨骼影响,每根骨骼也可影响多个顶点。动画流程:骨骼随动画变化,顶点随骨骼变形,最终实现Mesh的动态动画。导入阶段:Mesh、骨骼、SkinInfo、动画数据 → 解析并建立数据结构运行阶段采样动画 → 计算骨骼全局变换计算最终骨骼变换矩阵对每个顶点做骨骼加权混合输出变形后的Mesh进行渲染接下来我将继续深入讲解骨骼蒙皮动画的进阶内容。原创 2024-12-30 23:51:08 · 153 阅读 · 0 评论 -
骨骼动画如何控制骨骼的呢?
骨骼动画通过每帧控制每根骨骼的变换,实现角色动态表现。动画数据量大时,必须采用压缩和优化技术,才能兼顾动画质量与性能。合理设计骨骼结构、动画分层、数据压缩,是高效动画系统的关键。接下来我将继续深入讲解骨骼动画数据的压缩与优化,并补充一些实际工程中的细节处理和进阶技巧,帮助你更系统地理解骨骼动画的高效实现。骨骼动画的高效实现,离不开合理的数据结构设计和多层次的压缩优化。在实际项目中,建议分角色、分场景、分平台灵活配置动画压缩参数。原创 2025-04-25 22:58:48 · 650 阅读 · 0 评论 -
关键骨骼是如何协同工作的呢?
骨骼层级是协同的基础,父骨骼的变换会影响所有子骨骼。动画关键帧分布要合理,全身动作放在pelvis,上半身动作放在spine,四肢动作放在对应骨骼。IK骨骼便于程序控制,如脚步贴地、手部抓取等。动画混合和分层能让角色动作更自然、灵活。与美术协作时,明确骨骼层级和命名规范,避免后期动画和程序出错。接下来我将进一步深入讲解关键骨骼协同工作的细节,特别是动画系统在运行时如何高效地管理和驱动这些骨骼,以及在实际开发中如何优化和扩展骨骼动画系统。关键骨骼通过。原创 2025-04-25 22:54:07 · 682 阅读 · 0 评论 -
介绍下骨骼系统中的关键骨骼
掌握关键骨骼的结构和作用,是理解和实现骨骼动画系统的基础。程序同学只需关注主干、四肢、IK等关键骨骼,配合美术同学的详细骨骼搭建和动画制作,就能高效实现复杂的角色动画效果。接下来我将继续深入讲解关键骨骼在实际开发中的应用场景、数据结构设计、IK(反向动力学)骨骼的原理与用法、以及常见的骨骼动画流程,并给出一些实用建议,帮助你在项目中更好地理解和运用这些知识。IK(Inverse Kinematics,反向动力学)是一种动画技术,用于自动计算一组骨骼的旋转,使得末端骨骼(如手、脚)到达指定目标位置。原创 2025-04-25 22:46:41 · 610 阅读 · 0 评论 -
什么是骨骼系统?
骨骼系统,又称骨架系统(Skeleton System),是3D动画和游戏中用来驱动角色模型变形的一套层级结构。它模拟了真实生物的骨骼和关节,通过控制骨骼的旋转、移动,实现角色的各种动作。骨骼系统是现代3D动画和游戏角色动画的基础。它通过模拟真实生物的骨架结构,实现高效、灵活、可复用的动画制作和驱动。理解骨骼系统的结构和原理,有助于更好地进行动画设计、程序开发和美术协作。下面我将继续深入讲解骨骼系统的核心原理、蒙皮算法(Skinning)、动画驱动流程、常见问题与优化建议。原创 2025-04-25 22:42:30 · 608 阅读 · 0 评论 -
关键帧动画
*关键帧动画(Keyframe Animation)**是一种动画制作技术,通过在时间轴上设置若干“关键帧”(Keyframe),每个关键帧记录对象在该时刻的主要属性(如位置、旋转、缩放、颜色等)。动画系统会自动在关键帧之间进行插值(interpolation),生成连续的动画效果。关键帧动画是现代动画系统的核心技术之一,兼顾存储效率、编辑灵活性和表现力。通过合理设计关键帧、插值算法和动画混合机制,可以实现丰富、自然的动画效果。下面我将继续深入讲解关键帧动画的插值算法、数据结构、动画混合、工程实现细节。原创 2025-04-25 22:38:53 · 830 阅读 · 0 评论 -
深入分析下用@1x图片,iPhone X是@3x,图片会被放大3倍,模糊的原因
1x:1个点(pt)= 1个像素(px),用于老款低分辨率设备。@2x:1个点 = 2x2像素,iPhone 4~8等Retina屏。@3x:1个点 = 3x3像素,iPhone Plus、iPhone X及之后的高分辨率设备。只用@1x图片,iPhone X等高分辨率设备会强行放大,导致图片模糊。根本原因是像素点不足,系统插值放大无法补充细节。正确做法是为每种分辨率提供对应的图片资源,或用矢量图。下面继续深入分析iOS图片放大时的底层处理细节真实开发中常见的误区和陷阱。原创 2024-11-05 23:55:07 · 117 阅读 · 0 评论 -
app屏幕适配中不同分辨率/密度下UI变形、模糊的原因分析
UI变形、模糊的根本原因忽略了屏幕密度的差异,直接用物理像素(px)做布局和图片资源,导致在不同密度设备上显示比例和清晰度不一致。解决思路用独立像素单位做布局,提供多分辨率资源,优先用矢量图,严格按适配规范开发。下面继续深入分析UI变形、模糊的底层原理、实际开发中容易忽视的细节,以及如何定位和修复这类问题。UI变形、模糊的根本原因是忽略了屏幕密度和分辨率的适配机制。规范使用独立像素单位和多分辨率/矢量资源,是解决问题的关键。开发、设计、测试三方协作,统一适配标准,才能彻底杜绝此类问题。原创 2024-11-11 23:34:13 · 125 阅读 · 0 评论 -
app屏幕适配需要知道的知识点
设计、开发、测试三方协作,统一基准和规范。代码中避免硬编码,优先用自适应布局和单位。图片、icon优先用矢量或多分辨率资源。充分测试特殊屏幕、极端分辨率、系统缩放、字体放大等场景。持续关注新设备、新系统的适配需求,及时更新适配方案。下面继续补充App屏幕适配的进阶内容,包括特殊设备适配、国际化与本地化适配、动态适配策略、团队协作建议,以及常见问题排查思路。原创 2024-11-11 23:34:43 · 119 阅读 · 0 评论 -
为什么 Plugins 目录下的脚本不能引用普通脚本?
Unity 的编译顺序和 Assembly 依赖是单向的。Plugins 目录下的脚本先编译,普通脚本后编译。先编译的 Assembly 不能引用后编译的 Assembly,否则会导致编译依赖环、找不到类型等底层错误。Unity 的编译顺序和 Assembly 依赖是单向的,先编译的 DLL 不能依赖后编译的 DLL。Plugins 目录下的脚本先编译,普通脚本后编译。物理上 DLL 还没生成,逻辑上 Assembly 不能环形依赖,所以 Plugins 目录下的脚本不能引用普通脚本。原创 2024-11-12 23:50:26 · 343 阅读 · 0 评论 -
protobuf-net 的核心能力之一动态生成代码
在运行时,根据你的数据类型(通常是带有特性的类),自动分析其结构,并用 Reflection.Emit 动态生成高效的序列化和反序列化方法。这种方法不是在编译时写死的,而是程序运行时自动生成的。生成的代码会被缓存,后续对同一类型的操作会直接复用,性能很高。protobuf-net 的核心能力之一就是动态生成序列化/反序列化代码,这让它既高效又易用。这种能力依赖于 .NET 的反射和 Reflection.Emit。在支持 JIT 的平台下,开发者几乎无需关心底层细节,直接用即可。原创 2024-11-13 23:51:11 · 100 阅读 · 0 评论 -
Unity手游的UI适配
适配方案适用场景优缺点绝大多数UI适配简单易用,适配大部分分辨率锚点系统固定位置UI元素灵活,适合固定边角元素动态列表、菜单自动布局,减少手动调整Safe Area刘海屏、异形屏保障UI不被遮挡代码动态调整复杂适配需求灵活但需额外开发我们继续深入讲解Unity手游UI适配的高级技巧和实战方案,包括多分辨率资源管理、字体适配、性能优化以及常见问题解决。方面关键点选择合适的缩放模式和参考分辨率锚点布局合理设置锚点,避免硬编码位置Safe Area适配刘海屏和异形屏。原创 2025-01-17 23:06:56 · 158 阅读 · 0 评论 -
将xls转成protobuf供Unity使用的流程
核心流程:Excel → csv/json → protobuf二进制 → Unity反序列化自动化脚本和工具链可以极大提升效率,保证数据安全和一致性。接下来我将补充更详细的实践细节、常见问题、自动化建议和进阶用法,帮助你把“Excel转protobuf供Unity使用”这条数据链路做得更健壮和高效。原创 2025-01-17 23:07:37 · 117 阅读 · 0 评论 -
游戏纹理抖动的成因分析和解决方案
纹理抖动的本质是采样精度、过滤方式、深度精度等多方面问题的综合表现。解决时需针对具体场景,结合Mipmap、过滤、UV精度、贴图分辨率、深度缓冲等多方面优化,才能获得稳定、清晰的画面效果。原创 2025-01-17 23:09:01 · 146 阅读 · 0 评论