UltraTex: difusión multivista 2K para texturizado 3D en ComfyUI
UltraTex, de la Universidad de Jilin y VAST, texturiza mallas 3D a 2048x2048 con descarte de tokens de fondo y atención dispersa, más un paquete de nodos ComfyUI.
Recursos texturizados producidos por UltraTex a partir de una malla sin textura más una imagen de referencia.
Qué hace UltraTex
Dale a UltraTex una malla sin textura y una imagen de referencia, y genera seis vistas de textura de 2048² (frente, izquierda, atrás, derecha, arriba, abajo), que luego hornea en una textura UV sobre la malla. La idea central del artículo es que la densidad a 2K se desperdicia en su mayor parte.
El renderizado multivista centrado en objetos tiene dos fuentes de redundancia: los píxeles de fondo que no aportan información de textura útil, y las interacciones dispersas entre tokens del primer plano. UltraTex ataca ambas:
- Background Token Dropping (BTD) descarta los tokens de fondo antes del backbone DiT, pero conserva los índices RoPE originales para que las coordenadas espaciales y el prior geométrico multivista sobrevivan al recorte.
- Block-Sparse Attention (BSA) aplica atención dispersa top-k sobre la secuencia restante del primer plano en lugar de atención densa.
- Foreground-Aware VAE Decoding sustituye el latent de fondo no desruidado por un fondo canónico dentro de la distribución y ajusta ligeramente el decodificador, de modo que la reconstrucción a 2K queda libre de los artefactos que el recorte introduciría de otro modo.
El pipeline de UltraTex: descarte de tokens de fondo, atención de bloques dispersos y un decodificador consciente del primer plano.
Los backbones son FLUX.1-dev y FLUX.2-Klein (4B y 9B), así que el generador de texturas hereda el condicionamiento por prompt e imagen de un modelo de imagen general en lugar de una red de texturizado creada específicamente.
De dónde viene la velocidad
En muestras comunes del dataset G-buffer TexVerse, la implementación publicada reporta una aceleración del entrenamiento de 20,6× a 91,1× y una aceleración de inferencia de extremo a extremo de 22,3× a 74,6× frente a la línea base densa con la misma resolución de salida 2K.
Aceleraciones de entrenamiento e inferencia frente a la línea base densa 2K, de la página del proyecto.
Resultados cualitativos de texturizado del artículo.
Qué se ha publicado
- Código y pesos. El código de entrenamiento e inferencia está en el repositorio de UltraTex, con los checkpoints publicados en ModelScope.
- Dataset. El dataset G-buffer TexVerse está en Hugging Face.
- Artículo. SIGGRAPH Asia 2026, disponible como arXiv 2609.23169, con resultados y vídeo en la página del proyecto.
Ejecutar UltraTex en ComfyUI
El paquete de nodos de la comunidad visualbruno/ComfyUI-UltraTex adapta el pipeline como nodos de ComfyUI: UltraTex Load LoRA, UltraTex Foreground VAE Decoder, UltraTex Prep (mesh + reference), UltraTex Sampler y UltraTex Bake Texture. Load LoRA existe porque el nodo Load LoRA estándar no puede leer estos checkpoints (claves PEFT lora_A.default para FLUX.2, claves UNO processor.*_lora para FLUX.1), y Bake Texture reproyecta las vistas generadas en una textura UV y devuelve un GLB que se conecta directamente a Preview 3D.
El modelo de difusión, el VAE y el text encoder se cargan con los cargadores estándar de ComfyUI, así que los pesos fp8 y GGUF y la descarga de memoria de ComfyUI se aplican. Prep ofrece un desplegado UV por GPU (comfy_gpu, unos 6 s para 500k caras) o una ruta xatlas por CPU (unos 4,6 min para la misma malla).
El paquete de nodos incluye cuatro flujos de trabajo de ejemplo:
Los otros dos son PBR a 1024px y FLUX.1-dev.
Disponibilidad
El repositorio oficial incluye código de entrenamiento e inferencia en PyTorch con kernels Triton de atención dispersa, y los pesos están en ModelScope. La vía de ComfyUI es el paquete de nodos de terceros mencionado arriba, no un lanzamiento oficial de Comfy-Org, así que instalarlo implica añadir el nodo personalizado y descargar el LoRA de UltraTex y el decodificador de primer plano desde ModelScope.
Comentarios
Inicia sesión con GitHub para unirte a la conversación.