【从零开始游戏开发】静态资源优化

编程入门 行业动态 更新时间:2024-10-06 18:25:27

【从零开始游戏开发】<a href=https://www.elefans.com/category/jswz/34/1771395.html style=静态资源优化"/>

【从零开始游戏开发】静态资源优化

你知道的越多,你不知道的越多 🇨🇳🇨🇳🇨🇳
点赞再看,养成习惯,别忘了一键三连哦 👍👍👍
文章持续更新中 📝📝📝


1️⃣Audio导入设置🔥🔥🔥

Unity下资源工作流程图

资源类型与导入

⭕️外部导入资源模型网格Mesh、纹理、音频、字体、动画、视频⭕️内部创建资源prefab预制体、AnimationController、TimeLine、RenderTexture、VFX

资源检查并优化
UPR Asset Checker

资源检查报告解读

⭕️Audio检查ForceToMono,减少内存和磁盘占用使用未压缩Wav格式,通过平台控制压缩安卓使用Vorbis压缩方式,ios用MP3音频采样值通常为为22000HZ设置为OverrideSampleRate⭕️音频加载类型 LoadType小于200KB 使用DecompressOnLoad大于200KB 使用Compressed In Memory超大的背景音乐 使用streaming流式加载 避免卡顿EditorSetting
FBX
Prefab
Scene
Texture

安卓手机优化前后
包体大小减少
内存开销大幅度减少
CPU开销小幅度上升


2️⃣Model导入设置检查与优化🔥🔥🔥

Unity模型导入基本流程

DCC工具导出设置(美术)

⭕️导出FBX格式
⭕️优化原始导入模型文件,删除不必要的数据统一单位导出网格必须是多边形括扑,不能是贝塞尔曲线、样条曲线等Unity不支持的网格导出之前确保所有的Deforners都烘焙到网格模型上不建议将模型使用的纹理随模型导出导出时不要携带摄像机、灯光、材质等场景信息⭕️原始模型对性能的影响点最小化面数、三角面尽量分布均匀不需要微三角面(1个三角面只包含个位数像素,LOD解决)合理的括扑结构与平滑组,尽可能是闭包,防止Unity烘焙错误尽量少的材质个数尽量少的蒙皮网格尽量少的骨骼数量防止Unity后期CPU和GPU性能消耗FK与IK节点分离,导出时要删除IK骨骼节点Unity不支持导入的IK骨骼

模型导入设置

⭕️设置模型ModelSceneMeshesSkinMesh动态修改要开启Write/readMesh压缩Geometry几何体⭕️设置Animation模型不涉及动画,可以关闭⭕️设置Material模型不涉及动画,None⭕️模型优化尽可能网格合并尽可能共享材质不使用网格碰撞体不必要 不开启读写网格合理使用LODSkinWeights受骨骼影响多合理压缩网格不需要rigs和BlendShapes劲量关闭如果可以,禁用法线和切线多套模型

检测报告解读

⭕️检查动画资源压缩方式Anim.Compression最佳压缩方式提高加载速率⭕️设置PlayerSetting不涉及动画情况下,设置以下两个Vertex CompressionOptimizeMeshData删除不必要的数据⭕️检查FBX资源顶点数(可以忽略)

优化对比
包体大小不变
后期运行时,模型资源优化才是重点


3️⃣纹理的基础概念🔥🔥🔥

🚩Unity纹理的类型

Default默认的纹理类型格式NormalMap法线贴图,可将颜色通道转换为适合实时法线贴图的格式EditorGUI and LegacyGUI在编辑器GUI控件上使用的纹理Sprite2D使用的Sprite或UGUI使用的纹理Cursor鼠标光标Cookie用于光照Cookie剪影类型的纹理LightMap光照贴图纹理SingleChannel原始图片只有单通道

🚩纹理大小
2的幂次方,1024,,52
Unity可以采用Bundle变体设置多套资源
⭕️通过Mipmap来限制不同平台、不同硬件来加载不同精度的贴图
纹理加载方式:TextureSteaming、稀疏纹理SparseTexture,VirtualTexture

增加细节贴图DetailMap或增加高反差来添加细节
在不降低视觉效果的情况下尽量减少贴图大小
通过SceneView-》DrawMode》MipMap查看
防止过采样(红色)和欠采样(蓝色)

🚩纹理颜色空间

⭕️默认大多数图像处理工具都会使用sRGB颜色空间处理和导出纹理,这时纹理选项的sRGB需要开启。
⭕️ 如金属度贴图、粗糙度贴图、或者法线贴图需要关闭,否则视觉错误表现

🚩纹理压缩
保持贴图视觉质量的同时,尽量减少纹理数据的大小
默认纹理原始格式是PNG或TGA
采用硬件支持的压缩方式

🚩纹理图集

优点采用共同纹理图集的多个静态网格资源可以静态合批处理,减少DrawCall调用纹理图集可以减少碎纹理过多,通过压缩降低纹理的内存成本和冗余数量缺点美术合理规划模型,模型有相同着色器,或需要制作通道图去区分不同材质制作和修改成本较高

🚩纹理过滤

Trilinear	与 Bilinear 类似,但纹理也在不同的 MIP 级别之间模糊
Bilinear	纹理在靠近时变得模糊。
Point (no filter)	纹理在靠近时变为块状。

🚩纹理MipMap

⭕️逐级减低分辨率来保存纹理副本,相当于纹理LOD
优点GPU不需要远距离对对象全分辨率采样,提高性能解决了远距离下过采样导致噪点问题,提高渲染质量缺点额外内存开销

🎁🌻🌼🌸 粉丝福利来喽 🎁🌻🌼🌸

  1. 免费领取海量资源 🎁
    简历自测评分表、Unity职级技能表、面试题库、入行学习路径等
  2. 《Unity游戏开发五天集训营 》50个名额 🎁
    我给大家争取到了 50个《游戏开发五天集训营 》名额,原价198,前50个免费
    扫码加入,暗号小听歌
    即可参加ARPG狼人战斗系统、饥荒生存类游戏开发、回合制RPG口袋妖怪游戏等游戏开发训练营
  3. 额外抽奖机会🎁
    参加游戏训练营、还有机会获得大厂老师在线面试指导、或者有机会获得价值1998元的《Unity极速入门与实战》课程
🔻🔻🔻🔻 扫下方二维码,获取游戏开发福利,暗号小听歌 🔻🔻🔻🔻

更多推荐

【从零开始游戏开发】静态资源优化

本文发布于:2024-02-25 17:45:40,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1699804.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:静态   游戏开发   从零开始   资源

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!