본문 바로가기

이미지.영상제작(FLOW 등)

캐릭터 시트, 이렇게 만드니까 그나마 안정적으로 나왔다

 

이 프로젝트를 진행하면서 캐릭터 얼굴이 계속 흔들리는 문제로 여러 번 헤맸다는 얘기를 앞서 몇 번 적었다. 그 과정에서 결국 정착하게 된 "캐릭터 시트" 만드는 방식을 이번에 정리해두려고 한다. 완벽한 해법은 아니고, 지금까지 시행착오 끝에 이 정도가 그나마 안정적이더라는 수준이다.

 

한 장짜리 기준 이미지로는 부족했다

처음엔 그냥 잘 나온 캐릭터 이미지 한 장을 등록해두면 될 줄 알았다. 그런데 정면 컷 하나만 있으면, 다른 각도나 표정을 요청했을 때 얼굴이 흔들리는 경우가 많았다. 기준이 되는 정보가 한 각도, 한 표정뿐이라 그런 것 같았다.

 

그래서 여러 요소를 한 판에 모은 시트를 만들었다

한 장의 캔버스 안에 아래 요소들을 다 넣어서 요청했다.

  • 정면 전신뷰
  • 측면 전신뷰
  • 얼굴 클로즈업 (가장 크게, 메인으로)
  • 표정 4종 (무표정, 웃음, 크게 웃음, 놀람 등 캐릭터 특성에 맞게)
  • 색상 팔레트 (헤어컬러, 눈동자색, 피부톤, 의상 색상 등을 작은 스와치로)

얼굴 클로즈업을 크게 넣는 게 핵심이었다

여러 번 시도해보니, 시트 안에서 얼굴 클로즈업이 크고 선명하게 잡혀 있는 버전이 등록 후 결과 안정성이 더 좋았다. 정면 전신 위주로 시트를 짰을 때보다, 클로즈업 비중을 키운 시트를 등록했을 때 이후 생성물에서 얼굴이 덜 흔들렸다.

 

배경과 소품은 최대한 없앴다

시트를 만들 때 배경에 아무것도 없는 단색으로, 소품도 다 빼고 캐릭터 자체에만 집중하게 했다. 배경에 뭔가 있으면 오히려 캐릭터 인식에 방해가 되는 느낌이었다. 조명도 균일하게, 극적인 각도도 피했다.

 

특정 부위를 명시적으로 지정해야 했던 경우도 있었다

캐릭터 중 하나(몸 전체가 뼈 무늬 코스튬인 캐릭터)는 처음 시트를 요청했을 때 얼굴까지 해골로 나온 적이 있었다. 이땐 "얼굴은 마스크가 아니라 완전히 사람 얼굴이어야 한다"는 걸 시트 프롬프트에 반복해서 강조해야 했다. 캐릭터 컨셉에 따라 이렇게 "당연히 이렇겠지" 싶은 부분도 명시적으로 못박아야 하는 경우가 있다는 걸 배웠다.

 

시트 자체가 참고 이미지, 등록은 그 이후

이렇게 만든 시트를 캐릭터 등록 화면에 기준 이미지로 올리고, 이름을 붙였다. 이름은 짧고 영문으로, 자동완성으로 부르기 쉽게 지었다. 등록 후 프롬프트에서 이 이름을 직접 타이핑해서 부를 때만 캐릭터가 제대로 연결됐다는 것도 이전 글에 적은 대로다.

 

여전히 못 푼 것

  • 시트 안 표정 종류를 몇 개까지 넣는 게 적당한지 기준이 없다. 지금은 4종 정도로 하고 있는데, 더 늘리면 더 안정적인지 아니면 오히려 혼란만 커지는지 실험해보지 못했다.
  • 캐릭터마다 "명시적으로 강조해야 하는 디테일"이 다 다른데, 이걸 미리 예측할 방법이 없다. 결국 한 번 실패해봐야 뭘 강조해야 하는지 알게 되는 식이다.
  • 시트를 한 번 만들어두고 나중에 의상이나 헤어스타일을 바꾸고 싶어지면 어떻게 해야 하는지는 아직 시도해보지 않았다. 새로 통째로 다시 만들어야 하는 건지, 부분 수정이 가능한 건지 모른다.

제미나이가 말하는 발생 원인 및 해결책

현상  발생 원인 해결책
단일 정면 컷 등록 시 다른 각도/표정 요청에서 얼굴 형태가 흔들림 단면적 정보로 인한 AI의 자의적 임의 추론 — 단일 컷은 기준 정보가 부족하여, AI가 새로운 각도나 표정 생성 시 부족한 영역을 '상상'하여 채우며 오차가 발생함. 멀티 뷰 시트(Multi-view Sheet) 구성 — 정면/측면 전신, 핵심 표정, 색상 팔레트 등을 한 판에 모아 캐릭터의 시각적 가변 범위를 사전에 명확히 제시.
시트 등록 후에도 얼굴 세부 디테일(눈매, 윤곽 등)이 뭉개지거나 변형됨 어텐션(Attention) 포커스 분산 및 픽셀 정보 부족 — 전신 위주 시트는 얼굴 비중이 작아 세부 픽셀 정보가 뭉개지고, AI 시각 모델이 인지해야 할 핵심 영역의 포커스가 분산됨. 얼굴 클로즈업 비중 확대 및 배경/소품 배제 — 시트 내 메인 영역에 얼굴 클로즈업을 크고 선명하게 배치하고, 단색 배경과 균일한 조명으로 인식 포커스를 얼굴에 집중시킴.
캐릭터 컨셉에 따라 엉뚱한 부위까지 자의적으로 연관되어 변형됨 (예: 뼈 코스튬 → 해골 얼굴) 문맥적 데이터 연결성의 우세한 작동 — AI는 사람의 상식적 판단보다 학습 데이터 간 강한 연관성(뼈=해골)을 우선하여 그대로 적용해 버림. 명시적 제약 조건(Constraints) 지정 — "얼굴은 마스크가 아닌 완전히 사람 얼굴이어야 함"과 같이 당연해 보이는 예외 사항도 프롬프트 및 시트에 강제로 못박음.

 

정리

캐릭터 하나를 안정적으로 쓸 수 있게 만드는 데도 이렇게 여러 단계의 시행착오가 필요했다. 정면 한 장으로는 부족하고, 얼굴 클로즈업 비중을 키운 다각도 시트를 만들어야 하고, 캐릭터 컨셉에 따라 당연해 보이는 것도 다시 명시해야 한다는 걸 이번에 정리하게 됐다. 다음에 새 캐릭터를 만들 일이 생기면 이 순서대로 시작해볼 생각이다.