Claude Code로 어린이용 설명 애니메이션을 만들면서 캐릭터의 손이 잘린 경험담
요약
Claude Code를 활용하여 어린이용 설명 애니메이션을 제작하는 과정에서 캐릭터의 경계 끊김 및 움직임 부자연스러움 문제를 해결한 경험담입니다. 프레임 비율 수치화와 '움직임을 전제로 그린 그림' 방식으로 접근하여, 기술적 한계를 극복하고 고품질 결과물을 얻는 방법을 제시합니다.
핵심 포인트
- AI 캐릭터 애니메이션의 경계 끊김 현상 해결법을 공유했습니다.
- 프레임 비율(움직이는 프레임) 수치화로 문제점을 객관적으로 파악할 수 있습니다.
- 캐릭터를 움직임을 전제로 다시 그리는 것이 핵심적인 개선 방법이었습니다.
"손이 잘려서 보기 싫어요"
AI가 그린 캐릭터를 관절로 움직이는 설명 애니메이션에 제가 Claude Code에게 보낸 말입니다. 팔의 뿌리와 소매 끝 부분이 잘려 보였습니다.
어린이용 설명 애니메이션을 2일 동안 4번이나 재작업한 기록입니다. 움직임이 멈춰 보이는 부분(움직이는 프레임 비율)을 수치로 개선하는 방법과, 캐릭터의 경계가 끊기지 않게 그리는 방법을 적겠습니다.
만든 것은 2~3분의 설명 애니메이션이며, 집의 노트북 PC를 사용했습니다.
GPU는 RTX 3060 Laptop(6GB), 메모리는 16GB입니다. 추가적인 유료 결제는 하지 않았습니다 (Claude와 ChatGPT의 월정액 범위 내에서).
4번의 재작업 과정은 다음과 같았습니다.
- 첫 번째 버전에서는 움직임이 멈춰 보였습니다. 측정해보니, 움직이는 프레임 비율은 18.8%였습니다. 참고했던 설명 애니메이션(몇 년 전 회차)은 44.7%였습니다.
- 움직임을 추가하기 위해 AI가 그린 캐릭터를 관절로 움직여보았습니다. 그러자 팔의 뿌리와 소매 끝 부분이 잘려 나와 보기 싫었습니다.
- 네 번째 버전에서는 '움직이는 것을 전제로 그려진 평면적인 그림'으로 바꾸어 경계가 사라졌습니다. 이때의 움직이는 프레임 비율은 86~98%였습니다.
- 마지막으로는 팔을 분리하지 않고, 하나의 형태로 매 프레임을 다시 그리는 방식으로 변경했습니다.

왼쪽부터 v2(잘라내어 회전), v4(움직이는 것을 전제로 그린 그림. 관절에 둥근 부품 추가), 마지막(팔을 하나의 형태로 다시 그리기)
계기는 아이들에게 보여주고 싶었기 때문이었습니다. 첫 번째 요청에는 이렇게 적었습니다 (참고한 채널 이름은 밝히지 않았습니다).
시작하면 계속할 수 있는 것, 하기 전에 의욕을 갖는 것은 어려운 일 등, (참고 설명 영상) 같은 유튜브에서 반복적으로 다루어지는 내용을 시리즈로 영상으로 만들고 싶다고 보여주고 싶었습니다.
이 글은 Claude Code를 이용해 설명 애니메이션이나 느린 해설(ゆっくり解説) 같은 영상을 만들어보고 싶은 분들을 위한 것입니다. AI가 그린 캐릭터의 경계나 끊김 때문에 어려움을 겪는 분, 6GB급 GPU로 유료 결제를 늘리지 않고 하고 싶은 분들도 대상입니다.
전제: 사용한 도구
| 역할 | 도구 | 비용 |
|---|---|---|
| 대본・지시・도구 제작 | Claude Code | 월정액 범위 |
| ... | ||
| 대본, 캐릭터, 그림, 목소리는 모두 오리지널입니다. 참고했던 영상에서는 '형식'(구성, 길이 배분, 말하는 속도, 음높이 범위, 색상)만을 수치로 가져왔습니다. 대본의 문장이나 그림, 실존 인물의 얼굴과 목소리는 사용하지 않았습니다. |
먼저 결론부터 말씀드립니다
| 버전 | 캐릭터 그림 그리는 방법 | 발생한 일 | 움직이는 프레임 비율 |
|---|---|---|---|
| v1 | 도형 캐릭터・손으로 그린 SVG | 멈춰 보이는 부분 발생 | 18.8% |
| ... | 움직임을 전제로 그려진 그림(팔은 몸통에서 분리된 통, 손은 장갑 형태)을 그림 그대로 관절로 자르기 | 구부려도 경계가 생기지 않음 | 86.6~98.0% (4회) |
표는 v4까지입니다. 이 이후에 팔의 제작 방식을 한 번 더 변경했습니다(3장 마지막).
참고했던 설명 애니메이션은 몇 년 전 회차에서는 44.7%, 최근 회차에서는 59~72%였습니다 (구간은 2장).
효과적이었던 점이 두 가지 있습니다.
- '멈춰 보인다'는 것을 수치로 만든 것. 어느 부분을 고쳐야 할지 결정할 수 있었습니다.
- 캐릭터 그림을 움직임을 전제로 다시 그린 것. 자르는 방식을 아무리 고민해도, 그림 자체가 움직임을 전제로 그려지지 않으면 경계가 남았습니다.
1. 원리
참고 영상 ── 분석 ──▶ 길이・컷・음높이・말하는 속도・음량・색상(수치)
│ Claude Code가 읽어 '형식'으로 만들기 (format.yaml)
▼
...
촬영은 '1 프레임 진행 → 촬영'을 반복합니다. Chromium은 화면을 약간 지연해서 다시 그리기 때문에, 변화한 프레임은 2프레임을 기다렸다가 찍는 방식으로 했습니다.
2. 멈춰 보였다 — 움직임을 수치로 만들다
첫 번째 버전을 보고 Claude Code에게 이렇게 부탁했습니다 (참고했던 영상 이름과 캐릭터 이름은 괄호 안에 바꿔 적었습니다).
이 정도면 충분히 좋지만, 더 높은 품질을 원합니다. (참고 영상)처럼 세밀하게 움직이고, 캐릭터도 너무 단순한 것을 개성 있게 만들거나, 이미 (박사님) 같은데, 캐릭터가 살아있지 않습니다. 여기에 초점을 맞춰서 진행해 주세요.
여기서 말하는 '처럼'은 움직임의 양에 대한 것입니다. 그림이나 대본은 가져오지 않았습니다.
요청 전과 후를 비교할 수 있도록, 움직이는 양을 측정했습니다.
- 측정 방법(
vidkit measure
): 1 秒 12 コマで並べ、画素の 0.2% 以上が前のコマから変わったコマを「動いているコマ」と数える - 1 本目: 18.8%
- 参考にした解説アニメ(数年前の回の 1〜4 分): 44.7%
- 同じ解説アニメの最近の回(3 本の冒頭 10 分。あとで測り直した): 59〜72%
수년 전 회차와 비교해도 차이는 2배 이상이었습니다.
추가한 것은 사람이 말하면서 자연스럽게 하는 작은 움직임입니다.
- 숨으로 가슴이 부풀어 오름
- 이야기하며 머리가 흔들림. 구두점에서 고개를 끄덕이고, '?'에서 목을 갸웃거림
- 듣는 아이도 고개를 끄덕임. 이야기가 끝난 후 상대방을 봄
- 이야기하는 아이에게 카메라가 아주 조금 가까워짐
- 표정이 변하는 순간에, 튀거나/가슴을 펴거나/돌아서기
이로써 86.2%가 되었습니다.
여기서 다음 문제가 발생했습니다.
3. 손이 잘렸다 (실패)
움직임을 세밀하게 하기 위해, 캐릭터를 '머리・팔・전완'으로 나누어 관절로 회전시키기로 했습니다.
그림은 Codex에 그리게 한 애니메이션 스타일의 설정화입니다.
움직여 보니, 팔꿈치와 소매 끝이 잘려 보였습니다. 제가 Claude Code에게 돌려준 말은 '손이 잘려서 기분이 안 좋아'였습니다.
한 장의 그림을 오려 움직이면, 원래 그림에 그려져 있지 않은 곳(팔꿈치 안쪽, 소매 깊숙한 곳)이 보여버리기 때문입니다.

v2 화면. 어깨에서 소매까지 이음새가 보임
효과가 없었던 것: 팔만 도형으로 다시 그리기
화풍을 평면적인 것으로 바꾸고, 팔은 같은 색의 도형으로 다시 그려 겹쳤습니다(v3).
끊김은 사라졌습니다. 다만, 다음 것이 남아있었습니다.
- 도형 소매와 잘라낸 손의 연결 부위에서 손목에 단이 생김
- 그림자 선이 단처럼 보임
- '생각하는' 포즈에서 손이 턱까지 닿지 않음(팔을 길게 해도 올라가지 않음)
효과가 있었던 것: 그림 자체를 '움직이는 전제'로 다시 그리기
그림 자체를 다시 그렸습니다(v4).
- 팔은 몸통에서 분리된 통 모양으로 함
- 손은 장갑 형태(미튼)로 함
- 어깨에 아무것도 덮지 않음(후드 귀나 머리카락을 어깨에 걸치지 않음)
이렇게 하니, 그림 그대로 관절로 잘라내고 연결 부위에 같은 색의 원만 놓는 것만으로도 이어집니다.
구부려도 끊김이나 덩어리가 나오지 않는 것은 테스트를 통해 확인했습니다.
캐릭터 안과 각각의 '어디서 자를지' 선을 나열한 목록을 만들게 하고, 그중 제가 골랐습니다.
캐릭터가 화면 높이의 절반 정도라 작았기 때문에 1.4배로 키웠습니다. 얼굴과 표정이 크게 보입니다.
다만, v4가 만들어진 날 바로 '팔꿈치 부분이 둥근 건 말도 안 돼'라고 돌려주었습니다.
결국 팔을 자르지 않고, 어깨・팔꿈치・손목을 지나는 하나의 형태로 매 프레임 다시 그리는 방식으로 바꿨습니다. 팔꿈치의 바깥쪽은 둥글고, 안쪽은 각진 형태입니다.
4. 목소리: '하'를 '하'로 읽기
VOICEVOX는 짧은 대사에서 조사 '하'를 '하'로 읽는 경우가 있었습니다. 반대로 '하일'을 '와일'로 읽는 경우도 있었습니다.
대본을 문절(文節)별로 공백으로 나누어 작성하고, 그것을 이용해 수정했습니다.
- 문절의 마지막 '하', '헤'는 조사로서 '와', '에'로 읽게 함
- 문절의 시작이나 중간은 그대로 둠
- 앞뒤 2글자도 일치할 때만 수정함(한자나 숫자의 읽기 중의 '하'는 건드리지 않음)
4편에서 9줄이 수정되었습니다.
목소리는 대사마다 감정도 다르게 했습니다(외치는 대사는 다른 스타일, 우울한 대사는 조금 느리게 등).
5. 의미는 Claude, 움직임은 규칙
몸짓을 정하는 방식은 두 가지로 나누었습니다.
- 어떤 말에, 어떤 몸짓을, 어느 정도의 강도로 할지: Claude(
claude -p에 대사를 주고, 결정된 형태의 JSON으로 응답하게 함) - 몸짓의 타이밍, 관절 각도, 대기 중 흔들림, 눈 깜빡임: 엔진의 규칙
규칙만으로는 '모두'에 양팔을 벌리는 같은 말 대응표가 됩니다. Claude에게 맡기면, 대사의 의미에 맞춰 선택할 수 있습니다.
Claude의 답변은 사용하기 전에 검사하고, 어휘에 없는 몸짓은 버리는 방식으로 만들었습니다.
배운 것들
- '멈춰 보임'은 측정 가능하다. 측정하면 고칠 곳이 정해진다
- AI에게 그리게 한 캐릭터를 움직이려면, 그리게 하기 전에 '팔은 몸통에서 분리된 통 모양, 손은 장갑 형태, 어깨에 아무것도 덮지 않기'라고 요청할 것
- 참고 영상에서 따라 그릴 때는 틀(型)까지만 할 것. 수치로 따라 하면, 내용물을 스스로 만들더라도 분위기는 가까워진다
걸린 시간과, 그 이후
2일 동안 제가 보낸 지시는 18번. 그중 4번은 '응' 같은 한마디였습니다. AI가 움직인 시간은 기록을 세어 약 총 12시간. 이 중 첫날 아침의 약 3.3시간은 다른 두 가지 유형의 영상도 함께 만들고 있었습니다.
제가 손을 움직인 것은 약 3~5시간 정도입니다. 자투리 시간에 소리를 듣거나 동영상을 보면서 댓글을 달고, 이상한 부분을 수정해 주었습니다.
아이들은 박사님의 발음이 조금 부정확한 목소리를 좋아하는 것 같았습니다. 그와 별개로, 누구나 좋아할 만한 여러 가지 음성 패턴도 요청했습니다.
음성은 이후 Irodori-TTS의 보이스 디자인으로 만든 음성으로 교체했습니다. 입 모양(립싱크) 타이밍은 VOICEVOX를 백그라운드에서 같은 대사를 읽게 하여 촬영하고 있습니다. 현재는 Qwen의 VoiceDesign으로 다시 만들고 있습니다.
Discussion

AI 자동 생성 콘텐츠
본 콘텐츠는 Zenn AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기