您可以将 Streaming Virtual Texturing (SVT) 与您在 Shader Graph 中创建的着色器一同使用。要使用 SVT 流式传输一个或多个纹理,您需要正确设置您的材质和 Shader Graph。要了解更多信息,请参阅在 Shader Graph 中使用 Streaming Virtual Texturing。
当纹理设置不正确时,Unity 无法渲染材质。相反,Unity 使用紫色和蓝色棋盘图案渲染一个虚拟纹理 (VT) 错误纹理。在您修复验证错误之前,此纹理将保持可见。
The Virtual Texturing error texture:
![VT_Error Material](C:\Mercurial\Manual\main\content\uploads\Main\VT_Error Material.png)
纹理堆栈是 Unity 同时采样的一组纹理,使用相同的 UV 坐标。当纹理堆栈或纹理堆栈中的纹理未处于有效状态时,会发生验证错误。
您可以在 Material Inspector 中看到验证错误:
此验证错误示例是由具有三层的纹理堆栈引起的,该堆栈仅分配了两个纹理字段。
纹理堆栈验证错误的常见原因包括:
当堆栈中的一个或多个纹理未处于有效状态时,也会发生错误。纹理验证错误的原因包括:
该纹理不是 Texture2D 类型(SVT 不支持数组或立方体贴图)。
该纹理使用镜像包裹模式。
该纹理在每个轴上使用不同的钳制模式(例如,垂直钳制的同时水平重复)。纹理的分辨率不是 2 的幂。
所有纹理的宽高比都不相同。
该纹理不符合 128 x 128 像素的最小尺寸。
该纹理没有 Mipmap。
该纹理在纹理导入器中启用了 Use Crunch compression。
为了让 Unity 使用 SVT 构建播放器,所有材质都必须使用具有匹配宽高比的有效纹理,并具有有效的虚拟纹理属性(请参阅验证错误)。如果播放器构建中的材料处于无效状态,则会导致控制台日志中出现构建错误。
当 Unity 记录验证错误时,它会根据以下约定命名纹理堆栈:
以下是此命名约定的两个示例:
当控制台日志中出现错误时,错误名称还包括使用纹理堆栈的材质。例如: