ComfyUI로 게임 에셋 테마를 통일하고 제작 파이프라인 자동화하기

ComfyUI와 AI 이미지 툴을 게임 아트 제작에 연결해 에셋의 색감·재질·구도를 일관되게 유지하는 방법을 정리한다. 프롬프트, 참조 이미지, 배치 처리, 검수 기준을 중심으로 실무에 적용할 수 있는 파이프라인을 살펴본다.

✓ 복사 완료!
챕터아트 에셋 제작 워크플로
난이도중급
상태● 검토 완료
대상 엔진
Unity
최종 업데이트
ComfyUI로 게임 에셋 테마를 통일하고 제작 파이프라인 자동화하기

왜 에셋 테마 통일이 어려운가

프로토타입 단계에서는 아이콘, 배경, 소품을 빠르게 확보하는 일이 우선이다. 하지만 에셋이 늘어나면 같은 프로젝트 안에서도 채도, 광원 방향, 외곽선 굵기, 재질 표현이 제각각인 문제가 생긴다. 개별 이미지의 완성도가 높아도 화면에 함께 배치했을 때 서로 다른 게임처럼 보일 수 있다.

AI 이미지 생성은 이 문제를 자동으로 해결하지 않는다. 매번 독립적으로 생성하면 모델의 해석이 달라지고 프롬프트를 조금만 바꿔도 스타일이 흔들린다. 따라서 핵심은 이미지를 많이 생성하는 일이 아니라 스타일을 재현 가능한 입력과 검수 규칙으로 고정하는 일이다.

자동화 전에 고정할 스타일 계약

먼저 프로젝트에서 반복해서 지켜야 할 시각 규칙을 짧은 문서로 정리한다. 이를 여기서는 스타일 계약이라고 부르겠다. 추상적인 표현보다 확인 가능한 항목이 좋다.

  • 팔레트: 주조색, 보조색, 강조색과 금지할 색상 범위
  • 광원: 예를 들어 화면 좌측 상단에서 오는 부드러운 조명
  • 형태: 둥근 모서리 중심인지 날카로운 실루엣 중심인지
  • 선과 명암: 외곽선 유무, 명암 단계 수, 질감의 강도
  • 카메라: 아이콘의 정면 또는 3/4 시점, 배경의 시야 높이
  • 출력 규격: 해상도, 투명 배경 여부, 여백 비율, 파일 이름

이 규칙은 프롬프트에 모두 넣기 위한 목록이 아니다. 생성 결과를 채택하거나 폐기할 때 판단 기준으로 쓰인다. 특히 팔레트와 광원, 카메라 각도는 처음부터 명확히 정해 두는 편이 좋다.

ComfyUI 워크플로를 템플릿으로 만들기

ComfyUI의 장점은 생성 과정을 노드 그래프로 저장하고 재사용할 수 있다는 점이다. 한 번 잘 나온 결과의 프롬프트만 복사하는 것보다 모델, 시드, 해상도, 참조 이미지 처리, 업스케일 단계를 하나의 워크플로로 보관하는 편이 안정적이다.

다음 구조는 아이콘이나 소품 에셋에 적용하기 쉬운 기본 흐름이다.

flowchart LR
    A[에셋 목록과 규격] --> B[공통 프롬프트]
    B --> C[참조 이미지와 제어 입력]
    C --> D[ComfyUI 생성]
    D --> E[배경 제거 및 리사이즈]
    E --> F[자동 규칙 검사]
    F --> G{아트 검수 통과}
    G -- 예 --> H[프로젝트 에셋 폴더]
    G -- 아니오 --> I[프롬프트 또는 제어값 보정]
    I --> D

공통 프롬프트에는 테마를 설명하는 문장을 넣고 개별 에셋 프롬프트에는 대상만 넣는다. 예를 들어 판타지 상점 게임의 아이콘이라면 공통 부분과 개별 부분을 분리할 수 있다.

공통 프롬프트
cohesive stylized game item icon, soft light from upper left,
limited warm palette, clean silhouette, subtle painted texture,
centered composition, isolated subject

개별 프롬프트
wooden health potion crate with a red bottle symbol

네거티브 프롬프트도 템플릿에 포함한다. 텍스트, 워터마크, 복잡한 배경, 잘린 물체처럼 프로젝트에서 반복적으로 문제가 되는 요소를 명시한다. 다만 모든 부정 키워드를 무작정 길게 나열하면 원하는 특징까지 약해질 수 있으므로 실제 실패 사례를 기준으로 조금씩 추가하는 편이 낫다.

ComfyUI 노드에서 공통 프롬프트와 개별 에셋 입력을 분리한 워크플로 예시

참조 이미지와 제어 입력의 역할

텍스트만으로 생성하면 같은 프롬프트에서도 형태와 구도가 크게 달라질 수 있다. 기존 에셋의 색감이나 붓 터치를 이어 가야 한다면 스타일 참조 이미지를 사용한다. 같은 게임 안에서 사용할 수 있도록 승인된 아이콘이나 콘셉트 아트를 참조로 선정하고 생성 결과가 참조의 특징을 얼마나 유지하는지 비교한다.

구도를 맞춰야 할 때는 스케치, 흑백 실루엣, 간단한 3D 블록아웃을 제어 입력으로 활용할 수 있다. 예를 들어 무기 아이콘의 손잡이가 항상 아래쪽을 향해야 한다면 대략적인 윤곽을 먼저 만든 뒤 이를 기준으로 생성하는 방식이 텍스트 지시보다 재현성이 높다.

참조 이미지는 저작권과 라이선스 범위가 분명한 자료만 사용해야 한다. 외부 작품의 스타일을 그대로 복제하기보다 프로젝트가 보유하거나 사용 권한을 가진 자료에서 공통 특성을 추출해 자체적인 스타일 계약으로 정리하는 편이 안전하다.

배치 생성은 변수 목록으로 관리한다

생성할 대상이 많아지면 사람 손으로 프롬프트를 바꾸는 과정에서 오탈자와 규격 차이가 생긴다. 에셋 목록을 CSV나 JSON으로 관리하고 이름·종류·개별 설명·출력 크기·시드 정책 같은 변수를 분리한다.

[
  {
    "id": "potion_health_small",
    "type": "item_icon",
    "subject": "small glass health potion with red liquid",
    "size": 512,
    "seed": 41001
  },
  {
    "id": "potion_mana_small",
    "type": "item_icon",
    "subject": "small glass mana potion with blue liquid",
    "size": 512,
    "seed": 41002
  }
]

ComfyUI에서는 워크플로의 텍스트 입력과 시드, 파일 이름을 외부 값으로 바꾸는 방식으로 배치 작업을 구성할 수 있다. 세부 구현은 사용하는 커스텀 노드나 호출 방식에 따라 달라지지만 중요한 원칙은 같다. 공통 설정은 한곳에 두고 에셋마다 달라지는 값만 데이터로 전달한다.

시드는 반드시 고정해야 하는 값은 아니다. 같은 대상에 대해 여러 후보를 만들 때는 여러 시드를 사용하되 채택한 결과의 시드와 워크플로 버전을 기록한다. 그래야 나중에 해상도만 높이거나 작은 수정이 필요할 때 비슷한 결과를 다시 만들 수 있다.

생성 뒤에 필요한 자동 검사

생성 결과를 곧바로 Unity나 Unreal 프로젝트에 넣기보다 기계적으로 확인할 수 있는 항목을 먼저 검사한다. AI가 만든 이미지에서 자주 발생하는 문제는 사람의 검수 전에 상당 부분 걸러낼 수 있다.

  • 가로세로 크기가 규격과 맞는지
  • PNG 알파 채널이 필요한 에셋에 존재하는지
  • 파일 이름이 프로젝트 규칙을 따르는지
  • 빈 투명 여백이 지나치게 크지 않은지
  • 이미지가 손상되지 않았는지

아래는 Python과 Pillow로 출력 규격을 검사하는 간단한 예시다. 프로젝트에 맞게 최소 여백이나 허용 해상도를 조정해서 사용할 수 있다.

from pathlib import Path
from PIL import Image

ASSET_DIR = Path("generated/items")
EXPECTED_SIZE = (512, 512)

for path in ASSET_DIR.glob("*.png"):
    with Image.open(path) as image:
        if image.size != EXPECTED_SIZE:
            print(f"[크기 오류] {path.name}: {image.size}")

        if image.mode != "RGBA":
            print(f"[알파 채널 없음] {path.name}: {image.mode}")
            continue

        alpha = image.getchannel("A")
        if alpha.getbbox() is None:
            print(f"[내용 없음] {path.name}")

이 검사는 미적 품질을 판정하지 않는다. 대신 규격 오류를 빨리 제거하여 아트 검수가 색감, 실루엣, 읽기 쉬움처럼 사람이 잘 판단하는 일에 집중하도록 돕는다.

게임 엔진에 넣기 전의 검수 기준

승인 화면이나 폴더에서만 보지 말고 실제 게임의 배경과 조명 아래에서 확인해야 한다. 아이콘은 인벤토리 슬롯 크기로 축소했을 때도 무엇인지 알아볼 수 있어야 하며 배경 오브젝트는 플레이어 캐릭터와 겹쳤을 때 중요한 경로를 가리지 않아야 한다.

특히 다음 질문으로 검수하면 테마의 흔들림을 발견하기 쉽다.

  1. 같은 종류의 에셋을 나란히 놓았을 때 광원 방향과 명암 대비가 일관적인가?
  2. 축소된 크기에서도 대상의 종류를 구분할 수 있는가?
  3. 게임의 UI, 셰이더, 배경색 위에서 채도가 과도하게 튀지 않는가?
  4. 투명 가장자리, 잘린 물체, 의미 없는 문자처럼 생성 오류가 남아 있지 않은가?

AI 생성물은 원본을 보관하고 실제 빌드에 쓰는 파일은 별도 폴더에 둔다. 원본·후보·승인본을 섞어 두면 나중에 어떤 이미지가 최종본인지 추적하기 어렵다. 예를 들어 source, review, approved처럼 상태별 폴더를 나누거나 에셋 관리 도구의 상태 필드를 사용하면 교체와 회귀 확인이 쉬워진다.

작은 범위에서 시작하기

처음부터 게임 전체를 자동 생성하려고 하면 스타일 계약과 검수 기준이 아직 안정되지 않은 상태에서 결과물만 쌓인다. 먼저 회복 포션, 상자, 광물처럼 구조가 단순한 소품 10개 정도를 대상으로 워크플로를 시험하는 편이 좋다.

이 과정에서 공통 프롬프트, 참조 이미지, 후처리 규격을 조정하고 승인된 결과를 기준 샘플로 축적한다. 이후 캐릭터 초상화, 타일셋, 배경처럼 난이도가 높은 영역으로 확장한다. ComfyUI는 생성 버튼을 빠르게 누르게 하는 도구이기도 하지만 더 중요한 가치는 반복 가능한 제작 과정을 시각적으로 고정하고 개선할 수 있게 해 준다는 데 있다.

테마 통일의 최종 책임은 도구가 아니라 팀의 기준과 검수에 있다. AI는 그 기준을 대량의 에셋에 빠르게 적용하도록 돕는 생산 도구로 두는 것이 가장 안정적이다.