Unity 常见优化

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

(我这里使用 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就行。

扫描二维码关注公众号,回复: 14883721 查看本文章

勾选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张图集,其中一个图集 还被其他的 物体使用过,那样压力反而变大了。共用的图集会被再次渲染一次,反而是增加了不必要的渲染。

猜你喜欢

转载自blog.csdn.net/chenzyart/article/details/127592682