[TIL/25][파이널프로젝트] ComFyUI

안건우·2025년 12월 24일

sparta_til

목록 보기
24/26

문제 상황

파이널 프로젝트가 어느덧 3주차에 들어섰다.
우리팀은 에셋과 컨셉이 꽤 늦게 정해졌는데, 건물 에셋 쪽은 꽤나 골치아팠다.
우리가 필요한 건물 에셋은 7종류 × 5레벨 = 총 35개, 당연히 확장 가능성도 고려해야 했다. 또한 모든 건물이 일관된 스타일을 유지해야 했으며, 우리팀이 정한 캐릭터 화풍과도 어울려야 했다.
에셋 스토어, 데브마켓, itch.io 등 이곳저곳을 다 뒤져봤지만 도무지 우리 프로젝트에 맞는 에셋을 찾을 수 없었다. 개별 에셋들은 많았지만 스타일이 제각각이었고, 세트로 구성된 에셋은 우리가 필요한 종류나 개수를 충족하지 못했다.
어쩔 수 없이 Stable Diffusion으로 직접 뽑기로 결정했다.

Stable Diffusion과 ComfyUI

Stable Diffusion은 오픈소스 이미지 생성 AI 모델이다. Automatic1111, Leonardo.ai 등 여러 프롬프트 기반 생성형 AI 서비스들이 사용하고 있는 모델이기도 하다.
이를 활용할 수 있는 가장 대표적인 GUI 툴이 ComfyUI다. 노드 기반 인터페이스로 겉보기엔 복잡해 보이지만, 워크플로우를 한 번 구성하면 일관된 결과물을 효율적으로 생성할 수 있다.

ComfyUI 워크플로우 구성


위는 내가 사용한 워크플로우이다.

간단히 설명하면:

  • 체크포인트 로드 - AI 모델의 기본 엔진. 전체 화풍을 결정한다.
  • ControlNet (선택사항) - 구도나 형태 가이드. 간단한 스케치나 윤곽선을 입력하면 그 형태를 유지하면서 이미지를 생성해준다.
  • LoRA 로드 - 특정 스타일이나 디테일 추가. 아이소메트릭 건물, 특정 건축 양식 등 세부적인 느낌을 조정한다.
  • 프롬프트 - 긍정 프롬프트(원하는 요소)와 부정 프롬프트(제외할 요소)로 나누어 입력.
  • 빈 잠재 이미지 - 생성할 이미지의 해상도를 설정하는 도화지.
  • KSampler - 실제 이미지를 생성하는 핵심 노드. 가장 중요한 것은 시드(Seed) 값으로, 이를 고정하면 동일한 결과를 재현할 수 있다.
  • VAE 디코드 - AI가 압축한 잠재 공간 데이터를 실제 이미지로 변환.
  • 이미지 저장 - 최종 결과물 저장.

정말 간단히 요약하면
1. 체크포인트와 LoRA로 기본 화풍과 스타일 설정
2. ControlNet에 간단한 건물 스케치를 입력해 구도 통일
3. 프롬프트를 입력하고 랜덤 시드로 여러 번 생성
4. 마음에 드는 결과물이 나오면 해당 시드 값을 기록
5. 시드 값을 고정하고 프롬프트만 조금씩 변경하면서 배리에이션 생성

이렇게 된다.
물론 원하는 결과물을 얻기위해 조절가능한 파라미터들이 있다.

  • KSampler: Steps(이미지 정제 반복 횟수), CFG Scale(프롬프트 반영 강도), Seed(결과 재현용 난수값) 등을 설정
  • ControlNet: Strength로 입력 이미지 가이드 강도 조절, Start/End로 적용 구간 설정 가능
  • Canny: Low/High Threshold로 엣지 검출 민감도 조절. 윤곽선의 굵기와 디테일 결정

다만 대부분은 Seed값만 조절해도 그럭저럭 원하는 결과물을 뽑아낼수 있다.

예를 들어 "Archer Guild Level 1"에서 123456789라는 시드로 좋은 결과가 나왔다면, 같은 시드로 "Archer Guild Level 2", "Level 3"... 이런 식으로 일관성 있는 시리즈를 만들 수 있다.
결과적으로 35개의 건물 에셋을 통일된 스타일로 확보할 수 있었다.
또한 사용한 프롬프트와 시드값을 건물타입별로 저장하여 추후 확장을 대비했다.
만약 나중에 6레벨 건물이 추가되어야 한다면 저장된 시드값을 기반으로 프롬프트만 조금 변경하여 새로운 이미지를 뽑으면 되는것이다.

결과적으로 워크플로우 구축에 대략 2~3시간, 이미지를 뽑는데 2~3시간정도해서 총 반나절 정도만에 35가지 이미지 에셋을 확보할 수 있었다.

기타 추가 기능

그밖에도 ComfyUI Manager를 통해 추가 기능 설치가 가능하다
배경을 자동으로 제거할수있는 Rembg, 애니메이션 생성이 가능한 AnimationDiff, 이미지 스타일을 직접 참조할수있는 IPAdapter등 생성형 AI를 사용할때 필요하다고 생각될만한 대부분의 기능들이 존재한다고 한다.

마치며

창작물에 AI를 사용하는 것에 대한 논란은 여전히 존재한다.
아트 자체가 핵심 셀링 포인트인 게임에서 AI로 퀄리티를 낮추거나, AI 생성물을 순수 창작물인 것처럼 위장하는 것은 분명히 문제다. 특히 상업적 이용 시 원저작자의 권리 침해 가능성도 간과할 수 없다.
하지만 우리 같은 소규모 팀에게 일관된 스타일의 에셋을 확보하는 것은 현실적으로 큰 부담이다. 외주를 맡기면 비용이 문제고, 직접 제작하자니 시간과 인력이 부족하다. 에셋 스토어에서도 우리가 원하는 스타일과 개수를 모두 충족하는 에셋을 찾기 어려웠다.
AI가 모든 창작 과정을 대체해야 한다고 생각하지는 않는다. 하지만 프로토타이핑 단계나 기능 중심 프로젝트에서 AI 도구가 개발 진입 장벽을 낮춰주는 것은 긍정적이라고 본다. 중요한 건 AI를 어떻게, 어떤 맥락에서 사용하느냐의 문제라고 생각한다.

0개의 댓글