Unity3D渲染系列之纹理导入面板(Import Setting)参数设置详解

任何一张图片导入到Unity3D中,都会有个设置面板,里面可以设置一些参数,但是具体里面的参数是什么意思、有什么作用可能不太清除。网络上关于这个面板的参数设置都是些只言片语,不系统,只知道部分参数怎么调,也不知道背后的原理。今天我就来总结一下,方便自己以后查阅。

1.贴图导入设置面板

先大概看一下设置面板。

Unity3D渲染系列之纹理导入面板(Import Setting)参数设置详解_第1张图片

现在介绍一下其中比较常用的几个地方。

1.1纹理格式 Texture Type

贴图导入后,需要设定一下纹理格式。如法线贴图需要设置为Normal map类型,UI需要设置为Sprite (2D and UI)类型。

Unity3D渲染系列之纹理导入面板(Import Setting)参数设置详解_第2张图片

1.2纹理形状 Texture Shape

除了立方体纹理选择Cube外,其他时候都选择2D。

Unity3D渲染系列之纹理导入面板(Import Setting)参数设置详解_第3张图片                         选择立方体纹理后的纹理图标

1.3 Non Power of 2

高级设置中,有个非2的整数幂的下拉框。Unity3D会对宽高均为2的整数幂的纹理进行压缩,不是这个尺寸的不能压缩。

如我们导入一张1005*1200的图片,Non Power of 2选择None,然后Unity3D就会提示你只有宽高均为2的整数幂图片才能压缩为DXT1压缩格式,目前占用大小是4.6M,见图。Unity3D渲染系列之纹理导入面板(Import Setting)参数设置详解_第4张图片

当我们将Non Power of 2设置为ToNearset的时候,Unity3D会自动将这张纹理大小修改为最合适的宽高均为2的整数幂的纹理。此时,Unity3D将纹理压缩为了RGB Compressed DXT1格式,占用内存变为了0.7MB,足足节省了3.9MB的空间!当然最好是美工出图时就导出为2的整数幂。见图。

Unity3D渲染系列之纹理导入面板(Import Setting)参数设置详解_第5张图片

当然Non Power of 2也可选为ToLarger或ToSmaller,一个是朝更大的方向扩展,一个是朝小的方向设置。如假设现在纹理的宽为100,若Non Power of 2设置为ToLarger,宽将变为128;若设置为ToSmaller,宽将变为64。

1.4 读写使能 Read/Write Enabled

是否允许用代码去修改这张纹理。选中,将允许在运行时用代码修改这张纹理的颜色。注意:勾选后,运行的时候,Unity3D会额外拷贝一份纹理到内存,所以这一张纹理将占用两倍的空间,一般情况不勾选。

Unity3D渲染系列之纹理导入面板(Import Setting)参数设置详解_第6张图片

1.5 生成多级渐远纹理 Generate Mip Maps

什么是多级渐远纹理(Mip Map)呢?当我看同一个物体,距离越远,我们看到的物体越小,物体的细节越少,这时,如果我们仍然用和近处一样的纹理去渲染物体,实际上是一种浪费。那么Mip Map就是事先生成压缩的纹理,在近处时,就是用大的纹理,在远处时,使用小的纹理。这种方式和模型的LOD的原理是一样的,都是用“空间换时间”。由于额外生成了纹理,所以勾选此选项后,一张纹理占用的内存会增加到1.3倍左右。

UI不用勾选,UI一直在视图最前面,不存在距离的变化,所以勾选了才是浪费。

Unity3D渲染系列之纹理导入面板(Import Setting)参数设置详解_第7张图片

Unity3D渲染系列之纹理导入面板(Import Setting)参数设置详解_第8张图片

1.6 各平台设置

工作中我主要就是用到压缩质量的选项,见图。

Unity3D渲染系列之纹理导入面板(Import Setting)参数设置详解_第9张图片

其他参数选项我工作中基本没用到过,也没去了解有什么作用,今天就到这儿吧。项目上传到GitHub了,见07.Rendering-4-TextureImportSetting,下次再会!

你可能感兴趣的:(Unity3D)