U
Unity
星辰学院
首页
课程表
章节导览
第 1 课
返回主站
首页
/
第 16 章 · 性能优化
/
第 266 课
LESSON 266 · 性能优化
资源与加载优化
资源优化完成。下一课学内存管理。
⏱ 约 14 分钟
📊 难度:
入门
🗂 第 16 章 · 性能优化
📍 第 266 / 300 课
课程进度
266 / 300
🎯
本节学习目标
优化纹理与音频
优化模型
掌握加载方式
🚀
课程导读
“包太大”“加载慢”是资源问题。本课学资源“瘦身”。
◆
纹理与音频优化
最占体积的两种。
【纹理】贴图是体积大户:
尺寸 2 的幂、尽量 1024 以下(UI/小物 256-512)。
Compression 选 ASTC(安卓)/ASTC+(iOS)等平台格式。
Mipmap:需要远景的 3D 贴图开;UI/特效关(省内存)。
Max Size 限制:按用途裁剪最大尺寸。
【音频】
短音效用 Decompress On Load(即时);长 BGM 用 Streaming(流式,省内存)。
压缩格式(Vorbis/MP3)体积小。
采样率 44.1k 够用,别用 96k。
【模型】
Mesh Compression 压缩;顶点/骨骼精简(美术侧)。
【图集】UI/精灵图集(第 203 课)。
【检查】Project 里按 Size 排序找大资产。
【完成】资源“瘦身”。
【测试】打包体积对比。
【推荐】发布前统一走一遍资源检查。
【注意】压缩过度会糊/有声损,按平台平衡。
💡
资源瘦身:纹理压格式、音频选流式、模型压网格。三招降体积。
◆
加载方式优化
别“一把梭”。
【Resources 文件夹】拖进去的都会打进包:别乱放。
【Resources.Load】运行时从 Resources 加载:
GameObject obj = Resources.Load<GameObject>("Prefabs/Cube");
Instantiate(obj);
【问题】Resources 里的都进包:用 AssetsBundle/Addressables 更省。
【Addressables】官方资源管理:按需下载/加载,推荐(进阶)。
【场景异步】SceneManager.LoadSceneAsync 异步加载不卡(第 269 课)。
【延迟加载】远距资源到达才加载(LOD 思维)。
【卸载】Resources.UnloadUnusedAssets() 清理(少调)。
【AssetBundle】自定义分包(进阶)。
【选择】小项目用 Resources 简单够;大项目上 Addressables。
【完成】加载“按需”了!
【测试】对比包大小与加载时间。
【注意】Resources.Load 的路径是“相对 Resources”的路径。
【推荐】进阶必学 Addressables(进阶教程另行)。
✅
加载优化 = 资源分类(按需加载)+ 异步(不卡帧)+ 不滥用 Resources。三招。
⚠
常见错误与排查
⛔
错误:
Resources.Load 返回 null?
原因:
路径错或资源没放 Resources 文件夹
解决:
确认资源在 Resources 目录下;路径写对(不含 Resources 前缀)。
★
动手练习
课后小任务(做出来才算真的学会)
压缩纹理并对比体积
设置音频加载方式
用 Resources.Load 按需加载
✓
本节小结
资源优化完成。下一课学内存管理。
标记为已完成
完成打卡后,主站会实时更新你的学习进度 🎯
← 上一课
脚本与 GC 优化
下一课 →
内存管理
↑