问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

Unity场景美术资源优化完全指南

创作时间:
作者:
@小白创作中心

Unity场景美术资源优化完全指南

引用
CSDN
1.
https://blog.csdn.net/yuyingwin/article/details/108245788

在游戏制作中,场景美术资源的优化至关重要。合理的优化不仅能提升游戏性能,还能为其他资源预留更多空间。本文将从模型、贴图、灯光等多个维度,详细介绍Unity引擎中的场景优化策略,并通过实际案例展示优化效果。

模型优化

模型优化是场景优化的基础,主要从以下几个方面进行:

  1. 减面优化:去除对模型造型无影响的面,保留关键结构和造型所需的最小面数。例如,可以删除物件背面、内部不会看见的面。

  2. 合并模型:将同一小范围内的非交互类静态小物件合并,同时合并其贴图。这样可以减少Draw Call的数量。例如,一组不同大小的小草、石头,或书架及其上的书籍等,都可以合并成一个Object,贴图也合成一张。

  3. 使用LOD模型:对于建筑和复杂物件,使用LOD(Level of Detail)模型和远处剔除技术,以减少同屏面数。地形的LOD系统也能对地形面数进行优化。

  4. 模型重复利用:在Unity中复制相同的物件,复制的多个物体在引擎计算上算一个物体。但复制数量不宜过多,以免对内存造成压力。建议将几个相同物件合并成一组,再进行复制。

  5. 地形优化:使用T4M插件将Unity自带地形转化为T4M格式,通过设置顶点值进行优化。例如,一个1000*1000的地形,优化前有近100万面,优化后仅剩近2万面。

材质贴图优化

贴图优化是提升游戏性能的关键环节,具体方法包括:

  1. 控制贴图大小:在移动设备上,贴图最大应控制在1024和512大小,少量使用2048大小的贴图。

  2. 重复贴图使用:大面积相同材质使用1-3种贴图交替重复覆盖,通过光影变化打破贴图的重复感。

  3. 贴图合并:单个物体的贴图最好是一张,最多不易超过3张。相同贴图的材质球应统一。

  4. 减少透明贴图使用:透明贴图会消耗大量GPU资源,能不用就尽量避免。

  5. 支持Mipmap:虽然Mipmap会增加游戏包体大小和内存占用,但可以减少显存带宽,降低渲染压力。建议只对大物件设置Mipmap。

  6. 使用PBR材质:小场景可以用PBR材质,但需要配合实时灯光使用。大场景建议使用烘焙光影,避免使用PBR材质。

  7. 贴图压缩:使用PVRT(iOS)或ETC(Android)格式压缩贴图,可以显著减少内存消耗。例如,33.8MB的.tga格式贴图压缩成.Sbsar格式后只有3.8MB。

灯光优化

灯光优化对提升游戏性能同样重要:

  1. 控制灯光数量:室外开放式大场景建议只用一盏平行光。室内场景可适当多一点,但应使用Reflection Probe来加强反射效果。

  2. 场景烘焙:大场景和复杂室内场景应避免使用实时灯光,利用Unity的烘焙系统把光影烘焙成贴图。烘焙贴图本身是一个浩大的工程,建议选择性烘焙。Unity提供了混合模式灯光,可以实现Lightmap与实时灯光的结合。

其他优化建议

  1. 摄像机效果:少用镜头效果,有选择性地使用。

  2. 特殊Shader:谨慎使用特殊Shader。

  3. 场景设计:从场景设定初期就开始考虑优化,如ARPG游戏的关卡设计应避免全开放式室外场景。陆地游戏避免设计空中场景,开放式场景应避免过多可破坏性物件。

实际优化案例

以一个具体场景优化为例:

  • 优化前:使用Unity自带地形,包含大量植被、建筑、细节物件,总面数达200多万,小物件15000多个。在PC上帧数仅40多帧,在835芯片手机上严重卡顿。

  • 优化方案

    1. 使用T4M插件优化地形,减少远处植被,提升5帧。
    2. 合并和删减小物件,提升7帧。
    3. 减少透明贴图,提升10帧。
    4. 烘焙大物件光照,提升30帧。
    5. 关闭部分镜头特效,提升10帧。
  • 优化结果:最终优化后面数为70多万面,FPS提升至100帧左右。

总结

场景资源优化主要从模型、贴图、灯光、特效等方面入手,目的是提高CPU、GPU、内存等硬件的使用效率。除了上述方法,还可以通过动画替代特效、使用自定义碰撞体等细节优化。游戏后期优化是全方位的,场景优化能为其他资源预留更多空间。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号