Creación de Texturas a PBR con el Modelo CHORD en ComfyUI
Este flujo de trabajo convierte un breve texto en una textura sin costuras, luego convierte esa textura en mapas de material PBR completos utilizando el Modelo CHORD. Diseñado para artistas de materiales, equipos de entorno y artistas técnicos, produce una textura alicatable junto con color base, normal, rugosidad, metalicidad y un mapa de altura adicional para activos listos para desplazamiento.
El gráfico sigue la idea de generar y estimar en dos etapas detrás del Modelo CHORD: primero sintetizar una textura alicatable, luego descomponerla en canales SVBRDF adecuados para motores en tiempo real y herramientas DCC. También puedes omitir la generación y alimentar cualquier textura de referencia directamente a la etapa de estimación.
Modelos clave en el flujo de trabajo del Modelo CHORD en Comfyui
- Ubisoft La Forge CHORD v1. Estimación SVBRDF supervisada que predice color base, normal, rugosidad y metalicidad a partir de una sola imagen de textura. Checkpoint: Ubisoft/ubisoft-laforge-chord. Nodos personalizados de ComfyUI: ubisoft/ComfyUI-Chord.
- Comfy-Org z_image_turbo UNet. Columna vertebral de difusión rápida utilizada para sintetizar la textura alicatable a partir de tu prompt. Checkpoints y paquete: Comfy-Org/z_image_turbo.
- Codificador de texto empaquetado con z_image_turbo (Qwen 3 4B). Codifica tu prompt para el generador como un acondicionamiento compatible con CLIP. Proporcionado dentro del mismo paquete de modelo mencionado.
- Autoencoder VAE del paquete z_image_turbo. Decodifica el latente producido por el muestreador en una imagen de textura RGB. Incluido en Comfy-Org/z_image_turbo.
Cómo usar el flujo de trabajo del Modelo CHORD en Comfyui
Este gráfico está organizado en dos grupos que pueden ejecutarse de extremo a extremo o de forma independiente. El Grupo 1 crea una textura alicatable a partir de texto. El Grupo 2 ejecuta el Modelo CHORD para estimar mapas PBR a partir de esa textura o de una textura que proporciones.
1. Generar Imagen de Textura
Este grupo convierte tu prompt en una textura sin costuras y con iluminación plana. El prompt es codificado por CLIPTextEncode (#4) y enviado a KSampler (#7), que muestrea el z_image_turbo UNet con un programador AuraFlow establecido por ModelSamplingAuraFlow (#2). Un latente vacío de EmptySD3LatentImage (#6) define la resolución de trabajo y el lote. La imagen decodificada de VAEDecode (#9) se guarda como textura de referencia y también se envía aguas abajo para la estimación de material. Escribe prompts que mencionen la identidad del material, la microestructura y la intención de alicatado, por ejemplo, incluye frases como alicatado sin costuras y vista ortográfica desde arriba.
2. Generar Mapas de Material
Este grupo carga el Modelo CHORD con ChordLoadModel (#12) y prepara la textura con ResizeAndPadImage (#11) a un lienzo cuadrado. ChordMaterialEstimation (#20) predice color base, normal, rugosidad y metalicidad directamente de la textura de entrada. El gráfico también produce un mapa de altura convirtiendo el normal predicho usando ChordNormalToHeight (#18), lo cual es valioso para flujos de trabajo de desplazamiento o paralaje. Si ya tienes una textura, omite el Grupo 1 y aliméntala aquí; mantenla con iluminación plana y libre de sombras horneadas para obtener los mejores resultados del Modelo CHORD.
Nodos clave en el flujo de trabajo del Modelo CHORD en Comfyui
CLIPTextEncode (#4)
Codifica tu texto en acondicionamiento para el generador de texturas. Sé explícito sobre la clase de material, las cualidades de la superficie y la intención de alicatado. Términos como ortográfico, sin costuras, líneas de lechada, poros, fibras o micro-arañazos ayudan al generador a producir estructuras que el Modelo CHORD puede descomponer de manera confiable.
KSampler (#7)
Impulsa el proceso de difusión latente que crea la textura. Úsalo para intercambiar velocidad por fidelidad, cambiar muestreadores y explorar variaciones mediante la semilla. Un prompt negativo en blanco es proporcionado por ConditioningZeroOut (#5); añade negativos típicos solo si ves artefactos que deseas suprimir.
ModelSamplingAuraFlow (#2)
Aplica una programación estilo AuraFlow al UNet para una síntesis de textura más nítida y coherente con z_image_turbo. Cambia el programador aquí cuando experimentes con diferentes comportamientos de muestreo empaquetados con el modelo.
ChordMaterialEstimation (#20)
Ejecuta el Modelo CHORD para estimar mapas SVBRDF a partir de la textura de entrada. Los resultados son color base, normal, rugosidad y metalicidad listos para producción. Usa entradas planas y uniformemente iluminadas sin perspectiva para maximizar la precisión; sombras complejas o reflejos pueden sesgar la descomposición.
ChordNormalToHeight (#18)
Convierte el normal predicho por CHORD en un mapa de altura adecuado para desplazamiento. Trata la altura como una señal de superficie relativa y calibra la intensidad en tu renderizador para coincidir con la escala prevista.
EmptySD3LatentImage (#6)
Establece el tamaño del lienzo y el lote para la síntesis de texturas. Elige una resolución cuadrada que coincida con tus objetivos de material descendentes y mantén esto consistente a lo largo de las generaciones para una densidad de texel predecible.
Extras opcionales
- Reemplaza la textura generada con la tuya propia conectando una imagen de referencia directamente a
ResizeAndPadImage(#11) en el Grupo 2. - Usa un lenguaje físicamente significativo en los prompts para que el generador produzca estructuras que el Modelo CHORD pueda interpretar, por ejemplo, dirección de grano, tamaño de escama, densidad de tejido o parches oxidados.
- Mantén las texturas fuente neutrales y libres de AO, reflejos o sombras para evitar hornear iluminación en las salidas del Modelo CHORD.
- Valida la orientación normal en tu motor y voltea el canal verde si es necesario antes de juzgar el mapa de altura derivado de él.
- Empaqueta las salidas para que coincidan con las convenciones del motor, por ejemplo, metalicidad y rugosidad en canales combinados, después de revisar los mapas individuales.
Reconocimientos
Este flujo de trabajo implementa y se construye sobre los siguientes trabajos y recursos. Agradecemos a Ubisoft La Forge por el modelo CHORD (Chain of Rendering Decomposition), por sus contribuciones y mantenimiento. Para obtener detalles autorizados, consulta la documentación original y los repositorios vinculados a continuación.
Recursos
- Ubisoft La Forge/CHORD Model
- GitHub: ubisoft/ubisoft-laforge-chord
- Hugging Face: Ubisoft/ubisoft-laforge-chord
- Docs / Notas de Lanzamiento: Ubisoft Open-Sources the CHORD Model and ComfyUI Nodes
Nota: El uso de los modelos, conjuntos de datos y código referenciados está sujeto a las respectivas licencias y términos proporcionados por sus autores y mantenedores.
