ComfyUI에서 CHORD 모델을 사용한 텍스처에서 PBR 작성
이 워크플로우는 짧은 텍스트 프롬프트를 매끄러운 텍스처로 변환한 다음, 그 텍스처를 CHORD 모델을 사용하여 전체 PBR 재질 맵으로 변환합니다. 재질 아티스트, 환경 팀 및 기술 아티스트를 위해 설계되어 타일 가능한 텍스처와 함께 기반 색상, 노멀, 거칠기, 금속성 및 추가적인 높이 맵을 생성하여 변위 준비 자산을 만듭니다.
이 그래프는 CHORD 모델의 두 단계 생성 및 추정 아이디어를 따릅니다: 먼저 타일 가능한 텍스처를 합성한 다음, 실시간 엔진과 DCC 도구에 적합한 SVBRDF 채널로 분해합니다. 생성 단계를 건너뛰고 참조 텍스처를 직접 추정 단계에 입력할 수도 있습니다.
Comfyui CHORD 모델 워크플로우의 주요 모델
- Ubisoft La Forge CHORD v1. 단일 텍스처 이미지에서 기반 색상, 노멀, 거칠기 및 금속성을 예측하는 감독된 SVBRDF 추정. 체크포인트: Ubisoft/ubisoft-laforge-chord. ComfyUI 사용자 지정 노드: ubisoft/ComfyUI-Chord.
- Comfy-Org z_image_turbo UNet. 프롬프트에서 타일 가능한 텍스처를 합성하는 데 사용되는 빠른 확산 백본입니다. 체크포인트 및 팩: Comfy-Org/z_image_turbo.
- z_image_turbo에 패키지된 텍스트 인코더 (Qwen 3 4B). 생성기에 CLIP 호환 조건으로 프롬프트를 인코딩합니다. 위와 같은 모델 팩에 포함되어 제공됩니다.
- z_image_turbo 팩의 오토인코더 VAE. 샘플러가 생성한 잠재를 RGB 텍스처 이미지로 디코딩합니다. Comfy-Org/z_image_turbo에 포함되어 있습니다.
Comfyui CHORD 모델 워크플로우 사용 방법
이 그래프는 처음부터 끝까지 또는 독립적으로 실행할 수 있는 두 그룹으로 구성됩니다. 그룹 1은 텍스트에서 타일 가능한 텍스처를 생성합니다. 그룹 2는 CHORD 모델을 실행하여 그 텍스처 또는 제공한 텍스처에서 PBR 맵을 추정합니다.
1. 텍스처 이미지 생성
이 그룹은 프롬프트를 매끄럽고 평평하게 조명된 텍스처로 변환합니다. 프롬프트는 CLIPTextEncode (#4)에 의해 인코딩되고 KSampler (#7)로 전송되어 ModelSamplingAuraFlow (#2)에 의해 설정된 AuraFlow 스케줄러와 함께 z_image_turbo UNet을 샘플링합니다. EmptySD3LatentImage (#6)에서 빈 잠재가 작업 해상도와 배치를 정의합니다. VAEDecode (#9)에서 디코딩된 이미지는 참조 텍스처로 저장되고, 재질 추정을 위해 다운스트림으로 전달됩니다. 예를 들어 매끄러운 타일링과 정사각형 상단에서 내려다보는 것과 같은 문구를 포함하여 재질 정체성, 미세 구조 및 타일링 의도를 호출하는 프롬프트를 작성하십시오.
2. 재질 맵 생성
이 그룹은 ChordLoadModel (#12)로 CHORD 모델을 로드하고 ResizeAndPadImage (#11)로 텍스처를 정사각형 캔버스로 준비합니다. ChordMaterialEstimation (#20)은 입력 텍스처에서 기반 색상, 노멀, 거칠기 및 금속성을 직접 예측합니다. 그래프는 또한 ChordNormalToHeight (#18)를 사용하여 예측된 노멀을 변위 또는 패럴랙스 워크플로우에 유용한 높이 맵으로 변환하여 생성합니다. 이미 텍스처가 있는 경우 그룹 1을 건너뛰고 여기에 입력하십시오; 최상의 CHORD 모델 결과를 위해 평평하게 조명되고 구운 그림자가 없는 상태로 유지하십시오.
Comfyui CHORD 모델 워크플로우의 주요 노드
CLIPTextEncode (#4)
텍스처 생성기를 위한 조건으로 텍스트를 인코딩합니다. 재질 클래스, 표면 품질 및 타일링 의도에 대해 명확히 하십시오. 정사각형, 매끄러운, 그라우트 라인, 모공, 섬유 또는 미세 스크래치와 같은 용어는 CHORD 모델이 신뢰할 수 있게 분해할 수 있는 구조를 생성하는 데 도움이 됩니다.
KSampler (#7)
텍스처를 생성하는 잠재 확산 프로세스를 구동합니다. 속도와 충실도를 교환하고 샘플러를 전환하며 시드를 통해 변형을 탐색하는 데 사용하십시오. ConditioningZeroOut (#5)에서 빈 네거티브 프롬프트가 제공됩니다; 억제하고 싶은 아티팩트를 볼 때만 일반적인 네거티브를 추가하십시오.
ModelSamplingAuraFlow (#2)
z_image_turbo와 함께 UNet에 AuraFlow 스타일의 스케줄링을 적용하여 더 날카롭고 일관된 텍스처 합성을 제공합니다. 모델과 함께 제공되는 다양한 샘플링 동작을 실험할 때 스케줄러를 여기에서 변경하십시오.
ChordMaterialEstimation (#20)
입력 텍스처에서 SVBRDF 맵을 추정하기 위해 CHORD 모델을 실행합니다. 결과는 제작 준비된 기반 색상, 노멀, 거칠기 및 금속성입니다. 정확성을 극대화하기 위해 평평하고 고르게 조명된 입력을 사용하십시오; 복잡한 그림자나 강조는 분해를 편향시킬 수 있습니다.
ChordNormalToHeight (#18)
CHORD가 예측한 노멀을 변위에 적합한 높이 맵으로 변환합니다. 높이를 상대적인 표면 신호로 취급하고 렌더러에서 의도한 규모에 맞게 강도를 보정하십시오.
EmptySD3LatentImage (#6)
텍스처 합성을 위한 캔버스 크기와 배치를 설정합니다. 하위 재질 대상과 일치하는 정사각형 해상도를 선택하고, 일관된 텍셀 밀도를 위해 생성 간에 일관성을 유지하십시오.
선택적 추가 기능
- 생성된 텍스처를 그룹 2의
ResizeAndPadImage(#11)에 참조 이미지를 직접 연결하여 자신의 것으로 대체하십시오. - 프롬프트에서 물리적으로 의미 있는 용어를 사용하여 생성기가 CHORD 모델이 해석할 수 있는 구조를 생성하도록 하십시오, 예를 들어 곡물 방향, 플레이크 크기, 직조 밀도 또는 산화된 패치.
- CHORD 모델 출력에 조명을 구울 수 없도록 소스 텍스처를 중립적이고 AO, 하이라이트 또는 그림자가 없도록 유지하십시오.
- 엔진에서 노멀 방향을 검증하고, 그것으로부터 파생된 높이 맵을 판단하기 전에 녹색 채널을 뒤집으십시오.
- 개별 맵을 검토한 후 엔진 관례에 맞게 메탈니스와 거칠기를 결합된 채널에 맞추십시오.
감사의 글
이 워크플로우는 다음 작업 및 리소스를 구현하고 구축합니다. 우리는 CHORD (Chain of Rendering Decomposition) 모델에 대한 Ubisoft La Forge의 기여와 유지 보수에 깊은 감사를 표합니다. 권위 있는 세부 사항은 아래에 링크된 원본 문서 및 저장소를 참조하십시오.
리소스
- Ubisoft La Forge/CHORD 모델
- GitHub: ubisoft/ubisoft-laforge-chord
- Hugging Face: Ubisoft/ubisoft-laforge-chord
- Docs / Release Notes: Ubisoft Open-Sources the CHORD Model and ComfyUI Nodes
Note: 참조된 모델, 데이터 세트 및 코드의 사용은 해당 저자 및 유지 관리자가 제공한 각각의 라이센스와 조건에 따릅니다.


