Unity 2D性能优化实战:SpriteRenderer、SpriteAtlas、瓦片地图与动画系统深度解析
1. 项目概述从静态美术到动态世界的构建核心在Unity 2D或2.5D项目的开发中我们常常会遇到一个瓶颈当美术资源从几张简单的背景图演变成成百上千个角色精灵、环境物件和特效动画时项目的性能和管理复杂度会呈指数级增长。很多开发者初期可能只是简单地把图片拖进场景用Animator做几个基础动画但随着内容膨胀游戏开始卡顿加载变慢资源管理也变成一团乱麻。这正是“SpriteRenderer动态精灵控制、SpriteAtlas高效资源管理、瓦片地图程序化生成、动画系统深度优化”这四个技术点要系统解决的问题。它们共同构成了一个从底层渲染、资源组织到场景构建和表现优化的完整技术栈是任何希望做出流畅、内容丰富且易于维护的2D项目的开发者必须啃下的硬骨头。简单来说这个主题探讨的是如何让你的2D游戏“既好看又能跑”。SpriteRenderer是舞台上演员的“皮囊”控制着它如何被观众摄像机看见SpriteAtlas是后台的“服装管理员”负责把所有演员的戏服打包整理避免上台时手忙脚乱瓦片地图程序化生成则是“舞台布景师”能快速、智能地搭建庞大而复杂的场景而动画系统深度优化则是指导演CPU/GPU如何高效地指挥每一位演员完成复杂的表演不出现卡顿或穿帮。接下来我将结合多年踩坑经验为你逐一拆解这四大核心模块的实现细节、优化技巧和那些官方文档里不会写的实战心得。2. SpriteRenderer动态精灵控制不止是显示一张图片SpriteRenderer组件是2D精灵在场景中可视化的基础。但很多开发者对其理解停留在“拖个Sprite进去”的层面实际上它的动态控制是实现丰富游戏逻辑的关键。2.1 核心属性与动态脚本控制除了sprite属性用于切换图片以下几个属性的动态控制尤为重要color (颜色与透明度) 直接修改color属性可以实现击中闪白、隐身渐变、环境光影响等效果。注意对大量精灵频繁修改Color会造成一定的性能开销因为它会触发材质的属性块更新。// 示例实现一个受击后闪白的效果 public IEnumerator FlashWhite(SpriteRenderer renderer, float duration) { Color originalColor renderer.color; renderer.color Color.white; yield return new WaitForSeconds(duration); renderer.color originalColor; }sortingOrder (渲染排序) 动态控制精灵的前后遮挡关系。例如角色跳起时sortingOrder应高于地面物体落下时则低于某些前景装饰。一种常见的策略是根据精灵的Y轴坐标动态计算sortingOrder实现2.5D的伪深度效果。flipX/flipY (精灵翻转) 用于角色转向。切记相比于直接修改transform.localScale来实现翻转使用flipX/flipY是更优选择因为它不会影响碰撞体、物理运算的尺度性能开销也更小。drawMode (绘制模式)与size (尺寸) 当drawMode设置为Sliced或Tiled时可以配合size属性动态拉伸或平铺精灵常用于制作可伸缩的血条背景、动态长度的平台或墙壁。注意避免在Update中每帧对大量静态精灵的color或sortingOrder进行无意义的赋值即使值未变也会触发脏标记检查。对于需要频繁修改的属性考虑使用对象池管理精灵状态。2.2 材质与Shader定制化渲染的灵魂默认情况下SpriteRenderer使用Sprites/DefaultShader。但通过更换材质可以实现各种高级效果外发光/轮廓光 使用自定义Shader在片段着色器中采样精灵的Alpha通道并在其边缘进行扩展和着色。溶解效果 通过一张噪声图配合Clip函数根据阈值动态“溶解”精灵像素常用于角色死亡、传送特效。UV动画 在Shader中动态偏移主纹理或附加纹理如法线图、遮罩图的UV坐标实现水流、火焰滚动、魔法护盾波动等效果。这比用Animator逐帧播放序列帧动画效率高得多。顶点动画 在顶点着色器中修改顶点位置可以实现简单的飘动、扭曲效果如旗帜、头发性能优于通过Transform动画。实操心得为2D项目创建一套常用的Shader变体集合如Unlit Transparent、Additive、Multiply、Dissolve等并打包成SpriteAtlas时确保图集材质引用正确。有时图集打包后材质丢失需要在打包设置中指定材质或使用SpriteAtlas.GetSprite时动态指定。2.3 合批优化让Draw Call降下来的关键Unity的静态合批Static Batching对2D精灵不友好动态合批Dynamic Batching条件苛刻。SpriteRenderer的合批主要依赖于共享材质 所有使用完全相同材质和纹理的精灵有机会被合批。层级顺序 连续的、sortingOrder相同的、使用同一材质的精灵更容易被合批。深度优化策略图集化 这是实现合批的前提。将大量小纹理打包进少数几个SpriteAtlas是减少材质和Draw Call的最有效手段。Z轴归零 确保所有2D精灵的Transform Z轴为0或统一值避免因深度差异导致合批中断。分层管理 合理规划sortingLayer和sortingOrder让相同图集、相同渲染状态的精灵在层次上尽量相邻。可以编写一个简单的编辑器工具根据精灵的预设类型自动分配sortingLayer和order。3. SpriteAtlas高效资源管理告别Resources文件夹SpriteAtlas精灵图集是Unity官方推荐的2D纹理管理方案它远不止是“把图片打包成一张大图”。3.1 图集配置的魔鬼细节创建图集时以下几个设置项直接影响最终效果和性能Pack Settings (打包设置)Allow Rotation 允许精灵旋转90度以节省空间。对于非对称精灵如带有方向性箭头的UI建议关闭否则运行时需要额外计算来纠正。Tight Packing 紧密打包。对于需要精确像素碰撞或九宫格拉伸的精灵务必关闭此选项否则会因裁剪掉透明边导致边框错误。Padding 边距。至少设为2或4防止纹理过滤时相邻精灵颜色渗色Bleeding。Include in Build (包含在构建中) 这个选项决定了图集的加载方式。如果勾选图集会直接打包进应用主资源包。对于Always Required的核心图集如UI、主角资源应该勾选。对于按需加载的图集如不同关卡的地图块则不应勾选而是通过Addressables或AssetBundle系统进行动态加载。Variant (变体) 这是一个强大但易被忽略的功能。你可以创建一个主图集然后为其创建多个变体每个变体可以指定不同的纹理尺寸如0.5x和压缩格式。这在处理多分辨率适配如为低端机准备半分辨率图集时非常高效无需准备多套美术资源。3.2 动态加载与引用管理网络热词中提到了“Resources文件夹”但在现代Unity开发中应极力避免使用Resources系统。它会导致启动加载慢、内存不可控、难以分包。正确的动态加载姿势是通过Addressables系统 这是Unity官方主推的资源管理方案。将SpriteAtlas标记为Addressable即可通过地址异步加载。// 异步加载图集并获取其中的精灵 AsyncOperationHandleSpriteAtlas handle Addressables.LoadAssetAsyncSpriteAtlas(MyAtlas); yield return handle; SpriteAtlas atlas handle.Result; Sprite mySprite atlas.GetSprite(MySpriteName); // ... 使用完毕后根据情况释放 // Addressables.Release(handle);通过AssetBundle 更底层的方案需要自己管理依赖和生命周期。将图集及其依赖的材质、Shader等打包在同一个AssetBundle中。运行时直接引用 如果图集在编辑器中已直接拖拽赋值给SpriteRenderer.sprite或Image.spriteUnity会在构建时自动处理依赖无需代码加载。但这仅限于构建时就确定的资源。常见问题实录问题 图集打包后在真机上精灵显示为粉色丢失材质。排查 检查图集打包设置中的“材质”选项。如果为“None”Unity会使用默认Sprite材质。但某些平台如某些Android ES2.0设备对默认Shader支持可能有问题。解决 在图集设置中明确指定一个自定义的、兼容性好的Sprite材质。或者确保项目中包含Sprites/DefaultShader变体在Graphics Settings的Shader Stripping中设置。3.3 图集拆分策略平衡内存与Draw Call把所有图片打成一个巨型图集是最糟糕的策略。合理的拆分依据生命周期 将同时加载和卸载的资源放在一起。例如主界面UI一个图集第一关场景资源一个图集第二关资源另一个图集。更新频率 静态背景和动态角色分开。频繁更新的精灵如血条数字如果和大背景放在一起会导致整个大图集无法被GPU压缩优化如ASTC。渲染状态 使用不同混合模式如Opaque, Transparent, Additive的精灵尽量分在不同图集因为混合模式改变会打断合批。尺寸限制 注意目标平台的纹理尺寸上限如2048x2048。超大的图集在低端机上可能加载失败或耗光内存。一个实用的策略是“共享图集 专属图集”。创建一个共享图集存放所有场景公用的按钮、图标、字体等。每个大的功能模块或关卡再拥有自己的专属图集。4. 瓦片地图程序化生成超越Tilemap画笔Unity的Tilemap系统很棒但手动绘制大型地图效率低下。程序化生成不仅能创造随机地图还能实现地图的动态变化。4.1 基于规则的生成从噪声到逻辑柏林噪声Perlin Noise生成高度图 这是生成自然地形草地、沙漠、山脉的基础。将噪声图采样值映射到不同的瓦片类型如值0.3为水域0.3-0.5为沙滩0.8为山脉。// 简化示例在网格上生成瓦片 for (int x 0; x width; x) { for (int y 0; y height; y) { float noiseValue Mathf.PerlinNoise(x * noiseScale, y * noiseScale); TileBase tileToPaint null; if (noiseValue 0.3f) tileToPaint waterTile; else if (noiseValue 0.5f) tileToPaint sandTile; else tileToPaint grassTile; tilemap.SetTile(new Vector3Int(x, y, 0), tileToPaint); } }细胞自动机Cellular Automata 非常适合生成洞穴、矿洞等有机形态的封闭空间。先随机撒点然后根据周围邻居瓦片的规则如“如果周围有超过4个墙则自己变为墙”迭代多次形成平滑的洞穴结构。预制件房间拼接Dungeon Generation 地牢类游戏的经典方法。预先设计多个房间预制件包含Tilemap和碰撞体然后使用算法如BSP树在网格上随机放置并连接这些房间最后用走廊瓦片填充空隙。4.2 Tilemap API深度使用与优化批量操作 避免在循环内单次调用SetTile。使用Tilemap.SetTilesBlock或Tilemap.SetTiles一次性设置一个矩形区域或一个数组的瓦片性能有数量级提升。TileBase[] tileArray new TileBase[width * height]; // ... 填充tileArray tilemap.SetTilesBlock(new BoundsInt(0, 0, 0, width, height, 1), tileArray);TileData与动画瓦片 除了静态瓦片可以创建AnimatedTile或编写自定义的TileBase子类。在GetTileData方法中你可以根据坐标、邻居状态甚至游戏状态动态返回不同的精灵、颜色或碰撞体实现更复杂的逻辑如随时间变化的季节瓦片、受周围环境影响的腐蚀瓦片。规则瓦片Rule Tile与随机瓦片Random Tile 善用这些内置类型。RuleTile能自动根据相邻瓦片匹配正确精灵是绘制连贯地形如墙壁、河流的神器。Random Tile可以为一格位置随机赋予多个精灵中的一个让地面、草地看起来更自然。4.3 动态修改与碰撞同步程序化生成后游戏运行时可能还需要修改地图如炸毁墙壁、挖开地面。瓦片擦除与替换 直接使用tilemap.SetTile(position, null)或新的瓦片即可。碰撞体更新 Tilemap Collider 2D默认是静态的。动态修改瓦片后其碰撞体不会自动更新。你需要为Tilemap Collider 2D组件勾选Used By Composite。添加一个Composite Collider 2D组件到同一个GameObject上。在代码中修改瓦片后调用tilemap.GetComponentTilemapCollider2D().ProcessTilemapChanges();然后CompositeCollider2D会自动重新生成合并后的碰撞体。注意这个过程对性能有影响避免每帧调用。导航网格更新 如果使用了AI导航如Unity的NavMesh系统对2D的适配方案或类似A* Pathfinding Project在地形改变后需要重新烘焙或局部更新导航网格数据。5. 动画系统深度优化让每一帧都物有所值2D动画的性能开销主要来自两方面Sprite的切换Draw Call和动画逻辑计算CPU。优化也需要从这两方面入手。5.1 Animator控制器优化状态机精简之道复杂的Animator控制器是性能杀手。状态机扁平化 避免过深的子状态机Sub-State Machine层级。每层状态机切换都有开销。尽量使用布尔、触发器等参数在同一层级内切换状态。减少过渡条件 检查状态之间的过渡Transition条件是否过于复杂。多个条件多个Bool判断会增加每帧的计算量。尝试合并条件或使用枚举Enum参数来简化逻辑。禁用未使用的组件 对于非激活状态的动画GameObject确保其Animator组件被禁用animator.enabled false否则它仍然会消耗少量CPU进行更新计算。对于对象池中的对象出场时启用回收时禁用。使用Culling Mode 根据动画类型设置Animator的Culling Mode。对于永远需要在屏幕上播放的UI动画使用Always Animate。对于角色动画如果角色跑出摄像机视野后无需播放如 idle 呼吸可以设置为Cull Update Transforms甚至Cull Completely这样当其不可见时动画和骨骼变换更新会被跳过。5.2 动画剪辑优化与压缩关键帧精简 检查动画剪辑Animation Clip特别是导入的3D模型动画或复杂的骨骼动画。在Animation Import Settings中增加Rotation Error和Position Error的容差值可以大幅减少冗余关键帧且视觉上几乎无差异。浮点精度 在Player Settings中可以考虑为动画数据使用Half浮点精度而非Full这能减少内存和带宽占用对于移动端尤其有益。但需测试是否会引起精度问题。启用Optimal Pose Compression 在Rig导入设置中启用此选项可以使用更高效的算法压缩骨骼姿势数据。5.3 基于SpriteRenderer的帧动画优化对于传统的逐帧2D动画Sprite Animation有比Animator更高效的方案脚本驱动帧切换 对于简单的循环动画如火焰、旋转特效可以编写一个轻量级的脚本在Update中根据时间直接切换SpriteRenderer.sprite。这避免了Animator状态机的开销。public Sprite[] frames; public float frameRate 12; private float timer; private int currentFrame; void Update() { timer Time.deltaTime; if (timer 1f / frameRate) { timer 0; currentFrame (currentFrame 1) % frames.Length; GetComponentSpriteRenderer().sprite frames[currentFrame]; } }使用Animation Clip Playables API 对于需要更复杂控制混合、分层但又想避开Animator开销的情况可以考虑使用低级的Playables API来直接播放AnimationClip。这提供了更直接、更可控的性能接口。GPU Instancing与顶点动画 对于大量重复的、播放相同动画的物体如一群飞舞的蝴蝶终极优化方案是使用GPU Instancing配合顶点动画Shader。将动画数据如UV偏移序列编码到纹理中在Shader中根据时间采样纹理来驱动顶点变换这样数千个实例的动画绘制也只需1-2个Draw Call。这是高级优化手段实现复杂度较高但性能提升是革命性的。5.4 性能分析工具实战优化不能凭感觉必须依赖数据Profiler - Rendering 重点关注Batches合批后的Draw Call数和SetPass Calls渲染通道切换次数。通过图集优化后这两个值应有显著下降。Profiler - CPU 在Animation和Animator.Update项下查看动画系统占用的CPU时间。如果某角色的Animator开销异常高就需要按上述方法精简其控制器。Frame Debugger 逐帧查看渲染命令。它可以清晰地告诉你为什么两个看似相同的精灵没有被合批可能是因为中间插入了一个不同材质的精灵或者Z值不同。Sprite Atlas Manager 在Window - 2D - Sprite Atlas Manager中可以查看所有图集的打包情况、利用率并可以手动触发打包来测试效果。最后关于网络热词中提到的“Unity Addressables打包后TMP材质紫了”和“Unity WebGL初始化很久”等问题它们都与资源管理息息相关。TMP材质变紫通常是Shader变体在构建时被错误剥离或Addressables包中材质依赖丢失需要在Graphics Settings和Addressables Group设置中仔细检查。WebGL初始化久往往是因为首包资源过多必须利用Addressables的远程加载和分包策略将非必要资源从初始包中分离实现按需加载。这些系统性问题的解决都建立在扎实掌握上述四大核心模块的基础之上。把这些点吃透你的2D项目在性能和可维护性上就已经超越了市面上大多数的同类产品了。

相关新闻

Unity集成NLua实战指南:Lua热更新与C#双向通信详解

Unity集成NLua实战指南:Lua热更新与C#双向通信详解

1. 项目概述:为什么要在Unity里引入NLua? 如果你是一个Unity开发者,可能已经习惯了用C#来驱动游戏逻辑。但当你需要快速迭代玩法、让策划或设计师也能参与逻辑调整,或者希望实现一套灵活的热更新机制时,硬编码的C#就显…

2026/8/10 5:52:58 阅读更多 →
SpringBoot+Vue构建高校双创项目管理系统的实践

SpringBoot+Vue构建高校双创项目管理系统的实践

1. 项目背景与核心价值 这个前后端分离的大学生创新创业项目管理系统的出现,完美解决了高校双创教育管理中的几个痛点问题。传统的高校项目管理往往还停留在Excel表格和纸质材料的阶段,导师和学生之间的沟通效率低下,项目进度难以实时跟踪&am…

2026/8/10 5:51:57 阅读更多 →
Python魔法方法__rsub__详解与应用场景

Python魔法方法__rsub__详解与应用场景

1. Python魔法方法__rsub__深度解析在Python面向对象编程中,魔法方法(Magic Methods)是实现对象间特殊操作的核心机制。__rsub__作为反向减法运算符的实现方法,常常被开发者忽视,但在特定场景下却能发挥关键作用。1.1 …

2026/8/10 5:51:57 阅读更多 →

最新新闻

从信息化到智能化:企业数字化转型的四个范式跃迁与智能体开发实践

从信息化到智能化:企业数字化转型的四个范式跃迁与智能体开发实践

1. 从“能算”到“会想”:一场跨越三百年的认知革命 最近和几个做制造业数字化转型的朋友聊天,他们都在为一个问题头疼:工厂里上了那么多系统,从ERP、MES到WMS,数据报表堆成山,但一遇到产线突发停机、供应链…

2026/8/10 7:42:48 阅读更多 →
MiMo Code免费百万Token策略:AI编程工具的成本控制与长上下文实现

MiMo Code免费百万Token策略:AI编程工具的成本控制与长上下文实现

1. 项目概述:MiMo Code的免费百万Token策略 最近在AI编程工具圈里,MiMo Code这个名字被频繁提及,核心原因就一个:它免费开放了百万级别的上下文处理能力(Token)。对于一个深度依赖大模型进行代码生成、分析…

2026/8/10 7:42:48 阅读更多 →
VMware去虚拟化实战:定制版部署与WinXP系统过检测配置

VMware去虚拟化实战:定制版部署与WinXP系统过检测配置

在虚拟机环境中运行某些特定软件或游戏时,你是否遇到过因检测到虚拟机环境而无法启动、功能受限甚至直接封号的情况?尤其是在运行一些老旧的行业软件、经典单机游戏,或是进行多开、测试时,这种“虚拟化检测”成为了一个棘手的障碍…

2026/8/10 7:42:48 阅读更多 →
C++网络编程实战:基于Boost.Beast构建高性能HTTP客户端

C++网络编程实战:基于Boost.Beast构建高性能HTTP客户端

1. 项目概述:为什么要在C里折腾HTTP请求? 如果你用C写过需要和网络打交道的程序,比如写个爬虫、做个客户端去调用某个Web API,或者自己搭个小服务器,那你肯定对“发个HTTP请求”这件事的麻烦程度深有体会。不像Python有…

2026/8/10 7:42:48 阅读更多 →
告别繁琐安装:Scarab如何彻底改变空洞骑士模组管理体验

告别繁琐安装:Scarab如何彻底改变空洞骑士模组管理体验

告别繁琐安装:Scarab如何彻底改变空洞骑士模组管理体验 【免费下载链接】Scarab An installer for Hollow Knight mods written with Avalonia. 项目地址: https://gitcode.com/gh_mirrors/sc/Scarab 还在为空洞骑士模组安装的复杂流程而头疼吗?S…

2026/8/10 7:42:48 阅读更多 →
Simulink在电力系统雷击模拟中的工程实践

Simulink在电力系统雷击模拟中的工程实践

1. 雷击模拟的工程价值与Simulink优势电力系统雷击模拟是电力工程师的必修课。去年参与某沿海风电场防雷改造时,我们团队曾用传统方法计算雷击过电压,结果现场实测数据与理论值偏差高达37%。后来改用Simulink搭建完整电磁暂态模型后,仿真精度…

2026/8/10 7:41:48 阅读更多 →

日新闻

GraphQL-CSS API全解析:useGqlCSS、GqlCSS组件与getStyles实用指南

GraphQL-CSS API全解析:useGqlCSS、GqlCSS组件与getStyles实用指南

GraphQL-CSS API全解析:useGqlCSS、GqlCSS组件与getStyles实用指南 【免费下载链接】graphql-css A blazing fast CSS-in-GQL™ library. 项目地址: https://gitcode.com/gh_mirrors/gr/graphql-css GraphQL-CSS是一个基于GraphQL的CSS-in-GQL™库&#xff0…

2026/8/10 0:00:02 阅读更多 →
告别语言障碍:KISS Translator 双语翻译插件终极指南

告别语言障碍:KISS Translator 双语翻译插件终极指南

告别语言障碍:KISS Translator 双语翻译插件终极指南 【免费下载链接】kiss-translator A simple, open source bilingual translation extension & Greasemonkey script (一个简约、开源的 双语对照翻译扩展 & 油猴脚本) 项目地址: https://gitcode.com/…

2026/8/10 0:00:02 阅读更多 →
BepInEx配置管理器:游戏插件配置的终极可视化解决方案

BepInEx配置管理器:游戏插件配置的终极可视化解决方案

BepInEx配置管理器:游戏插件配置的终极可视化解决方案 【免费下载链接】BepInEx.ConfigurationManager Plugin configuration manager for BepInEx 项目地址: https://gitcode.com/gh_mirrors/be/BepInEx.ConfigurationManager 你是否曾经因为游戏插件的复杂…

2026/8/10 0:00:02 阅读更多 →

周新闻

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁 【免费下载链接】baidupankey 在线查询网盘提取码(维护中 rm repo) 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 你是否曾经在深夜寻找一份重要资料&#x…

2026/8/10 1:05:29 阅读更多 →
如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南 【免费下载链接】chinese_license_plate_generator 中国车牌生成器 项目地址: https://gitcode.com/gh_mirrors/ch/chinese_license_plate_generator 中国车牌生成器是一个基于Python的开源项目&#xff0c…

2026/8/10 1:05:29 阅读更多 →
收藏!小白程序员轻松入门大模型,从Harness工程开始实践

收藏!小白程序员轻松入门大模型,从Harness工程开始实践

文章强调学习大模型不应只关注模型本身,而应重视模型外的系统搭建,即Harness。提出AgentModelHarness的实用公式,详细介绍Harness的四个层次:持久化层、执行层、控制层和观察与验证层。文章还探讨了上下文工程、工具设计、AGENTS.…

2026/8/10 1:05:29 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/9 17:05:02 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/10 1:05:29 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/9 17:05:02 阅读更多 →