Últimas noticias
Uso de Tag y Scene en SketchUp: guía para organizar y presentar modelosGuía de texturizado virtual en Unreal Engine: ¿cómo usar RVT y SVT?Guía para colocar objetos en puntos con Blender Geometry NodesOrganiza una escena arquitectónica con 3D Cursor y Color Balance en BlenderLa Biblioteca Central de Essen transforma una antigua tienda en un espacio público de seis plantasRender arquitectónico de líneas con Blender Freestyle: guía paso a pasoPrimeros pasos con MAXScript en 3ds Max: guía de aprendizaje para automatizar tareasNVIDIA App 11.0.9: llega DLSS 4.5 Ray ReconstructionGuía para configurar AOV de geometría y volumen en Houdini KarmaCómo configurar una granja de render de Blender Flamenco: Manager y Worker
Consejos y guíasUnreal Engine

Guía de texturizado virtual en Unreal Engine: ¿cómo usar RVT y SVT?

Unreal Engine ofrece Runtime Virtual Texturing (RVT) y Streaming Virtual Texturing (SVT) para gestionar el uso de memoria de las texturas grandes. Esta guía aborda la elección del método, la conversión de materiales y el control del rendimiento.

Visualización arquitectónica de un pabellón moderno con texturas de paisaje por capasImagen IA
Imagen ilustrativa generada con IA.Imagen: 3dsınıfı / FCA AI

En resumen

  1. RVT genera las texturas en la GPU durante la ejecución y puede utilizarse con materiales procedurales o por capas.
  2. SVT carga en la memoria de la GPU, en forma de tiles, las partes visibles en pantalla de las texturas almacenadas en disco.
  3. En los materiales que usan texturas SVT, los nodos Texture Sample deben emplear un tipo de sampler Virtual adecuado.
  4. El costo del texturizado virtual puede examinarse con los comandos `stat virtualtexturing` y `stat virtualtexturememory`.

La documentación oficial de Unreal Engine de Epic Games presenta el texturizado virtual como una forma de procesar texturas grandes durante la ejecución con un uso de memoria menor y más constante. El sistema incluye dos métodos: Runtime Virtual Texturing (RVT) y Streaming Virtual Texturing (SVT). Esta guía explica los usos de ambos métodos en visualización arquitectónica y escenas en tiempo real, cómo conectar texturas SVT a los materiales y cómo comprobar el rendimiento. La documentación de referencia no especifica una versión concreta de Unreal Engine a la que se aplique esta información.

1. ¿RVT o SVT? Elegir según el uso

Con RVT, la GPU genera los datos de textura durante la ejecución. La documentación de Epic describe este método como adecuado para texturas procedurales, materiales por capas y el uso de materiales complejos en paisajes. Entre los ejemplos en los que RVT puede resultar útil también se incluyen los flujos de trabajo con Landscape Spline, el uso de decals en meshes y la mezcla general de paisajes y objetos. Esto no significa que los decals se mezclen directamente con paisajes u objetos.

SVT, en cambio, utiliza texturas preparadas en disco. El sistema divide los mip levels de la textura en tiles de tamaño fijo; la GPU determina qué partes necesitan los píxeles visibles en pantalla y carga esos tiles en la caché de la memoria de la GPU. Así, en el caso de las texturas de alta resolución, se procesan las zonas necesarias en lugar de cargar por completo también las partes que no se ven. SVT es adecuado para datos cuya generación lleva tiempo, como los lightmaps y las texturas grandes creadas por artistas.

MétodoFlujo de datosUsos indicados en la documentación
RVTLos datos de textura se generan en la GPU durante la ejecución.Materiales procedurales o por capas, materiales complejos para paisajes
SVTLos datos de textura se cargan desde el disco; los tiles necesarios se llevan a la memoria.Lightmaps y texturas grandes y detalladas

2. Convertir texturas SVT y materiales

Para usar SVT, hay que activar Virtual Texture Streaming en el Texture Asset. Además, los nodos Texture Sample de los materiales que muestrean esa textura deben utilizar un tipo de sampler Virtual adecuado. La opción de conversión del Content Browser puede incluir en la lista de conversión tanto las texturas seleccionadas como los materiales que hacen referencia a ellas.

  1. En el Content Browser, selecciona el Texture Asset que quieras convertir a SVT.

  2. Haz clic derecho en el asset y elige Convert to Virtual Texture.

  3. En la ventana de conversión, revisa las texturas de la lista y los materiales que hacen referencia a ellas.

  4. Pulsa el botón Ok para iniciar la conversión.

  5. Después, verifica que los nodos Texture Sample de los materiales correspondientes usen el tipo de sampler Virtual correcto.

También se puede convertir la textura manualmente. Abre el Texture Asset y activa Virtual Texture Streaming en la sección Texture del panel Details. Después de este proceso, los materiales existentes que usen la textura pueden quedar invalidados. En los materiales correspondientes, hay que cambiar el nodo Texture Sample al tipo de sampler Virtual adecuado. En el ejemplo de la documentación, se utiliza Virtual Color para una textura de color virtual; el tipo de sampler Color no es una correspondencia válida.

Al añadir una textura virtual al grafo de materiales, Unreal Engine asigna automáticamente el tipo de sampler Virtual adecuado. Sin embargo, si se crea un Texture Sample Parameter para usarlo en Material Instances, importa el tipo de sampler del material base: las instancias derivadas usan el tipo definido en el material base. No se puede asignar una textura virtual a un parámetro de un material base cuyo tipo no sea Virtual.

3. UDIM y lightmaps de texturas virtuales

Unreal Engine puede importar como un único Virtual Texture Asset imágenes que sigan el esquema de nomenclatura UDIM. Los archivos deben tener el mismo nombre base y un número de coordenada de cuatro dígitos. La documentación muestra este formato:

Prompt
BaseName.####.[Support Image Format]

Por ejemplo, el archivo MyTexture.1001.png hace que también se busquen imágenes con el mismo nombre base y otros números de coordenada. Las imágenes UDIM pueden tener resoluciones distintas. En el ejemplo de la fuente, dos imágenes de 2048x2048 y dos de 128x128, dispuestas en una cuadrícula de 2x2, se muestrean como una única textura virtual. Según la explicación de la fuente, que las imágenes pequeñas ocupen una zona mayor en esta disposición no aumenta el uso de memoria en disco ni durante la ejecución.

Para activar los lightmaps de texturas virtuales, abre la ruta Engine › Rendering en Project Settings y usa la opción Enable virtual texture lightmaps. Epic indica que esta función puede mejorar la calidad de generación de lightmaps y el rendimiento del streaming. La documentación también explica las variables de consola r.IncludeNonVirtualTexturedLightmaps y r.VT.EnableLossyCompressLightmaps. La segunda activa la compresión con pérdida en los lightmaps de texturas virtuales; se advierte que esto puede reducir la calidad de las texturas de lightmap.

4. Medir el rendimiento y errores frecuentes

El muestreo de texturas virtuales tiene un costo mayor que el muestreo de texturas tradicionales. Cada muestra de Virtual Texture en el grafo de materiales genera una consulta. Las pilas de muestras que utilizan las mismas UV y el mismo Sampler Source pueden combinarse; se pueden agrupar hasta 8 muestras que compartan las mismas condiciones en una sola pila. Si las UV son distintas, las pilas pueden mantenerse separadas y generar accesos adicionales a las texturas.

Para examinar el costo en una escena, abre la consola y ejecuta este comando:

Prompt
stat virtualtexturing

Este comando muestra el costo del texturizado virtual en la escena, en milisegundos, y los contadores relacionados con las tablas de páginas. Para los contadores de memoria:

Prompt
stat virtualtexturememory

Para abrir la cuadrícula de visualización de mip en materiales que usan SVT:

Prompt
r.VT.Borders 1

Cuando termines la comprobación, desactiva la cuadrícula:

Prompt
r.VT.Borders 0

Errores frecuentes

  • No corregir el tipo de sampler: La conversión manual puede invalidar los materiales. Comprueba que los nodos Texture Sample tengan seleccionado el tipo Virtual adecuado.

  • Suponer que las texturas virtuales no tienen costo: La ventaja de memoria no elimina el costo del muestreo. Mide la escena con los comandos de estadísticas.

  • Pasar por alto el uso de UV distintas: Las pilas de muestras que usan UV diferentes podrían no combinarse, lo que puede aumentar el costo del material.

  • No tener en cuenta los defectos de imagen: En texturas con ruido o mucho detalle, la limitación de mip de baja resolución puede generar aliasing o efectos Moiré. La carga reactiva de SVT también puede hacer que algunos tiles aparezcan después durante el movimiento de la cámara, causando apariciones visibles.

En trabajos de arquitectura, interiores y archviz, RVT puede ser una opción para equipos que trabajan con paisajes procedurales, superficies por capas y transiciones entre objetos y paisajes. SVT puede ayudar a gestionar el uso de memoria en escenas con texturas grandes, conjuntos UDIM o lightmaps. Antes de incorporarlo al flujo de trabajo, comprueba la compatibilidad de los materiales, el costo en GPU y la carga de tiles con la cámara en movimiento. Como la documentación no especifica una versión, también es necesario verificar los resultados en la versión de Unreal Engine que se utilice.

Fuentes

2 fuentes
D
dev.epicgames.comdev.epicgames.com/documentation/en-us/unreal-engine/virtual-texturing-in-unreal-engine
Resumen
D
dev.epicgames.comdev.epicgames.com/documentation/en-us/unreal-engine/streaming-virtual-texturing-in-unreal-engine
Resumen

No republicamos los textos de las fuentes; las citas breves van marcadas y el resto es resumen y comentario propios.

La opinión de 3dsınıfı
3dValoración del editor

Para los estudios de arquitectura y visualización de Turquía, el texturizado virtual puede contribuir a gestionar la memoria en escenas con grandes conjuntos de texturas y muchos elementos de paisaje. Sin embargo, esto no significa que el render vaya a ser más rápido automáticamente en todos los proyectos; hay que tener en cuenta el costo adicional del muestreo de texturas virtuales y el efecto del uso de UV diferentes.

La opción más segura es probarlo en una escena representativa antes de extender el método a todo el proyecto. Conviene revisar conjuntamente la compatibilidad de los materiales tras la conversión, los contadores de memoria de la GPU, la calidad de imagen en los detalles finos y la carga de tiles durante el movimiento de la cámara. El equipo también debe incluir en su lista de verificación la validación del comportamiento en la versión de Unreal Engine que utilice.

Preguntas frecuentes

¿Cuál es la diferencia entre RVT y SVT en Unreal Engine?

RVT genera los datos de textura en la GPU durante la ejecución. SVT carga en forma de tiles las partes visibles de las texturas almacenadas en disco.

¿Cómo se usan las texturas SVT en los materiales?

Hay que activar Virtual Texture Streaming en la textura y los nodos Texture Sample del material deben utilizar un tipo de sampler Virtual adecuado. El menú de conversión también muestra los materiales que hacen referencia a las texturas.

¿Cómo se mide el rendimiento de las texturas virtuales en Unreal Engine?

`stat virtualtexturing` muestra el costo de la escena y los contadores relacionados con las tablas de páginas. `stat virtualtexturememory` muestra los contadores de memoria de las texturas virtuales de la escena.

Los comentarios y el foro están en turco.Únete al debate
+

Noticias relacionadas