开发一款游戏,即便是不做很极限的优化,至少也得做一下常规的优化。这样你的产品投放到市场中,也有不错的表现。下面介绍常见的一种美术资源优化方案

(我这里使用 Unity 2021.3.6LTS版本)

首先我们需要明白GPU渲染2的次方尺寸的图是最快速的。

例如:2、4、8、16、32、64、128、256、512、1024、2048、4096、8192, 这些尺寸的图片都是2的次方,只要你的资源图片是这个尺寸。那这种尺寸的图片优化起来是最佳的。

所以我们开发游戏所有的资源最好都是2次方贴图,2D/3D游戏都可以使用这样的贴图。

确保你的图的尺寸是二次方贴图之后,你需要在UnityEngine中这样设置贴图

设置之前:

设置之后:

按照这样的设置,我们发现这张Normal贴图从128KB 缩小到了 48.6KB,而图片的质量看起来还不错。但其实是有受损的,但只要看上去OK就行。

勾选Use Crunch Compression,下面的Compressor Quality可以根据实际效果调整,一般50就很不错,值越低压缩的越多。只要视觉效果还OK即可。 而有些美术资源即便不是2次方也可以在Photoshop中将他重新裁剪成2次方贴图。

如图:

对比两种尺寸在Unity 中的压缩情况:

你会看到非二次方贴图无法被压缩,大小为45.1KB ,而二次方贴图则被压缩成3.4KB。被压缩掉将近90%。这个压缩比可以换取更多的资源空间,CPU批处理也变的轻松。顺便说一句,在很多3D软(Maya、Blender、Max、C4D等等)中动画渲染也推荐使用2次方贴图,运算起来会快很多。

Sprite Atlas的使用:

如果你有多张图片,这些图片都不是2次方贴图,你也可以创建一个Sprite Atlas 图集将它们包起来。 Sprite Atlas 和 一般自制的图集有点不一样,它是当游戏打包或在引擎里运行时才自动合并图集。 编辑的时候还是使用散落的资源。

Sprite Atlas 也可以勾选Use Crunch Compression 来优化图片,你会发现资源被压缩后,生成了一张2次方尺寸的图集,体积也缩小了。

这样做的好处,使得原本不是2次方的散装贴图,也得到了压缩,整个游戏包体变得更小。运行起来Batches Draw Call也减小了许多。

但要注意,Unity 的父子物体最好都共用同一个图集中的资源,如果父子物体 用了2张图集,其中一个图集 还被其他的 物体使用过,那样压力反而变大了。共用的图集会被再次渲染一次,反而是增加了不必要的渲染。

Unity 常见优化相关推荐

  1. Unity性能优化 – 脚本篇

    最近开始进行Unity性能优化的工作,主要分为三类:CPU.GPU和内存.由于我们游戏的核心战斗是计算密集型,所以主要是受限于CPU.CPU的优化又分为渲染和脚本,本文将着重于脚本优化. 一般来说,优 ...

  2. Unity性能优化(2)-官方教程Diagnosing performance problems using the Profiler window翻译

    http://www.cnblogs.com/alan777/p/6135703.html Unity性能优化(2)-官方教程Diagnosing performance problems using ...

  3. 【Unity性能优化】静态资源优化——Audio优化

    文章目录 写在前面 1. 前言 2. 使用Asset Checker进行资源检测 3. Audio优化 3.1 启用Force to Mono 3.2 压缩格式与采样率 3.3 音乐加载类型 3.4 ...

  4. Unity 性能优化(力荐)

    开始之前先分享几款性能优化的插件: 1.SimpleLOD : 除了同样拥有Mesh Baker所具有的Mesh合并.Atlas烘焙等功能,它还能提供Mesh的简化,并对动态蒙皮网格进行了很好的支持. ...

  5. Unity游戏优化[第二版]学习记录6

    以下内容是根据Unity 2020.1.01f版本进行编写的 Unity游戏优化[第二版]学习记录6 第6章 动态图形 一.管线渲染 1.GPU前端 2.GPU后端 3.光照和阴影 4.多线程渲染 5 ...

  6. Unity UGUI优化与原理【unity官方】

    来源( 来源:unity官方 Optimizing Unity UI ) 官方链接: [1]  https://unity3d.com/cn/learn/tutorials/temas/best-pr ...

  7. Unity游戏优化指南大全(持续更新中!)

    Unity游戏优化指南大全 三个官方优化提示: 性能和优化 (Performance and Optimization) - 关于性能分析器以及性能和优化技巧的 Unity 学习教程. Best pr ...

  8. Unity 内存优化之理解托管堆和本机堆

    https://docs.unity3d.com/Manual/BestPracticeUnderstandingPerformanceInUnity4-1.html https://www.dazh ...

  9. Unity游戏优化(第2版)学习记录8

    Unity游戏优化[第二版]学习记录8 第8章 掌握内存管理 一.Mono平台 1.垃圾回收 2.内存碎片 3.运行时的垃圾回收 4.多线程的垃圾回收 二.代码编译 三.分析内存 1.分析内存消耗 2 ...

最新文章

  1. The method setButton(int, CharSequence, Message) in the type AlertDialog is not applicable for the a
  2. centos 系统初始配置优化
  3. 关于微信红包的架构思考
  4. ios kb转m_iOS 音频录音和格式转换
  5. HTML 表格的样式属性
  6. Python 三元表达式、列表推导式、生成器表达式
  7. c++函数返回二维数组_C++ 怎样让函数返回数组
  8. linux下mkdir头文件_Linux中mkdir函数与Windows中_mkdir函数的区别
  9. JavaScript实现继承的方式和各自的优缺点
  10. cognos 样例 oracle,cognos10.2 sample(ORACLE学样例)
  11. 笔记本更新网卡驱动后,出现:上网图标消失、网络连接为空、设备管理器中网络适配器全部为叹号、有线无线均无法链接的情况
  12. win10通过OneDrive实现办公室的电脑和家里电脑重要数据同步
  13. 基于JAVA的鲜花店商城平台【数据库设计、源码、开题报告】
  14. 常见的网络营销方式有哪些呢?
  15. PQI Air Card:自带Wi-fi的闪存卡 即时分享精彩画面
  16. 程序员如何快速上手一个自己不太熟悉的新项目
  17. 和外国人聊天的简化英语
  18. Tab层切换02-兼容IE8和Chrome浏览器
  19. autoware 1.14 lgvsl simulator仿真
  20. SPH算法的理论和实践(2)

热门文章

  1. 快!你的2018年GitHub报告还未领取
  2. 免费的设备管理系统app
  3. 前端开发Vscode插件
  4. 每日一题--20200428--用牛顿迭代法求根,c语言实现
  5. Java(5)数组、二维数组
  6. 植发咨询日记之打砖块
  7. JSP中控制是否解析HTML文本语句的属性htmlEscape
  8. 虚拟机NAT模式用nmtui配置ip
  9. 电网窃电用户数据检测与识别数据集
  10. HTML5构建“2020中国互联网大会”会议注册页面