版本:Unity 6 (6000.0)
语言:英语
将纹理标记为“仅虚拟纹理”
虚拟纹理分析器模块

虚拟纹理错误材质

此功能为实验性功能,尚未准备好投入生产使用。该功能和文档可能会在将来更改或删除。

您可以将流式虚拟纹理 (SVT) 与您在 Shader Graph 中创建的着色器在 GPU 上运行的程序。 更多信息
请参见 词汇表
一起使用。要使用 SVT 流式传输一个或多个纹理,您需要正确设置材质和 Shader Graph。要了解更多信息,请参见 在 Shader Graph 中使用流式虚拟纹理

当纹理设置不正确时,Unity 无法渲染材质。相反,Unity 会渲染一个带有紫色和蓝色棋盘格图案的虚拟纹理 (VT) 错误纹理。此纹理将一直可见,直到您修复验证错误。

虚拟纹理错误纹理

Virtual Texturing Error Material
虚拟纹理错误材质

验证错误

纹理堆栈是一组纹理,Unity 使用相同的 UV 坐标同时对它们进行采样。当纹理堆栈或纹理堆栈中的纹理处于无效状态时,就会发生验证错误。

您可以在材质 检查器一个 Unity 窗口,显示有关当前选定游戏对象、资产或项目设置的信息,允许您检查和编辑值。 更多信息
请参见 词汇表
中看到验证错误。

Virtual Texturing Error
虚拟纹理错误

此验证错误示例是由一个具有三个层的纹理堆栈引起的,该堆栈只有两个纹理槽分配。

纹理堆栈验证错误的常见原因包括

当堆栈中一个或多个纹理处于无效状态时,也会发生错误。纹理验证错误的原因包括

  • 纹理不是 Texture2D 类型(SVT 不支持数组或立方体贴图)。

  • 纹理使用镜像环绕模式。

  • 纹理使用每个轴的不同钳制模式(例如,水平重复,垂直钳制)。纹理的分辨率不是 2 的幂。

  • 所有纹理的长宽比图像比例尺寸的关系,例如宽度和高度。
    请参见 词汇表
    不相同。

  • 纹理不符合 128 x 128 像素的最小尺寸计算机图像中最小的单位。像素大小取决于您的屏幕分辨率。每个屏幕像素都会计算像素照明。 更多信息
    请参见 词汇表

  • 纹理没有 mipmap。

  • 纹理在 纹理导入器 中启用了使用 Crunch 压缩一种存储数据的方法,可以减少它所需的存储空间。请参见 纹理压缩动画压缩音频压缩构建压缩
    请参见 词汇表

构建播放器错误

为了使 Unity 能够使用 SVT 构建播放器,所有材质必须使用具有匹配长宽比的有效纹理,并且具有有效的虚拟纹理属性(请参见 验证错误)。如果播放器构建中的材质处于无效状态,则会导致在控制台日志中出现的构建错误。

错误命名约定

当 Unity 记录验证错误时,它会根据以下约定命名纹理堆栈

  • 纹理堆栈具有的层数。
  • 在 ShaderGraph 中设置的纹理堆栈的层名称。

以下是可以举两个此命名约定的示例

  • 具有两层的纹理堆栈中的错误名称:Texture 2(Layer_Name_1, NULL)
  • 具有三层的纹理堆栈中的错误名称:Texture 3 (Layer_Name_1, Layer_Name_2, NULL)

当控制台日志中出现错误时,错误名称还将包括使用纹理堆栈的材质。例如

  • 材质“materialname3”的“纹理堆栈 2 (3_BaseColorMap, NULL)”。
将纹理标记为“仅虚拟纹理”
虚拟纹理分析器模块