<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[a310989583的专栏]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/a310989583</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; a310989583]]></copyright><item><title><![CDATA[JetBrains 内的 GitHub Copilot Agent Mode + MCP：从配置到实战]]></title><link>https://blog.csdn.net/a310989583/article/details/150579315</link><guid>https://blog.csdn.net/a310989583/article/details/150579315</guid><author>a310989583</author><pubDate>Thu, 21 Aug 2025 11:39:46 +0800</pubDate><description><![CDATA[GitHub Copilot的AgentMode是一种新型&quot;自主项目助手&quot;，能理解自然语言指令并自动执行多步代码任务。通过ModelContextProtocol(MCP)协议，AgentMode可访问终端、读写文件等。JetBrains已正式支持该功能，需升级插件并配置MCP服务器后即可使用。与仅回答问题的AskMode和单文件修改的EditMode不同，AgentMode适合跨文件复杂任务，但仍需用户确认修改。该功能将AI辅助开发提升到新水平，未来潜力巨大。]]></description><category></category></item><item><title><![CDATA[【Unity3D框架】用行为树管理手游弹窗队列：比（优先级）队列更稳、更可扩的设计]]></title><link>https://blog.csdn.net/a310989583/article/details/150560125</link><guid>https://blog.csdn.net/a310989583/article/details/150560125</guid><author>a310989583</author><pubDate>Thu, 21 Aug 2025 09:30:00 +0800</pubDate><description><![CDATA[本文提出使用极简行为树（BT）替代传统优先级队列来管理手游弹窗流程。作者指出队列结构难以处理子流程插入和回流问题，而行为树通过Sequence、Parallel、Action三种节点，能更好地实现&quot;主序列+临时子序列+全局并行任务&quot;的编排。具体方案采用Parallel根节点分两路：左路顺序处理主要弹窗（分5个优先级组），右路处理不阻塞的并行任务。每个弹窗被封装为包含Open、ShowAnim、KeepAlive等动作的模板子树，其中KeepAlive作为关键哨兵控制流程推进。相比队列方案]]></description><category></category></item><item><title><![CDATA[【Unity3D优化】平衡 Hide 与 Destroy：基于性能等级与 LRU 的 UI 管理策略与实践思考]]></title><link>https://blog.csdn.net/a310989583/article/details/150558162</link><guid>https://blog.csdn.net/a310989583/article/details/150558162</guid><author>a310989583</author><pubDate>Wed, 20 Aug 2025 17:08:18 +0800</pubDate><description><![CDATA[本文提出了一种基于LRU策略的UI管理系统，用于平衡移动设备上内存占用与加载性能。系统根据设备性能分层：高性能设备优先使用Hide保持响应速度，低性能设备则采用LRU机制自动销毁长时间未使用的隐藏UI。通过双向链表和哈希表实现LRU管理，并引入延迟销毁机制避免冲突。特别保护加载成本高的&quot;重量级界面&quot;，同时支持动态容量调整和白名单机制。该方案有效解决了UI资源管理难题，在确保流畅体验的同时优化内存使用，并为进一步扩展提供了灵活的设计空间。]]></description><category></category></item><item><title><![CDATA[【Unity3D】iOS 26 Beta 3内购订单无法消耗问题全解析与应对建议]]></title><link>https://blog.csdn.net/a310989583/article/details/150553037</link><guid>https://blog.csdn.net/a310989583/article/details/150553037</guid><author>a310989583</author><pubDate>Wed, 20 Aug 2025 14:14:26 +0800</pubDate><description><![CDATA[iOS 26 Beta 3 在 StoreKit（SK1 / SK2）内购流程上存在一个严重的系统层面 bug：调用 finishTransaction: / transaction.finish() 后交易仍留队列中，重复购买被认定为恢复，导致支付流程无法继续。该问题尚未有官方修复说明。]]></description><category></category></item><item><title><![CDATA[【Unity3D】优化淡入淡出文字时阴影显脏问题]]></title><link>https://blog.csdn.net/a310989583/article/details/150537282</link><guid>https://blog.csdn.net/a310989583/article/details/150537282</guid><author>a310989583</author><pubDate>Wed, 20 Aug 2025 00:08:46 +0800</pubDate><description><![CDATA[摘要 针对Unity UI中描边/阴影文本在淡入淡出时出现的发灰发脏;问题，本文提出了一种轻量级解决方案：通过自定义CanvasGroup组件，在统一控制整体透明度时，对文本主体和阴影/描边采用不同的透明度衰减曲线。核心思路是让阴影在低透明度区间更快消失，从而避免视觉干扰。该方法通过缓存Graphic和Shadow组件初始透明度，在应用alpha值时分别处理：文本主体线性衰减，阴影按自定义曲线(默认x⁴)更快衰减。使用方式简单，只需替换原有CanvasGroup，保持原有动画逻辑不变，]]></description><category></category></item><item><title><![CDATA[【Unity3D优化】优化多语言字体包大小]]></title><link>https://blog.csdn.net/a310989583/article/details/148591603</link><guid>https://blog.csdn.net/a310989583/article/details/148591603</guid><author>a310989583</author><pubDate>Wed, 11 Jun 2025 18:18:32 +0800</pubDate><description><![CDATA[摘要： 针对多语言手游的字体资源管理问题，本文提出了一套精简子集方案，有效减小包体体积。通过筛选基础字符集、统计常用字（如中文5400字、日语2136字）、扫描项目文本及程序化生成韩文字符，结合fonttools裁剪.ttf文件，最终将NotoSansCJK等字体体积缩减50%-60%（如42MB→18MB），同时降低运行时内存占用，确保多语言显示完整。该方案适用于UI密集型轻度出海手游，兼顾性能与国际化需求。]]></description><category></category></item><item><title><![CDATA[【Unity优化】提高热更新和打包速度]]></title><link>https://blog.csdn.net/a310989583/article/details/148591024</link><guid>https://blog.csdn.net/a310989583/article/details/148591024</guid><author>a310989583</author><pubDate>Wed, 11 Jun 2025 17:53:34 +0800</pubDate><description><![CDATA[摘要：针对Unity手游项目中打包和热更新耗时严重的问题，本文提出三项优化方案。首先采用ScriptableBuildPipeline替代传统打包方式，实现增量打包和缓存复用，节省30%时间。其次优化AssetDatabase导入流程，通过批量处理减少资源导入时间50%以上。最后配合逻辑优化策略，如仅更新脚本时跳过其他资源处理、多版本对比生成热更新配置等。这些优化显著提升了开发效率，为类似项目提供参考。]]></description><category></category></item><item><title><![CDATA[【Deepseek】本地部署 DeepSeek R1 指南]]></title><link>https://blog.csdn.net/a310989583/article/details/145613641</link><guid>https://blog.csdn.net/a310989583/article/details/145613641</guid><author>a310989583</author><pubDate>Thu, 13 Feb 2025 15:36:33 +0800</pubDate><description><![CDATA[随着 AI 领域的快速发展，许多开发者希望在本地部署 DeepSeek R1 大模型，以实现更安全、可控的 AI 交互体验。本文将详细介绍本地部署 DeepSeek R1 的硬件需求、安装步骤、优化方案及常见问题解决方法。]]></description><category></category></item><item><title><![CDATA[【Unity3D杂谈】使用NDK命令行工具翻译Android Vitals上的内存堆栈]]></title><link>https://blog.csdn.net/a310989583/article/details/145612779</link><guid>https://blog.csdn.net/a310989583/article/details/145612779</guid><author>a310989583</author><pubDate>Thu, 13 Feb 2025 15:06:56 +0800</pubDate><description><![CDATA[addr2line是NDK提供的一个命令行工具，可将崩溃日志中的地址转换为具体的代码位置。]]></description><category></category></item><item><title><![CDATA[【Unity3D优化】使用ASTC压缩格式优化内存]]></title><link>https://blog.csdn.net/a310989583/article/details/145612167</link><guid>https://blog.csdn.net/a310989583/article/details/145612167</guid><author>a310989583</author><pubDate>Thu, 13 Feb 2025 14:47:25 +0800</pubDate><description><![CDATA[内存占用降低了30% 以上，有效减少了RAM压力。加载性能优化，由于ASTC的高效压缩，资源的磁盘占用也相应减少。兼容性良好，通过自动检测设备支持情况，确保了游戏在不同设备上的稳定运行。视觉效果优化，针对特定场景调整了压缩方案，避免了画质损失。]]></description><category></category></item><item><title><![CDATA[【Unity3D优化】AssetBundle的压缩格式优化]]></title><link>https://blog.csdn.net/a310989583/article/details/145611680</link><guid>https://blog.csdn.net/a310989583/article/details/145611680</guid><author>a310989583</author><pubDate>Thu, 13 Feb 2025 14:29:21 +0800</pubDate><description><![CDATA[在Unity3D手游开发中，AssetBundle是一种常见的资源管理方式。合理选择AssetBundle的压缩格式，不仅可以降低流量消耗，还能减少游戏运行时的内存占用，提高加载效率。本文将详细探讨Unity AssetBundle的压缩格式优化，尤其是LZ4与LZMA的区别，并介绍如何利用LZMA转LZ4的方式优化资源加载。]]></description><category></category></item><item><title><![CDATA[【Unity杂谈】iOS 18中文字体显示问题的调查]]></title><link>https://blog.csdn.net/a310989583/article/details/142363380</link><guid>https://blog.csdn.net/a310989583/article/details/142363380</guid><author>a310989583</author><pubDate>Thu, 19 Sep 2024 16:25:08 +0800</pubDate><description><![CDATA[最近苹果iOS 18系统正式版推送，周围升级系统的同事越来越多，有些同事发现，iOS 18上很多海外游戏的中文版，显示的字很奇怪，就像一些字被“吞掉了”，无法显示。如果没有显示可以下载，但是点编辑却找不到这个字体，说明是设置也卡bug了，此时重启手机，安装一个别的字体触发一下刷新，就会发现 苹方-简 变成可以下载的状态了。我找了有问题和没有问题的设备，仔细对比，发现两边的区别是，苹方系列字体在有问题的手机上是没有安装的，装上之后，这个问题就解决了。可以看到图中，游戏的戏字在底下的字体就无法显示。]]></description><category></category></item><item><title><![CDATA[【Unity3D优化】优化内置shader的内存占用]]></title><link>https://blog.csdn.net/a310989583/article/details/141718298</link><guid>https://blog.csdn.net/a310989583/article/details/141718298</guid><author>a310989583</author><pubDate>Fri, 30 Aug 2024 15:16:11 +0800</pubDate><description><![CDATA[在打AB包的过程中，并不会把这些Built-in的shader单独打包，并与材质球和预设体做好依赖，因此打AB包时，Unity会自行在材质球和预制体的AB包内每一个都包含进去用到的Built-in的Shader，而且运行时，由于加载的是不同的AB包，shader也是不同的实例，占用的也是多份内存。结合项目特点可以分析，由于项目里使用了大量的粒子特效，一些特殊的效果，会给特效师写定制的shader，但是这些常见的效果，特效师直接使用了Unity Built-in的shader。继续优化内存占用。]]></description><category></category></item><item><title><![CDATA[【Unity优化】优化Android平台拖动地图表现]]></title><link>https://blog.csdn.net/a310989583/article/details/141715065</link><guid>https://blog.csdn.net/a310989583/article/details/141715065</guid><author>a310989583</author><pubDate>Fri, 30 Aug 2024 12:36:14 +0800</pubDate><description><![CDATA[单指拖动地图在Lua层的逻辑为，计算当前次的单指拖动事件在屏幕上的位置，以及上次事件在屏幕上的位置，计算屏幕上的拖动位移。由于我们游戏是2D游戏，使用的平视相机，因此可以简单的将屏幕上的位移通过相机参数简单映射为世界坐标系相机的移动距离，计算方式既可以使用相机的ScreenToWorldPoint接口，也可以通过orthographicSize和Screen.height的比例换算。  这个方法在iOS平台没有问题，拖动起来非常的丝滑。但是在Android上，拖动起来，有抖动现象，显得游戏卡顿。]]></description><category></category></item><item><title><![CDATA[【Unity3D杂谈】记出海游戏的国际化多语言遇到的问题汇总]]></title><link>https://blog.csdn.net/a310989583/article/details/135952549</link><guid>https://blog.csdn.net/a310989583/article/details/135952549</guid><author>a310989583</author><pubDate>Wed, 31 Jan 2024 14:13:17 +0800</pubDate><description><![CDATA[一开始以为是热更新框架的问题，导致文件丢失。但是却没有监控到其他任何资源加载的错误。在大量排查各种因素后，发现了规律：触发问题的玩家大多是土耳其语系（其他少量阿塞拜疆语等）。于是乎，把手机语言和地区切换为土耳其，问题复现。]]></description><category></category></item><item><title><![CDATA[【Unity3D杂谈】记一次优化shader性能的过程]]></title><link>https://blog.csdn.net/a310989583/article/details/135933590</link><guid>https://blog.csdn.net/a310989583/article/details/135933590</guid><author>a310989583</author><pubDate>Tue, 30 Jan 2024 15:06:23 +0800</pubDate><description><![CDATA[我们的手游的主场景主要由一系列的2D图片的SpriteRenderer组成，有一片大的水面背景，有一个shader去实现了水颜色渐变和波纹的效果。在岛上有很多建筑物。按理论上，有更多建筑的区域应该渲染压力更大，而纯水面的地方应该只有一个shader在渲染。但是经测试发现，在一个低端的Android手机上（大约千元的三星手机）上，发现将相机拖动到只有背景海面的区域，帧率也会明显下降，明显不符合预期，因此开始探究为什么这个shader会导致帧率下降。]]></description><category></category></item><item><title><![CDATA[【Unity3D杂谈】记修复90Hz刷新率Android机只有45帧的问题]]></title><link>https://blog.csdn.net/a310989583/article/details/135771394</link><guid>https://blog.csdn.net/a310989583/article/details/135771394</guid><author>a310989583</author><pubDate>Tue, 23 Jan 2024 15:39:14 +0800</pubDate><description><![CDATA[开发的手游一直都是以60帧为目标帧率的，监控到线上有部分设备异常，在真机测试发现90Hz刷新率屏幕的设备（如三星A14等）的帧率只有45帧。已知工程设置没有开启垂直同步，也没有开启Optimized Frame Pacing等选项，而且Application.targetFrameRate也是60。经测试，没有进入游戏的时候就已经是45帧了，所以不是性能的问题，猜测是跟刷新率有一定的关系。而且45帧正好是90的一半，怀疑Unity底层为了平滑deltaTime，强行做了锁帧。]]></description><category></category></item><item><title><![CDATA[【AI】阿里大模型AI角色动画框架Motionshop试玩]]></title><link>https://blog.csdn.net/a310989583/article/details/135719311</link><guid>https://blog.csdn.net/a310989583/article/details/135719311</guid><author>a310989583</author><pubDate>Sat, 20 Jan 2024 18:41:57 +0800</pubDate><description><![CDATA[Motionshop据官方网页介绍，这个AI工具的工作原理大致如下：人物检测通过将文本信息与现有的闭集检测器使用基于Transformer的框架进行紧密融合，零样本目标检测也能够表现良好。感兴趣的目标候选者通过一种开集目标检测方法进行检测，随后采用主导选择方法确定最终的目标区域。分割与跟踪一旦目标成功检测，像素级目标区域将通过视频对象分割跟踪方法进行跟踪，该方法由广泛使用的零样本分割方法（Segment Anything Model，SAM）初始化和精化。]]></description><category></category></item><item><title><![CDATA[【Unity3D杂谈】记一次修复BufferMetal::EndWrite崩溃的问题]]></title><link>https://blog.csdn.net/a310989583/article/details/135597698</link><guid>https://blog.csdn.net/a310989583/article/details/135597698</guid><author>a310989583</author><pubDate>Mon, 15 Jan 2024 11:46:35 +0800</pubDate><description><![CDATA[表现上是低内存，像是内存占用满了导致的崩溃。但是从理性分析，这个版本的内容，内存中占用理论上不应该与之前版本有重大变化。而且正好是升级了Unity的时候，所以最大的可能性是触发了什么Unity版本bug，导致访问了无效内存导致。于是就开始搜集跟这个崩溃有关的资料。大致问题原因是，粒子系统出了问题导致的崩溃。]]></description><category></category></item><item><title><![CDATA[【Unity3D杂谈】记一次升级Unity3D到2021.3.26f1版本shader踩坑]]></title><link>https://blog.csdn.net/a310989583/article/details/135597051</link><guid>https://blog.csdn.net/a310989583/article/details/135597051</guid><author>a310989583</author><pubDate>Mon, 15 Jan 2024 11:27:18 +0800</pubDate><description><![CDATA[之前项目组一直在使用的是Unity3D 2021.3.11版本，但是跑了一点时间，发现崩溃明显增多，于是决定将Unity3D 2021.3.26f1版本。其实理论上只是最后一位的小版本升级，应该没有太大的兼容性问题才对，升级完其他的问题没有发现，但是发现游戏里一些模型渲染不出来了，整体工程也没有报错。而且最诡异的是，电脑上显示是正常的，只有打到安卓和iOS设备是不正常的。]]></description><category></category></item></channel></rss>