Unity 之 纹理类型导入设置和压缩格式介绍

简介: 你知道纹理导入正确设置和各平台压缩格式吗?本文教你如何将纹理资源导入到Unity并为其设置为对应平台需要使用的压缩格式,一起来看看吧~

一,纹理相关

1.1 导入设置

纹理会占用大部分内存,因此,导入设置非常重要。通常,请遵循以下规则 :

  • 减小 Max Size :使用能生成视觉上可接受的结果的最低设置。这种非破坏性方式,可以快速降低纹理内存。

使用 2 的幂 (POT) :Unity 要求移动端纹理压缩格式(PVRCT 或 ETC)采用 POT 纹理尺寸。

  • 制作纹理图集 :将多个纹理放置到单个纹理中,可以减少绘制调用和加快渲染速度。使用 Unity 精灵图集 或第三方 Texture Packer 可以制作纹理图集。
  • 关闭 Read/Write Enabled 选项 :如果启用,此选项在 CPU 和 GPU 可寻址内存中都会创建副本,纹理会占用双倍内存。大多数情况下,应保持此选项为禁用状态。如果要在运行时生成纹理,请通过 Texture2D.Apply 强制执行,并且传入设置为 true 的 makeNoLongerReadable。
  • 禁用不必要的 Mip Map :对于在屏幕上大小保持不变的纹理(如 2D 精灵和 UI 图形),Mip Map 不是必需的,对于与摄像机的距离会变化的 3D 模型,请保留 Mip Map为启用状态。

1.2 支持格式

Unity 支持读取文件格式:

  • BMP,EXR,GIF,HDR,IFF,JPG,PICT,PNG,PSD,TGA,TIFF
  • Unity 可导入多层PSD文件,导入时自动展平,但图层在资源本身中维护。

二,纹理类型

2.1 纹理类型说明

  • Default Default: 是用于所有纹理的最常用设置。此选项可用于访问大多数导入纹理的属性。
  • Normal Map Normal map: 是可将颜色通道转换为适合实时法线贴图的格式。
  • Editor GUI and Legacy: 当我们要在 HUD 或 GUI 控件上使用纹理,选择此项。
  • Sprite (2D and UI): 当我们要在2D游戏中或者作为UI使用时,选择此项使用此纹理作为精灵。
  • Cursor Cursor: 是用于将纹理用作自定义游标的格式。
  • Cookie: 当我们需要场景光源的剪影时,选择此项。
  • Lightmap Lightmap: 是要将纹理用作光照贴图的格式。
  • Single Channel: 当我们需要纹理单通道时,选择此项。

2.2 纹理尺寸大小

理想情况下,纹理尺寸大小应该是每边为2的整数次幂(如:2,4,8,16像素(px)等等)。

Unity 允许使用NOPT(非2的幂)纹理大小;但是,NPOT纹理大小通常需要多一点内存,并且GPU的采样速度可能更慢。因此,我们尽量让美术出的图使用2的幂大小,以便于提高性能节省内存。

如果平台或GPU不支持NPOT纹理带下,Unity会对纹理进行缩放和填充已达到下一个2的幂的大小。

纹理导入后可将Advanced选项选择Not Power of 2,在导入时放大NPOT纹理资源。


三,所有支持的纹理压缩格式

下表显示了每个平台上可用的纹理压缩格式选项以及生成的压缩文件大小(基于 256 像素平方图像)。选择纹理压缩格式需要在文件大小和质量之间取得平衡;质量越高,文件越大。在下面的描述中,假定游戏纹理的最终文件大小为 256 x 256 像素。

纹理压缩格式 描述 大小(256x256 像素纹理)
RGB Compressed DXT1 压缩无符号标准化整数 RGB 纹理。 32KB(4 位/像素)
RGB Crunched DXT1 与 RGB Compressed DXT1 类似,但使用 Crunch 压缩方式进行压缩。有关 Crunch 压缩的更多信息,请参阅上面的注意事项。 可变,取决于纹理中内容的复杂程度。
RGBA Compressed DXT5 压缩无符号标准化整数 RGBA 纹理。 8 位/像素。 64KB(8 位/像素)
RGBA Crunched DXT5 与 RGBA Compressed DXT5 类似,但使用 Crunch 压缩方式进行压缩。有关 Crunch 压缩的更多信息,请参阅上面的注意事项。 可变,取决于纹理中内容的复杂程度。
RGB Compressed BC6H 压缩无符号浮点/高动态范围 (HDR) RGB 纹理。 64KB(8 位/像素)
RGB(A) Compressed BC7 高质量压缩无符号标准化整数 RGB 或 RGBA 纹理。 64KB(8 位/像素)
RGB Compressed PVRTC 2 位 高压缩 RGB 纹理。质量低,但较小,因此提高了性能。 16KB(2 位/像素)
RGBA Compressed PVRTC 2 位 高压缩 RGBA 纹理。质量低,但较小,因此提高了性能。 16KB(2 位/像素)
RGB Compressed PVRTC 4 位 压缩 RGB 纹理。高质量纹理,尤其是颜色数据,但可能需要很长时间压缩。 32KB(4 位/像素)
RGBA Compressed PVRTC 4 位 压缩 RGB 纹理。高质量纹理,尤其是颜色数据,但可能需要很长时间压缩。 32KB(4 位/像素)
RGB 16 位 65,000 种颜色,没有 Alpha。使用比压缩格式更多的内存,但可能更适合没有渐变的 UI 或清晰纹理。 128KB(16 位/像素)
RGB 24 位 真实色彩,但没有 Alpha。 192KB(24 位/像素)
RGBA 16 位 低质量真实色彩。这是具有 Alpha 通道的纹理的默认压缩格式。 128KB(16 位/像素)
RGBA 32 位 真实色彩,并有 Alpha。这是具有 Alpha 通道的纹理的最高质量压缩格式。 256KB(32 位/像素)
相关文章
|
API 图形学
Unity设置播放模式下始终先执行指定的场景
通过我们使用Unity开发游戏,是在PC/Mac上。而一个游戏通常也会有很多的场景,比如A、B、C、D三个场景,正常流程下的执行顺序是 A –> B –> C –> D。在具体一点,比如 A —— 启动场景、B —— 资源加载场景、C —— 登录场景、D —— 战斗场景。
1586 0
|
算法 图形学 数据安全/隐私保护
Unity 之 音频类型和编码格式介绍
Inspector窗口显示多个导入设置。这些设置决定了:加载行为,压缩行为,质量,采样率,以及是否支持双声道音频。
374 0
Unity 之 音频类型和编码格式介绍
|
API 开发工具 图形学
Pico neo3 Unity打包设置
最近使用Pico的频率很高,想给一些Pico爱好者分享一下在Unity中想项目打包到Pico设备中
784 0
Pico neo3 Unity打包设置
|
图形学
【Unity3D Shader】学习笔记-纹理采样②
前言 上一篇对同一纹理进行多次采样混合,本篇则是通过不同的纹理采样进行混合产生一些效果。 一、简单贴花 贴花简单来说就是在原贴图上面贴上细节贴图,就像墙面上的喷绘一样。下面这个只是最简单的例子,也就是只能在一张图(一个模型)上面贴其他细节。
223 0
【Unity3D Shader】学习笔记-纹理采样②
|
图形学
【Unity3D Shader】学习笔记-纹理采样①
前言 纹理采样属于在片段着色器中进行,通过提供的贴图和uv坐标使用tex2D进行采样。本篇主要介绍对同一纹理多次采样然后进行混合来获得不同的效果。 [声明:本笔记系列文章的图片资源都源自百度图片搜索,如有问题联系我] 一、简单重影 对同一纹理进行两次采样,采样时的UV两次坐标不一样,然后将采样的结果进行取平均得到最终的结果。
475 0
【Unity3D Shader】学习笔记-纹理采样①
|
图形学 机器人
带你读《Unity游戏开发(原书第3版)》之三:模型、材质和纹理
本书主要介绍Unity2018的使用和游戏开发流程中涉及的各种知识。每一章的结构特别清晰,先综述该章要介绍的内容,然后一步步深入讲解,中间穿插着很多动手做的实践操作,可以让读者加深对某个概念、方法的理解,每章的最后还有一个小测验和一个稍微大一点的实践练习,用于巩固该章的学习内容。
|
编解码 监控 图形学
unity设置程序
unity设置程序 Application.runInBackground 后台运行 Application.dataPath 数据路径 Application.persistentDataPath 持久数据路径 Application.
981 0
|
图形学
【Unity Shader】(八) ------ 高级纹理之立方体纹理及光线反射、折射的实现
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_37027464/article/details/83511904 笔者使用的是 Unity 2018.2.0f2 + VS2017,建议读者使用与 Unity 2018 相近的版本,避免一些因为版本不一致而出现的问题。
2149 0
|
存储 图形学
【Unity Shader】(四) ------ 纹理之法线纹理、单张纹理及遮罩纹理的实现
笔者使用的是 Unity 2018.2.0f2 + VS2017,建议读者使用与 Unity 2018 相近的版本,避免一些因为版本不一致而出现的问题。 【Unity Shader】(三) ------ 光照模型原理及漫反射和高光反射的实现 【Unity Shader】(五) ------ 透明效果之半透明效果的实现及原理   在游戏中,我们除了能看到游戏物体的形体轮廓,还能看到物体的一些具体外观,包括颜色,凹凸等。
1816 0