【从零开始游戏开发】静态资源优化 | 全面总结 |建议收藏

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


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骨骼

模型导入设置

⭕️设置模型Model
    Scene
    Meshes
        SkinMesh动态修改要开启Write/read
        Mesh压缩
    Geometry几何体

⭕️设置Animation
    模型不涉及动画,可以关闭

⭕️设置Material
    模型不涉及动画,None

⭕️模型优化
    尽可能网格合并
    尽可能共享材质
    不使用网格碰撞体
    不必要 不开启读写网格
    合理使用LOD
    SkinWeights受骨骼影响多
    合理压缩网格
    不需要rigs和BlendShapes劲量关闭
    如果可以,禁用法线和切线
    多套模型

检测报告解读

⭕️检查动画资源压缩方式Anim.Compression
    最佳压缩方式提高加载速率

⭕️设置PlayerSetting
    不涉及动画情况下,设置以下两个
    Vertex Compression
    OptimizeMeshData删除不必要的数据

⭕️检查FBX资源顶点数(可以忽略)

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


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

🚩Unity纹理的类型

Default
    默认的纹理类型格式

NormalMap
    法线贴图,可将颜色通道转换为适合实时法线贴图的格式

EditorGUI and LegacyGUI
    在编辑器GUI控件上使用的纹理

Sprite
    2D使用的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极速入门与实战》课程
🔻🔻🔻🔻 扫下方二维码,获取游戏开发福利,暗号小听歌 🔻🔻🔻🔻
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值