纹理组件
导入纹理

纹理

纹理是覆盖或包裹游戏对象以赋予它们视觉效果的图像或电影文件。本页面将详细介绍用于管理纹理的属性。

Unity 会将 3D 项目的 Assets 文件夹中的所有图像或电影文件识别为纹理(在 2D 项目中保存为精灵)。只要图像满足下面指定的大小要求,就会将其导入并进行优化以用于游戏(但用于游戏对象的着色器会有特定的纹理要求)。此范围包括多层 Photoshop 或 TIFF 文件,这些文件在导入时会自动展平,这样就不会在游戏中造成大小损失。这种展平操作发生在 Unity 内部,而不是 PSD 文件本身内部,并且是可选操作,因此您可以继续保存和导入图层不变的 PSD 文件。

属性

The Texture Inspector window
The Texture Inspector window

Inspector 窗口分为两部分:上面的__纹理导入器 (Texture Importer)__ 和下面的__预览 (Preview)__。

纹理导入器

纹理导入器定义如何将图像从项目的 Assets 文件夹导入 Unity Editor。要访问纹理导入器,请在 Project 窗口中选择图像文件。纹理导入器将在 Inspector 窗口中打开。

请注意,默认情况下会隐藏一些不太常用的属性。在 Inspector 窗口中单击 Advanced 即可查看这些属性。

Texture Type

纹理导入器中的第一个属性是 Texture Type。使用此属性可选择要从源图像文件创建的纹理类型。请参阅有关纹理类型的文档以了解每种类型的更多相关信息。

属性: 功能:
Texture Type 使用此属性可定义纹理的用途。纹理导入器中的其他属性将根据此处的选择而变化。
    Default 这是用于所有纹理的最常用设置。此选项可用于访问大多数纹理导入属性。
    Normal Map 选择此选项可将颜色通道转换为适合实时法线贴图的格式。请参阅导入纹理以了解有关法线贴图的更多信息。
    Editor GUI 如果要在任何 HUD 或 GUI 控件上使用纹理,请选择此选项。
    Sprite (2D and UI) 如果要在 2D 游戏中使用该纹理作为精灵,请选择此选项。
    Cursor 如果要将纹理用作自定义游标,请选择此选项。
    Cookie 选择此选项可通过基本参数来设置纹理,从而将其用于场景光源剪影
    Lightmap Select this if you are using the Texture as a Lightmap. This option enables encoding into a specific format (RGBM or dLDR, depending on the platform) and a post-processing step on Texture data (a push-pull dilation pass).
    Single Channel 如果在纹理中只需要一个通道,请选择此选项。

Texture Shape

纹理导入器中的第二个属性是 Texture Shape。使用此属性可选择和定义纹理的形状和结构。

属性: 功能:
Texture Shape 使用此属性可定义纹理的形状。默认情况下,该值设置为 2D。
    2D 这是用于所有纹理的最常用设置;它将图像文件定义为 2D 纹理。这些设置用于将纹理映射到 3D 网格和 GUI 元素以及其他项目元素。
    Cube 此选项将纹理定义为立方体贴图。例如,可将其用于天空盒或反射探针。选择 Cube 会显示不同的贴图选项。
Mapping 仅当 Texture Shape 设置为 Cube 时,此设置才可用。使用 Mapping 可指定如何将纹理投影到游戏对象上。默认情况下,此设置为 Auto
    Auto Unity 尝试从纹理信息自动计算布局。
    6 Frames Layout (Cubic Environment) 纹理包含按以下标准立方体贴图布局之一排列的六个图像:交叉或序列 (+x -x +y -y +z -z)。图像可以水平或垂直定向。
    Latitude Longitude (Cylindrical) 将纹理映射到 2D 纬度/经度表示形式。
    Mirrored Ball (Sphere Mapped) 将纹理映射到类似球体的立方体贴图。
Convolution Type 选择要用于此纹理的预卷积(即过滤)类型。预卷积的结果将存储在 Mip 中。默认情况下,此设置为 None
    None 纹理没有预卷积(无过滤)。
    Specular (Glossy Reflection) 选择此选项可将立方体贴图用作反射探针。纹理 Mipmap 使用引擎 BRDF 进行预卷积(过滤)。(请参阅 Wikipedia 的双向反射分布函数 (Bidirectional reflectance distribution function) 页面以了解更多信息。)
    Diffuse (Irradiance) 对纹理进行卷积(过滤)以表示辐照度。如果将立方体贴图用作光照探针,则此选项非常有用。
Fixup Edge Seams 仅在选择 NoneDiffuse 卷积(过滤)的情况下,此选项才可用。在低端平台上使用此选项作为解决过滤限制(例如在面之间错误过滤的立方体贴图)的解决方法。

Advanced settings

The Advanced settings allow you to make finer adjustments to the way Unity handles your Texture. The order and availability of these settings might vary slightly depending on the Texture Type you choose.

属性: 描述:
Non Power of 2 如果纹理具有“非 2 的幂”(NPOT) 尺寸大小,此属性将定义导入时的缩放行为。请参阅导入纹理相关文档以了解有关 NPOT 大小的更多信息。默认情况下,此设置为 None
    None 纹理尺寸大小保持不变。
    To nearest 纹理在导入时缩放到最接近的“2 的幂”尺寸大小。例如,257x511 像素的纹理将缩放为 256x512 像素。请注意,PVRTC 格式要求纹理为正方形(即宽度等于高度),因此最终尺寸大小将升级为 512x512 像素。
    To larger 纹理在导入时缩放到最大尺寸大小值的“2 的幂”尺寸大小。例如,257x511 像素的纹理将缩放为 512x512 像素。
    To smaller 纹理在导入时缩放到最小尺寸大小值的“2 的幂”尺寸大小。例如,257x511 像素的纹理将缩放为 256x256 像素。
Read/Write Enabled 选中此框允许从脚本函数(例如 Texture2D.SetPixelsTexture2D.GetPixels 和其他 Texture2D 函数)访问纹理数据。请注意,此情况下会生成纹理数据的副本,使纹理资源所需的内存量增加一倍,因此只有在绝对必要时才应使用此属性。此属性仅适用于未压缩纹理和 DXT 压缩纹理;无法读取其他类型的压缩纹理。默认情况下会禁用此属性。
Streaming Mip Maps Enable this checkbox to use Texture Streaming on this Texture. This setting is valid for any Texture in the 3D environment that Unity displays with a Mesh Renderer. Diffuse Textures, normal maps and light maps are all valid for Texture Streaming.
    Mip Map Priority Use this to set the priority of the mipmap. Unity uses this to determine which mipmaps to prioritize when assigning resources. Higher values represent a higher priority (for example, 3 is a higher priority than 1). This setting is only available when Streaming Mip Maps is enabled.

The Mip Map Priority number is also a mipmap offset for the Memory Budget (set in the Quality Settings when Texture Streaming is enabled). For example, with a priority of 2, the Texture Streaming system tries to use a mipmap two mip levels higher than Textures with a priority of 0. One mip level higher is 2x in each axis and two levels higher is 4x in each axis, so two mip levels higher results in a texture 16x larger. If it can’t do this, it uses a lower mip level to fit the Memory Budget. Negative values are also valid. See Texture Streaming API for more details.
Generate Mip Maps 选中此框可禁止生成 Mipmap。Mipmap 是纹理的一系列较小版本,适合纹理在屏幕上非常小时使用。有关 Mipmap 的更多信息,请参阅导入纹理文档。
    Border Mip Maps 选中此复选框可避免颜色向外渗透到较低 MIP 级别的边缘。该功能用于光照剪影(见下文)。默认情况下会取消选中此框。
    Mip Map Filtering 有两种 Mipmap 过滤方法可用于优化图像质量。默认选项为 Box
        Box 这是淡出 Mipmap 的最简单方法。随着尺寸减小,MIP 级别将变得更加平滑。
        Kaiser 这是一种随着 Mipmap 的尺寸大小下降而对其应用的锐化算法。如果纹理在远处太模糊,可尝试此选项。(这是一种 Kaiser 窗 (Kaiser Window) 算法,请参阅 Wikipedia 以了解更多信息。)
    Mip Maps Preserve Coverage Enable this checkbox if you want the alpha channel of generated mipmaps to preserve coverage during the alpha test. See TextureImporterSettings.mipMapsPreserveCoverage for more information.
    Fadeout Mip Maps 启用此属性可在 MIP 级别递进时使 Mipmap 淡化为灰色。此属性用于细节贴图。最左边的滚动项是第一个开始淡出的 MIP 级别。最右侧的滚动项定义了纹理完全变灰的 MIP 级别。
Wrap Mode 选择纹理平铺时的行为方式。默认选项为 Clamp
    Repeat Repeats the Texture in tiles.
    Clamp Stretches the Texture’s edges.
    Mirror Mirrors the Texture at every integer boundary to create a repeating pattern.
    Mirror Once Mirrors The texture once, then clamps it to edge pixels.
    Per-axis Choose this to individually control how Unity wraps Textures at the U axis and V axis.
Filter Mode 选择纹理在通过 3D 变换拉伸时如何进行过滤。默认选项为 Point (no filter)
    Point (no filter) 纹理在靠近时变为块状。
    Bilinear 纹理在靠近时变得模糊。
    Trilinear 与 Bilinear 类似,但纹理也在不同的 MIP 级别之间模糊。
Aniso Level 以大角度查看纹理时提高纹理质量。适用于地板和地面纹理。有关各向异性过滤的更多信息,请参阅导入纹理文档。

特定于平台的覆盖 (Platform-specific overrides)

纹理检视面板窗口有一个__特定于平台的覆盖 (Platform-specific overrides)__ 面板。

特定于平台的覆盖 (Platform-specific overrides) 面板
特定于平台的覆盖 (Platform-specific overrides) 面板

在为不同平台进行构建时,您需要考虑每个目标平台的分辨率、文件大小与相关内存大小要求、像素尺寸和纹理质量。可使用__特定于平台的覆盖 (Platform-specific overrides)__ 面板设置默认选项(使用 __Default__),然后使用面板顶部的按钮针对特定平台覆盖这些选项的设置。

属性: 功能:
Max Size 导入的纹理的最大尺寸(以像素为单位)。美术师通常喜欢使用尺寸较大的纹理;使用 Max Size 可将纹理缩小到合适的尺寸大小。
Compression 选择纹理的压缩类型。此参数有助于系统为纹理选择正确的压缩格式。根据平台和压缩格式的可用性,不同的设置最终可能采用相同的内部格式(例如,__Low Quality Compression__ 对移动平台有影响,但对桌面平台无影响)。
    None 不压缩纹理。
    Low Quality 以低质量格式压缩纹理。与 Normal Quality 相比,这会降低内存使用量。
    Normal Quality 以标准格式压缩纹理。
    High Quality 以高质量格式压缩纹理。与 Normal Quality 相比,这会提高内存使用量。
Format 这会绕过自动系统来指定用于纹理的内部表示。可用格式的列表取决于平台和纹理类型。请参阅特定于平台的覆盖的纹理格式相关文档以了解更多信息。
注意:即使未覆盖平台,此选项也会显示自动系统选择的格式。Format 属性仅在覆盖特定平台时可用,而不是作为默认设置。
Use crunch compression 如果适用,使用 Crunch 压缩。Crunch 是一种基于 DXT 或 ETC 纹理压缩的有损压缩格式。在运行时,纹理在 CPU 上解压缩为 DXT 或 ETC,然后上传到 GPU 上。Crunch 压缩有助于纹理在磁盘上使用尽可能少的空间并方便下载。Crunch 纹理可能需要很长时间进行压缩,但在运行时的解压缩速度非常快。
Compressor Quality 使用 Crunch 纹理压缩时,可使用滑动条调整质量。压缩质量越高意味着纹理越大,压缩时间越长。

  • 2017–09–18 Page amended with limited editorial review

  • 2017.3 版中更新了 Crunch 压缩格式 NewIn20173

纹理组件
导入纹理