在高清渲染管线 (HDRP) 中,可以在使用 Shader Graph 创建的着色器中使用串流虚拟纹理(Streaming Virtual Texturing,SVT)。
注意:使用 ARM 架构的平台不支持串流虚拟纹理。
一些额外的游戏主机平台支持此功能。请参阅目标平台的文档以确定其是否支持串流虚拟纹理。
SVT 建立在 Texture2D 之上。SVT 纹理通过相同的导入器,这将限制最大纹理大小。SVT 不支持大于 16K x 16K 的纹理。也不支持 UDIM 纹理或将平铺图像文件合并为一个大纹理。
SVT 不支持所有纹理图形格式。支持的格式如下:
GraphicsFormat::kFormatRGBA_DXT1_SRGBGraphicsFormat::kFormatRGBA_DXT1_UNormGraphicsFormat::kFormatRGBA_DXT3_SRGBGraphicsFormat::kFormatRGBA_DXT3_UNormGraphicsFormat::kFormatR_BC4_UNormGraphicsFormat::kFormatRG_BC5_UNormGraphicsFormat::kFormatRGB_BC6H_SFloatGraphicsFormat::kFormatRGB_BC6H_UFloatGraphicsFormat::kFormatRGBA_BC7_SRGBGraphicsFormat::kFormatRGBA_BC7_UNormGraphicsFormat::kFormatR8_SRGBGraphicsFormat::kFormatR8_UNormGraphicsFormat::kFormatR8G8_SRGBGraphicsFormat::kFormatR8G8_UNormGraphicsFormat::kFormatR8G8B8_SRGBGraphicsFormat::kFormatR8G8B8_UNormGraphicsFormat::kFormatR8G8B8A8_SRGBGraphicsFormat::kFormatR8G8B8A8_UNormGraphicsFormat::kFormatR16_SFloatGraphicsFormat::kFormatR16_UNormGraphicsFormat::kFormatR16G16_SFloatGraphicsFormat::kFormatR16G16_UNormGraphicsFormat::kFormatR16G16B16A16_SFloatGraphicsFormat::kFormatR16G16B16A16_UNormGraphicsFormat::kFormatR32_SFloatGraphicsFormat::kFormatR32G32_SFloatGraphicsFormat::kFormatR32G32B32A32_SFloatGraphicsFormat::kFormatA2B10G10R10_UNormPack32SVT 不支持:
SVT 中的纹理没有小于瓦片大小(128 x 128 像素)的 Mipmap。SVT 将采样钳制到此 Mipmap 级别,因此您可以在远处看到某些内容的锯齿。
SVT 仅在播放器中支持三线性过滤,在编辑器中不支持。
SVT 仅支持在播放器中从磁盘的串流,而在编辑器中不支持。
最大各向异性过滤级别为 8。这是因为每个瓦片都有一个 8 像素的边界。
不能在播放器中动态设置属于堆栈的纹理。在播放器中,无法调用 Material.SetTexture 或 Renderer.SetPropertyBlock 来修改纹理堆栈。
SVT 不支持:
堆叠层的纵横比必须匹配。