ComfyUI·ControlNet으로 2D 픽셀 에셋 스타일 일관성 유지하는 파이프라인

ComfyUI·ControlNet으로 2D 픽셀 에셋 스타일 일관성 유지하는 파이프라인

ComfyUI와 ControlNet으로 캐릭터·타일·아이콘의 구도와 픽셀 스타일을 고정하는 실전 파이프라인을 정리합니다. 참조 시트, 해상도, 시드, 후처리까지 일관성 관리 방법을 제공합니다.

게임용 2D 픽셀 에셋에서 일관성은 프롬프트를 잘 쓰는 문제만이 아니다. ComfyUI에서 스타일 참조, 구조 제어, 생성값 고정, 픽셀화 후처리를 분리하면 캐릭터·소품·타일 사이의 형태와 색감 편차를 줄일 수 있다.

핵심은 ControlNet으로 포즈와 실루엣을 제한하고 고정 시드와 공통 팔레트로 변동 범위를 관리한 뒤 최종 픽셀 작업은 사람이 검수하는 것이다.

왜 AI 생성 2D 픽셀 에셋의 스타일이 흔들리는가?

확산 모델은 같은 프롬프트라도 시드, 샘플러, CFG, 입력 구조가 달라지면 결과가 달라진다. 특히 픽셀 아트는 실루엣 한 칸, 눈의 위치 한 칸, 명암 단계 하나만 바뀌어도 다른 작가의 에셋처럼 보일 수 있다.

흔들리는 요소주된 원인제어 방법
캐릭터 포즈텍스트만으로 구조 지정OpenPose 또는 Depth ControlNet
소품 실루엣모델의 형태 해석 차이Canny 또는 Lineart ControlNet
색상과 명암자동 조명·재질 해석팔레트 제한과 후처리
픽셀 밀도원본 해상도와 업스케일 방식기준 캔버스와 Nearest Neighbor 확대
재생성 결과난수와 생성 파라미터 변경Seed, sampler, CFG 고정

일관성은 완전한 동일성이 아니라 허용 가능한 변동 범위를 정하는 일이다. 예를 들어 32×32 아이콘이라면 외곽선 두께, 그림자 방향, 색상 수, 머리-몸통 비율을 먼저 고정해야 한다.

ComfyUI에서 참조 이미지와 ControlNet을 연결한 2D 픽셀 에셋 생성 워크플로

ComfyUI와 ControlNet 파이프라인은 어떻게 구성할까?

다음 흐름은 에셋 종류가 늘어도 재사용하기 쉽다.

flowchart LR
    A[스타일 가이드와 팔레트] --> B[구도 참조 이미지]
    B --> C[ControlNet 전처리기]
    A --> D[프롬프트와 고정 파라미터]
    C --> E[ComfyUI KSampler]
    D --> E
    E --> F[저해상도 검수]
    F --> G[픽셀화 및 팔레트 정리]
    G --> H[엔진 임포트]

1. 스타일 가이드를 수치로 고정한다

문서나 이미지 한 장으로 끝내지 말고 프로젝트 공통값을 적는다.

  • 기준 해상도: 캐릭터 64×64, 아이콘 32×32
  • 외곽선: 1픽셀 또는 2픽셀
  • 명암: 기본색당 3단계
  • 광원: 좌상단 45도
  • 팔레트: 16색 또는 32색
  • 배경: 투명 또는 단색 마스크

색상 수가 많아질수록 스타일 편차도 커진다. 팔레트가 NN개일 때 조합 가능한 색 선택은 대략 NkN^k로 늘어난다. 여기서 kk는 이미지 안에서 사용되는 색상 슬롯 수다. 따라서 초기 제작 단계에서는 색상 수를 적게 제한하는 편이 검수 비용을 줄인다.

2. ControlNet으로 변하면 안 되는 구조를 잠근다

캐릭터는 OpenPose, 건물과 아이콘은 Canny 또는 Lineart가 적합하다. Depth는 원근이 있는 오브젝트나 등각 투영 소품에 유용하지만 작은 아이콘에는 지나친 제약이 될 수 있다.

에셋권장 ControlNet 입력목적
인간형 캐릭터OpenPose관절 위치와 동작 유지
무기·도구Canny외곽선과 방향 유지
건물·지형Depth 또는 Lineart부피와 원근 유지
UI 아이콘Canny 또는 직접 마스크간결한 실루엣 유지

ControlNet weight는 보통 0.6~1.0 범위에서 시작한다. 값이 낮으면 참조 구조가 무너지고 너무 높으면 참조 이미지의 잡음이나 비픽셀 표현까지 따라간다. 동일한 에셋 세트에서는 우선 0.8처럼 하나의 기준값을 잡고 예외가 생길 때만 조정한다.

3. 생성 파라미터를 자산 메타데이터로 남긴다

ComfyUI 워크플로 JSON만 저장해도 재현성은 크게 높아진다. 에셋별로 다음 항목을 함께 기록한다.

asset_id: knight_idle_01
model: 프로젝트 승인 체크포인트
seed: 184726
sampler: DPM++ 2M Karras
steps: 24
cfg: 5.5
controlnet: OpenPose, weight 0.8
canvas: 64x64
palette: project-palette-16

같은 체크포인트와 동일한 입력에서 시드를 고정하면 결과를 재생성할 수 있다. 다만 모델 버전, VAE, LoRA, ComfyUI 노드 구현이 바뀌면 같은 시드라도 픽셀이 달라질 수 있으므로 승인된 워크플로와 모델 파일의 버전을 함께 관리한다.

픽셀 아트다운 결과를 만들려면 무엇을 후처리해야 할까?

생성 결과를 그대로 게임에 넣기보다 큰 형태를 얻는 초안으로 취급하는 편이 안전하다.

  1. 저해상도로 축소한다. 목표가 32×32라면 먼저 그 크기로 축소해 형태가 읽히는지 확인한다.
  2. Nearest Neighbor로 확대한다. 보간 확대는 중간색을 만들어 픽셀 경계를 흐린다.
  3. 팔레트를 제한한다. 프로젝트 팔레트에 없는 색을 가까운 승인 색으로 치환한다.
  4. 수동으로 결함을 고친다. 손가락, 눈, 무기 끝, 투명 경계처럼 게임 플레이에서 눈에 띄는 부분을 우선 수정한다.
  5. 스프라이트 시트 규격을 검증한다. 프레임 크기, 피벗, 투명도, 파일명을 엔진 규칙에 맞춘다.

32×32 축소 검수와 팔레트 제한 후 수정 포인트를 표시한 픽셀 캐릭터 예시

특히 알파 경계에는 반투명 픽셀이 남기 쉽다. 게임 엔진에서 배경색이 비쳐 보이는 현상을 막으려면 내보내기 전에 가장자리 알파와 RGB 값을 확인하고 필요하면 알파 테스트용 마스크를 별도로 만든다.

일관성 검수 체크리스트

생성물을 승인하기 전에 아래 항목을 같은 배율과 같은 배경에서 비교한다.

  • 실루엣만 보아도 직업, 무기, 방향을 구분할 수 있는가?
  • 외곽선 두께와 그림자 방향이 기존 에셋과 같은가?
  • 팔레트 밖의 색, 흐린 중간색, 반투명 테두리가 없는가?
  • 같은 캐릭터의 머리·손·장비 비율이 프레임마다 유지되는가?
  • 타일 경계가 반복 배치에서 끊기거나 이음새를 만들지 않는가?

자주 묻는 질문 (FAQ)

ControlNet만 쓰면 픽셀 아트 일관성이 보장되는가?

아니다. ControlNet은 포즈와 외곽선 같은 구조를 제어한다. 팔레트, 명암 단계, 외곽선 규칙은 별도 후처리와 검수가 필요하다.

캐릭터 애니메이션 프레임을 각각 생성해도 될까?

가능하지만 프레임별 생성은 깜빡임과 비율 변화를 만들기 쉽다. 핵심 포즈만 생성한 뒤 중간 프레임은 기존 스프라이트 편집 방식으로 보정하는 편이 안정적이다.

해상도는 처음부터 32×32로 생성해야 할까?

대개는 아니다. 형태를 확인할 수 있는 해상도로 초안을 만든 뒤 목표 해상도로 축소하고 최종 픽셀을 수동 정리하는 방식이 더 예측 가능하다.

정리

ComfyUI와 ControlNet은 픽셀 에셋을 자동 완성하는 도구라기보다 스타일 규칙 안에서 초안을 빠르게 만드는 도구다. 공통 참조 시트, 고정된 생성 파라미터, 에셋별 ControlNet 입력, 팔레트 제한, 최종 수동 검수를 한 묶음으로 운영하면 에셋 수가 늘어도 시각적 통일성을 관리할 수 있다.

#ComfyUI#ControlNet#픽셀 아트#2D 게임 에셋#AI 에셋 파이프라인#스타일 일관성

계속 읽어보기

이런 글은 어떠세요?

< Back to Logs