二维纹理 (Texture 2D)

纹理 (Textures) 使您的 网格 (Meshes)粒子 (Particles) 和界面变得生动!它们是您覆盖或环绕对象的图像或电影文件。因为它们如此重要,所以具有许多属性。如果是首次阅读此内容,请向下跳转到详细信息,在需要参考时返回实际设置。

用于对象的着色器对所需纹理具有特定要求,但是基本原则是可以将任何图像文件置于工程中。如果它满足大小要求(下面指定),则会进行导入并优化以供游戏使用。这可扩展到多层 Photoshop 或 TIFF 文件 - 这些文件会在导入时进行平展,因此对游戏没有大小方面的不利影响。请注意,这种平展在 Unity 内部进行,是可选的,因此可以继续在层保持不变的情况下保存和导入 PSD 文件。换句话说,PSD 文件不进行平展。

属性

纹理检视器 (Inspector) 的外观与大多数其他检视器 (Inspector) 稍有不同:

该检视器 (Inspector) 拆分为两个部分,即纹理导入器 (Texture Importer) 和纹理预览。

纹理导入器 (Texture Importer)

纹理全部来自“工程”(Project) 文件夹中的图像文件。其导入方式通过纹理导入器 (Texture Importer)进行指定。可以通过在工程视图 (Project View) 中选择纹理文件并在检视器 (Inspector) 中修改纹理导入器 (Texture Importer),来更改这些内容。

检视器 (Inspector) 中的最顶层项目是 纹理类型 (Texture Type) 菜单,使用该菜单可以从源图像文件中选择所需创建的纹理类型。

属性:功能:
纹理类型 (Texture Type)选择此项可根据纹理用途设置基本参数。
纹理 (Texture)这是通常用于所有纹理的最常见设置。
法线贴图 (Normal Map)选择此项可将颜色通道转变为适用于实时法线贴图 (normal mapping) 的格式。有关更多信息,请参阅法线贴图 (Normal Map)
图形用户界面 (GUI)如果纹理将在任何 HUD/GUI 控件上使用,则使用此项。
反射 (Reflection)也称为“立方体贴图”(Cube Map),用于在纹理上创建反射。有关更多信息,请查看立方体贴图 (Cubemap) 纹理
投射 (Cookie)这通过用于灯光投射 (Cookie) 的基本参数设置纹理。
高级 (Advanced)当希望纹理具有特定参数以及希望完全控制纹理时,选择此项。

选择的基本纹理设置
从灰度生成 Alpha (Alpha From Grayscale)如果启用,则会通过图像亮和暗的现有值生成 alpha 透明通道。
循环模式 (Wrap Mode)选择纹理在铺设时的行为方式:
重复 (Repeat)纹理重复(铺设)自己
拉伸 (Clamp)纹理边缘进行拉伸
过滤模式 (Filter Mode)选择纹理经三维变换拉伸时的过滤方式:
点 (Point)纹理在近距离变成块状
双线性 (Bilinear)纹理在近距离变得模糊
三线性 (Trilinear)类似双线性,但纹理也在不同的纹理层次之间变模糊
各向异性等级 (Aniso Level)在一个陡峭的角度观看纹理时提高纹理的质量。适用于地板和地面纹理,请参阅下文

纹理导入器”(Texture Importer) 中的法线贴图 (Normal Map) 设置
从灰度创建 (Create from Greyscale)如果启用此项,则会显示“凹凸”(Bumpiness) 和“过滤”(Filtering) 选项。
凹凸 (Bumpiness)控制凹凸量。
过滤 (Filtering)确定如何计算凹凸:
平滑 (Smooth)这会生成十分平滑的法线贴图 (normal map)。
尖锐 (Sharp)也称为 Sobel 过滤器。这会生成比标准更尖锐的法线贴图 (normal map)。
循环模式 (Wrap Mode)选择纹理在铺设时的行为方式:
重复 (Repeat)纹理重复(铺设)自己
拉伸 (Clamp)纹理边缘进行拉伸
过滤模式 (Filter Mode)选择纹理经三维变换拉伸时的过滤方式:
点 (Point)纹理在近距离变成块状
双线性 (Bilinear)纹理在近距离变得模糊
三线性 (Trilinear)类似双线性,但纹理也在不同的纹理层次之间变模糊
各向异性等级 (Aniso Level)在一个陡峭的角度观看纹理时提高纹理的质量。适用于地板和地面纹理,请参阅下文

GU纹理导入器 (Texture Importer) 中的图形用户界面(GUI) 设置
过滤模式 (Filter Mode)选择纹理经三维变换拉伸时的过滤方式:
点 (Point)纹理在近距离变成块状
双线性 (Bilinear)纹理在近距离变得模糊
三线性 (Trilinear)类似双线性,但纹理也在不同的纹理层次之间变模糊

纹理导入器 (Texture Importer) 中的光标 (Cursor) 设置
循环模式 (Wrap Mode)选择纹理在铺设时的行为方式:
重复 (Repeat)纹理重复(铺设)自己
拉伸 (Clamp)纹理边缘进行拉伸
过滤模式 (Filter Mode)选择纹理经三维变换拉伸时的过滤方式:
点 (Point)纹理在近距离变成块状
双线性 (Bilinear)纹理在近距离变得模糊
三线性 (Trilinear)类似双线性,但纹理也在不同的纹理层次之间变模糊

纹理导入器 (Texture Importer) 中的反射 (Reflection) 设置
贴图 (Mapping)这确定如何将纹理贴图到立方体贴图 (Cubemap)。
球体贴图 (Sphere Mapped)将纹理贴图到“类似于球体”的立方体贴图 (Cubemap)。
圆柱体 (Cylindrical)将纹理贴图到圆柱体,当要在类似于圆柱体的对象上使用反射时,请使用此项。
简单球体 (Simple Sphere)将纹理贴图到简单球体,从而使反射在旋转时变形。
完美球体 (Nice Sphere)将纹理贴图到简单球体,从而使其在旋转时变形,但是您仍可看到纹理的循环
6 帧布局 (6 Frames Layout)纹理包含采用标准立方体贴图 (Cubemap) 布局(交叉或顺序 (+x -x +y -y +z -z))之一排列的六个图像,这些图像可以处于水平或垂直方向。
固定边缘对接处 (Fixup edge seams消除贴图图像连接边缘处的视觉假象(在使用光泽反射时可见)。
过滤模式 (Filter Mode)选择纹理经三维变换拉伸时的过滤方式:
点 (Point)纹理在近距离变成块状
双线性 (Bilinear)纹理在近距离变得模糊
三线性 (Trilinear)类似双线性,但纹理也在不同的纹理层次之间变模糊
各向异性等级 (Aniso Level)在一个陡峭的角度观看纹理时提高纹理的质量。适用于地板和地面纹理,请参阅 下文

向场景添加许多视觉细节的一个有趣方法是使用投射 (Cookie) - 用于控制游戏中光照精确外观的灰度纹理。这是创造移动的云彩和提供 茂密植物印象的奇妙方法。光 (Light) 页面包含有关此内容所有方面的更多信息,但是主要的一点在于,要使纹理可用于投射 (cookie),只需将纹理类型 (Texture Type) 置为“投射”(Cookie)。


“纹理导入器”(Texture Importer) 中的“投射”(Cookie) 设置
光类型 (Light Type)将对纹理应用的光类型。(这可以为“聚光灯”(Spotlight)、“点”(Point) 或“定向光”(Directional lights))。对于“定向光”(Directional Lights),此纹理将进行铺设,因此在纹理检视器 (Inspector) 中,必须将“边缘模式”(Edge Mode) 设置为重复 (Repeat;对于“聚光灯”(SpotLights),应使投射 (cookie) 纹理的边缘保持为纯黑,以便获得正确效果。在纹理检视器 (Inspector) 中,将“边缘模式”(Edge Mode) 设置为拉伸 (Clamp)``。
贴图 (Mapping)(仅限“点”(Point) 光)用于将纹理贴图到点光的球形投射上的选项。
球体贴图 (Sphere Mapped)将纹理贴图到“类似于球体”的立方体贴图 (Cubemap)。
圆柱体 (Cylindrical)将纹理贴图到圆柱体,当要在类似于圆柱体的对象上使用反射时,请使用此项。
简单球体 (Simple Sphere)将纹理贴图到简单球体,从而使反射在旋转时变形。
完美球体 (Nice Sphere)将纹理贴图到简单球体,从而使其在旋转时变形,但是您仍可看到纹理的循环
6 帧布局 (6 Frames Layout)纹理包含采用标准立方体贴图 (Cubemap) 布局(交叉或顺序 (+x -x +y -y +z -z))之一排列的六个图像,这些图像可以处于水平或垂直方向。
固定边缘对接处 (Fixup edge seams)(仅限“点”(Point) 光)消除贴图图像连接边缘处的视觉假象。
从灰度生成 Alpha (Alpha from Greyscale)如果启用,则会通过图像亮和暗的现有值生成 alpha 透明通道。

“纹理导入器”(Texture Importer) 中的“光照贴图”(Lightmap) 设置
过滤模式 (Filter Mode)选择纹理经三维变换拉伸时的过滤方式:
点 (Point)纹理在近距离变成块状
双线性 (Bilinear)纹理在近距离变得模糊
三线性 (Trilinear)类似双线性,但纹理也在不同的纹理层次之间变模糊
各向异性等级 (Aniso Level)在一个陡峭的角度观看纹理时提高纹理的质量。适用于地板和地面纹理,请参阅下文

“高级纹理导入器设置”(Advanced Texture Importer Settings) 对话框
非2 的幂 (Non Power of 2)如果纹理的大小不是二的幂,则此项会定义导入时的缩放行为(有关更多信息,请参阅下面的纹理大小 (Texture Sizes) 部分):
无 (None)纹理大小保持原样。
最接近 (To nearest)纹理将在导入时缩放为最接近的二的幂大小。例如 257x511 将变为 256x512。请注意,PVRTC 格式要求纹理为方形(宽度等于高度),因此最终大小将放大为 512x512。
较大 (To larger)纹理将在导入时放大为下一个较大的二的幂大小。例如 257x511 将变为 512x512。
较小 (To smaller)纹理将在导入时缩小为下一个较小的二的幂大小。例如 257x511 将变为 256x256。
生成立方体贴图 (Generate Cube Map)使用不同生成方法从纹理生成立方体贴图 (Cubemap)。
球体贴图 (Spheremap)将纹理贴图到“类似于球体”的立方体贴图 (Cubemap)。
圆柱体 (Cylindrical)将纹理贴图到圆柱体,当要在类似于圆柱体的对象上使用反射时,请使用此项。
简单球体贴图 (SimpleSpheremap)将纹理贴图到简单球体,从而使反射在旋转时变形。
完美球体贴图 (NiceSpheremap)将纹理贴图到简单球体,从而使其在旋转时变形,但是您仍可看到纹理的循环
垂直面 (FacesVertical)纹理包含的立方体的六个面按 +x -x +y -y +z -z 的顺序以垂直条状排列。
水平面 (FacesHorizontal)纹理包含的立方体的六个面按 +x -x +y -y +z -z 的顺序以水平条状排列。
垂直交叉 (CrossVertical)纹理包含的立方体的六个面按垂直交叉排列。
水平交叉 (CrossHorizontal)纹理包含的立方体的六个面按水平交叉排列。
启用读/写 (Read/Write Enabled)S选择此项可启用从脚本对纹理数据的访问(GetPixels、SetPixels 和其他 Texture2D 功能)。不过请注意,将创建纹理数据的副本,从而使纹理资源所需的内存量加倍。仅当绝对需要时才使用。这仅对未压缩和 DTX 压缩纹理有效,无法读取其他类型的压缩纹理。默认情况下会禁用。
导入类型 (Import Type)解释图像数据的方式。
默认 (Default)标准纹理。
法线贴图 (Normal Map)将纹理视为法线贴图 (normal map)(启用其他选项)
光照贴图 (Lightmap)将纹理视为光照贴图 (lightmap)(禁用其他选项)
从灰度生成 Alpha (Alpha from grayscale)(仅限默认模式)从图像中的亮度信息生成 alpha 通道
从灰度创建 (Create from grayscale)(仅限法线贴图 (Normal map) 模式)从图像中的亮度信息创建贴图
绕过 sRGB 采样 (Bypass sRGB sampling)((仅限默认模式)使用图像中的精确颜色值而不是补偿伽马(当纹理不是用于GUI 或用作非图像数据的编码方式时十分有用)
生成 Mip Map (Generate Mip Maps)选择此项可启用 Mip-Map 生成。Mip Map 是当纹理在屏幕上非常小时使用的较小版本纹理。有关更多信息,请参阅下面的Mip Maps
线性空间中 (In Linear Space)在线性颜色空间中生成 MipMap。
限定 Mip Map (Border Mip Maps)选择此项可避免颜色渗入到较低纹理层次的边缘。用于灯光投射 (light cookie)(请参阅下文)。
Mip Map 过滤 (Mip Map Filtering)提供 了两种 Mip Map 过滤方式来优化图像质量:
盒 (Box)淡出 MipMap 的最简单方式 - 纹理层次随着大小缩小而变得越来越平滑。
Kaiser在 Mip Map 大小缩小时,对其运行锐化 Kaiser 算法。如果纹理在远处太模糊,请尝试此选项。
淡出 Mipmap (Fade Out Mipmaps)启用此项可使 MipMap 随着纹理层次推进淡变为灰色。这用于细节贴图 (Detail Map)。最左侧滚轴是开始淡出的第一个纹理层次。最右侧滚轴定义纹理完全变灰时的纹理层次
循环模式 (Wrap Mode)选择纹理在铺设时的行为方式:
重复 (Repeat)纹理重复(铺设)自己
拉伸 (Clamp)纹理边缘进行拉伸
过滤模式 (Filter Mode)选择纹理经三维变换拉伸时的过滤方式:
点 (Point)纹理在近距离变成块状
双线性 (Bilinear)纹理在近距离变得模糊
三线性 (Trilinear)类似双线性,但纹理也在不同的纹理层次之间变模糊
各向异性等级 (Aniso Level)在一个陡峭的角度观看纹理时提高纹理的质量。适用于地板和地面纹理,请参阅下文

各平台覆盖

针对不同平台进行编译时,必须考虑纹理针对目标平台的分辨率、大小和质量。可以设置默认选项,然后为特定平台覆盖默认设置


所有平台的默认设置。
最大纹理大小 (Max Texture Size)导入的最大纹理大小。设计师通常喜欢使用巨大的纹理 - 使用此项可将纹理缩小为合适大小。
纹理格式 (Texture Format)用于纹理的内部表示方法。这是大小与质量之间的权衡。在下面的示例中,我们展示了一个 256 x 256 像素的游戏中纹理的最终大小:
压缩 (Compressed)压缩 RGB 纹理。这是漫反射纹理的最常见格式。每像素 4 位(256x256 纹理 32 KB)。
16 位 (16 bit)低质量真彩色。具有 16 个级别的红色、绿色、蓝色和 alpha。
真彩色 (Truecolor)真彩色,这是最高质量。对于 256x256 纹理为 256 KB。

如果将纹理类型 (Texture Type) 设置为高级 (Advanced) ,则纹理格式 (Texture Format) 具有不同值。

桌面!

纹理格式 (Texture Format)用于纹理的内部表示方法。这是大小与质量之间的权衡。在下面的示例中,我们展示了一个 256 x 256 像素的游戏中纹理的最终大小:
RGB 压缩 DXT1 (RGB Compressed DXT1)压缩 RGB 纹理。这是漫反射纹理的最常见格式。每像素 4 位(256x256 纹理 32 KB)。
RGB 压缩 DXT5 (RGB Compressed DXT5)压缩 RGBA 纹理。这是用于漫反射和高光控制纹理的主要格式。1 字节/像素(256x256 纹理 64 KB)。
RGB 16 位 (RGB 16 bit)65000 种颜色,无 alpha。压缩 DXT 格式使用的内存较少,通常显示效果较好。256x256 纹理 128 KB。
RGRGB 24 位 (RGB 24 bit)真彩色,但是无 alpha。256x256 纹理 192 KB。
Alpha 8 位 (Alpha 8 bit)高质量 alpha 通道,但是无任何颜色。256x256 纹理 64 KB。
RGBA 16 位 (RGBA 24 bit)低质量真彩色。具有 16 个级别的红色、绿色、蓝色和 alpha。压缩 DXT5 格式使用的内存较少,通常显示效果较好。256x256 纹理 128 KB。
32 位格式的 RGBA 压缩 (RGBA 32 bit)带 alpha 的真彩色 - 这是最高质量。对于 256x256 纹理为 256 KB,此成本很高。大多数时候, DXT5 可提供 足够质量,但大小却小得多。此项的主要使用方式是用于法线贴图 (normal map),因为这种情况下的 DXT 压缩通常会带来明显的质量损失。

iOS

纹理格式 (Texture Format)用于纹理的内部表示方法。这是大小与质量之间的权衡。在下面的示例中,我们展示了一个 256 x 256 像素的游戏中纹理的最终大小:
PVRTC 4 位格式的 RGB 压缩 (RGB Compressed PVRTC 4 bits)压缩 RGB 纹理。这是漫反射纹理的最常见格式。每像素 4 位(256x256 纹理 32 KB)
RGBA 压缩 PVRTC 4 位 (RGBA Compressed PVRTC 4 bits)压缩 RGBA 纹理。这是用于漫反射和高光控制纹理或是透明的漫反射纹理的主要格式。每像素 4 位(256x256 纹理 32 KB)
PVRTC 2 位格式的 RGB 压缩 (RGB Compressed PVRTC 2 bits)压缩 RGB 纹理。适用于漫反射纹理的低质量格式。每像素 2 位(256x256 纹理 16 KB)
RGBA 压缩 PVRTC 2 位 (RGBA Compressed PVRTC 2 bits)压缩 RGBA 纹理。适用于漫反射和高光控制纹理的低质量格式。每像素 2 位(256x256 纹理 16 KB)
RGB 压缩 DXT1 (RGB Compressed DXT1)压缩 RGB 纹理。iOS 上不支持此格式,但是保留用于与桌面工程向后兼容。
RGB 压缩 DXT5 (RGB Compressed DXT5)压缩 RGBA 纹理。iOS 上不支持此格式,但是保留用于与桌面工程向后兼容。
RGB 16 bit65000 种颜色,无 alpha。使用的内存多于 PVRTC 格式,但是可能更适用于不带梯度的 UI 或卷曲纹理。256x256 纹理 128 KB。
RGB 24 位 (RGB 24 bit)真彩色,但是无 alpha。256x256 纹理 192 KB。
Alpha 8 位 (Alpha 8 bit)高质量 alpha 通道,但是无任何颜色。256x256 纹理 64 KB。
16 位格式的 RGBA 压缩 (RGBA 16 bit)低质量真彩色。具有 16 个级别的红色、绿色、蓝色和 alpha。使用的内存多于 PVRTC 格式,但是在需要精确 alpha 通道时可能比较方便。256x256 纹理 128 KB。
32 位格式的 RGBA 压缩 (RGBA 32 bit)带 alpha 的真彩色 - 这是最高质量。对于 256x256 纹理为 256 KB,此成本很高。大多数时候, PVRTC 格式可提供 足够质量,但大小却小得多。|
压缩质量 (Compression quality)选择“快速”(Fast) 可实现最快性能,选择“最佳”(Best) 可实现最佳图像质量,选择“普通”(Normal) 可实现两者之间的平衡。

Android

纹理格式 (Texture Format)用于纹理的内部表示方法。这是大小与质量之间的权衡。在下面的示例中,我们展示了一个 256 x 256 像素的游戏中纹理的最终大小:
RGB 压缩 DXT1 (RGB Compressed DXT1)压缩 RGB 纹理。受 Nvidia Tegra 支持。每像素 4 位(256x256 纹理 32 KB)。
RGB 压缩 DXT5 (RGB Compressed DXT5)压缩 RGBA 纹理。受 Nvidia Tegra 支持。每像素 6 位(256x256 纹理 64 KB)。
RGB 压缩 ETC 4 位 (RGB Compressed ETC 4 bits)压缩 RGB 纹理。这是安卓 (Android) 工程的默认纹理格式。ETC1 属于 OpenGL ES 2.0,受所有 OpenGL ES 2.0 GPU 支持。它不支持 alpha。每像素 4 位(256x256 纹理 32 KB)
PVRTC 2 位格式的 RGB 压缩 (RGB Compressed PVRTC 2 bits)压缩 RGB 纹理。受 Imagination PowerVR GPU 支持。每像素 2 位(256x256 纹理 16 KB)
RGBA 压缩 PVRTC 2 位 (RGBA Compressed PVRTC 2 bits)压缩 RGBA 纹理。受 Imagination PowerVR GPU 支持。每像素 2 位(256x256 纹理 16 KB)
PVRTC 4 位格式的 RGB 压缩 (RGB Compressed PVRTC 4 bits) 压缩 RGB 纹理。受 Imagination PowerVR GPU 支持。每像素 4 位(256x256 纹理 32 KB)
RGBA 压缩 PVRTC 4 位 (RGBA Compressed PVRTC 4 bits)压缩 RGBA 纹理。受 Imagination PowerVR GPU 支持。每像素 4 位(256x256 纹理 32 KB)
RGB 压缩 ATC 4 位 (RGB Compressed ATC 4 bits)压缩 RGB 纹理。受 Qualcomm Snapdragon 支持。每像素 4 位(256x256 纹理 32 KB)。
ATC 8 位格式的 RGBA 压缩 (RGBA Compressed ATC 8 bits)压缩 RGBA 纹理。受 Qualcomm Snapdragon 支持。每像素 6 位(256x256 纹理 64 KB)。
RGB 16 位 (RGB 16 bit)65000 种颜色,无 alpha。使用的内存多于压缩格式,但是可能更适用于不带梯度的 UI 或卷曲纹理。256x256 纹理 128 KB。
RGB 24 位 (RGB 24 bit)真彩色,但是无 alpha。256x256 纹理 192 KB。
Alpha 8 位 (Alpha 8 bit)高质量 alpha 通道,但是无任何颜色。256x256 纹理 64 KB。
16 位格式的 RGBA 压缩 (RGBA 16 bit) 低质量真彩色。带 alpha 通道的纹理的默认压缩。256x256 纹理 128 KB。
32 位格式的 RGBA 压缩 (RGBA 32 bit) 带 alpha 的真彩色 - 这是带 alpha 的纹理的最高质量压缩。256x256 纹理 256 KB。
Comp压缩质量 (Compression quality)选选择“快速”(Fast) 可实现最快性能,选择“最佳”(Best) 可实现最佳图像质量,选择“普通”(Normal) 可实现两者之间的平衡。

除非您以特定硬件(如 Tegra)为目标,否则建议使用 ETC1 压缩。如果需要,可以存储外部 alpha 通道,仍可受益于较小的纹理体积。如果绝对需要在纹理中存储 alpha 通道,则“16 位格式的 RGBA 压缩 (RGBA 16 bit)” 是所有硬件供应商都支持的压缩。

纹理可以从 DDS 文件导入,但是当前仅支持 DXT 或未压缩像素格式。

如果您的应用程序使用不支持的纹理压缩,则纹理会解压缩为 RGBA 32 并随压缩纹理一起存储在内存中。因此在这种情况下,您会因解压缩纹理而浪费时间,并因再次存储它们而浪费内存。这样还可能对渲染性能产生非常不利的影响。

Flash

格式 (Format)图像格式 (Image format)
RGB JPG 压缩 (RGB JPG Compressed)采用 JPG 格式压缩的 RGB 图像数据
RGBA JPG 压缩 (RGBA JPG Compressed)采用 JPG 格式压缩的 RGBA 图像数据(即带有 alpha)
RGRGB 24 位 (RGB 24-bit)未压缩 RGB 图像数据,每个通道 8 位
RGBA 32 位 (RGBA 32-bit)未压缩 RGBA 图像数据,每个通道 8 位

详细信息

支持的格式

Unity 可以读取以下文件格式:PSD、TIFF、JPG、TGA、PNG、GIF、BMP、IFF、PICT。应注意的是,Unity 可以很好地导入多层 PSD 和 TIFF 文件。它们在导入时自动进行平展,但是各层会自己保持在资源中,因此在以本机方式使用这些文件类型时不会丢失任何工作。这十分重要,因为这使您可以只需创建一个纹理副本,可以从 Photoshop 中使用该副本,通过 3D 建模应用程序用于 Unity。

纹理大小

理想情况下,纹理大小应是二的幂。这些大小如下所示:2、4、8、16、32、64、128、256、512、1024、2048 等像素。纹理不必为方形,即宽度可以与高度不同。请注意,每个平台可能具有最大纹理大小。

可以将其他(非二的幂 -“NPOT”)纹理大小用于 Unity。非二的幂纹理大小通常占用的内存稍多一点,由 GPU 进行读取的速度可能较慢,因此考虑到性能,最好尽可能使用二的幂大小。如果平台或 GPU 不支持 NPOT 纹理大小,则 Unity 会缩放纹理并将其填补为下一个二的幂大小,这甚至会使用更多内存并使加载更慢(实际上,这种情况总是发生在 Flash 和一些较旧安卓 (Android) 设备上)。一般而言,您只需将非二的幂大小用于图形用户界面。

可以使用导入设置的高级纹理类型中的非二的幂 (Non Power of 2)选项在导入时缩放非二的幂纹理资源。

UV 贴图 (UV Mapping)

将二维纹理贴图到三维模型上时,会进行某种循环。这称为 UV 贴图 (UV Mapping) ,在三维建模应用程序中进行。在 Unity 中,可以使用材质 (Material)缩放并移动纹理。缩放法线贴图 (normal map)和细节贴图 (detail map) 尤其有用。

Mip Maps

Mip Map 是逐渐变小的图像版本的列表,用于对实时三维引擎优化性能。远离相机的对象使用较小的纹理版本。使用 Mip Map 时占用的内存会增加 33%,但是不使用它们可能会导致巨大的性能损失。对于游戏中纹理应始终使用 MipMap;唯一的例外情况是从不会变小的纹理(例如,图形用户界面纹理)。

法线贴图 (Normal Map)

法线贴图 (Normal Map) 由法线贴图着色器 (normal map shader) 用于使低多边形模型看似包含更多细节。Unity 使用编码为 RGB 图像的法线贴图 (normal map)。还可以选择从灰度高度贴图图像生成法线贴图 (normal map)。

细节贴图 (Detail Map)

如果要创建地形,通常会使用主纹理显示存在草地、岩石、沙等区域的位置。如果地形具有较大大小,则最后会非常模糊。[[HOWTO-UseDetailTexture|细节纹理 (Detail texture)] 可通过在主纹理接近时淡入小细节来掩饰此情况。

绘制细节纹理时,中性灰色会不可见,白色使主纹理的亮度变为两倍,而黑色使主纹理完全变黑。

反射(立方体贴图 (Cube Map))

如果要将纹理用于反射贴图(例如,使用反射 (Reflective) 内置着色器),则需要使用 立方体贴图 (Cubemap) 纹理

各向异性过滤 (Anisotropic filtering)

各向异性过滤 (Anisotropic filtering) 可在从掠射角查看时提高纹理质量,不过需要产生一定渲染成本(该成本完全由显卡承担)。提高各向异性等级通常适用于地板和地面纹理。在质量设置 (Quality Settings) 中,可以强制对所有纹理使用各向异性过滤 (Anisotropic filtering),或是完全禁用。


地面纹理上未使用各向异性(左)/使用最大各向异性(右)

Page last updated: 2013-06-21