Spine 전투 모션 실례를 통한 AI에게 스켈레탈 애니메이션 요청 프롬프트 작성법
요약
본 기사는 Spine 애니메이션을 활용한 게임 몬스터 전투 모션 제작 과정과 AI에게 스켈레탈 애니메이션을 요청하는 구체적인 프롬프트 작성법을 공유합니다. 움직임의 '느낌'과 시간, 신체 부위별 동작 변화를 상세히 서술하여 원하는 결과물을 얻는 것이 핵심입니다.
핵심 포인트
- 움직임 자체를 서술하며, 어디가 멈추고 어디가 움직일지 구체적으로 명시해야 합니다.
- 단순 요청 대신 '몇 초에, 무엇이, 어느 방향으로'와 같이 시간과 포즈 변화를 프레임 단위로 지정하는 것이 효과적입니다.
- 애니메이션의 느낌(예: heavy breathing)을 서술하여 원하는 분위기를 전달할 수 있습니다.
실제 예시 전문 (영어): Spine으로 만든 게임 몬스터의 전투 세트. 일본어 전 과정은 Qiita 기사에 있습니다. 번역에는 AI를 사용했습니다.
PSD 1장에 레이어를 분리하여 RPG 몬스터의 전투 애니메이션 일체(대기, 공격, 피격, 사망)를 Spine 4.2로 만들었습니다. 리그와 애니메이션은 자체 제작 도구 Riggy의 채팅을 통해 AI에게 만드게 했습니다. 첫 번째 프롬프트만으로 네 가지 모두 완성되었고, 공격 동작은 한 번에 사용할 수 있게 되었습니다. 반대로 가장 어려웠던 것은 사망 애니메이션이었습니다.
두 것의 차이는 거의 프롬프트 작성 방식이었습니다. 여기서는 실제로 보낸 프롬프트를 통해 '효과가 좋았던 작성법'과 도중에 발견한 리그의 함정을 정리했습니다.

1. 움직임 이름 대신, 움직임 자체를 서술하기
'공격을 만들어줘'라고만 쓰면 판단을 전부 모델에 맡기게 되고, 모델은 스스로 생각한 움직임을 만듭니다(팔을 원을 그리며 휘두르는 등). 한 번에 통했던 공격 지시는 다음과 같았습니다.
attack - about 1 s: the club arm stays almost in place and lifts only a little; the work is in the wrist - the club cocks back and snaps forward; the torso leans into the blow and the legs bend slightly. Event 'hit' at the impact.
작성된 내용은 다음과 같습니다.
길이(about 1 s) -
어디가 움직이고, 어디가 멈출지(팔은 거의 그 자리에 있고, 힘은 손목에 집중)
순서(뒤로 거두기 → 앞으로 휘두르기)
몸의 다른 부분과의 연관성(몸통이 타격에 실리고, 다리가 살짝 구부러짐)
게임 측에서 필요한 것(히트 순간에 'hit' 이벤트)
움직임의 '느낌'도 말로 전달할 수 있습니다. 대기는 'heavy breathing', 사망은 'falls backwards in phases - not as a stiff board and not as a sack'(뻣뻣한 판처럼도, 자루처럼도 아닌, 단계적으로 뒤로 쓰러짐)와 같이 서술했습니다.
2. 수정할 때는 '몇 초에, 무엇이, 어느 방향으로' 명시하기
사망 애니메이션 작업이 어려웠던 이유는 첫 번째 수정 요청이 모호했기 때문입니다. 효과가 좋았던 것은 프레임 단위로 확인하며 문제마다 시간과 방향을 적은 요청이었습니다.
death, small fixes, keep the rest: (1) at 0.5-0.7 s both feet lift off the ground and the club arm bends up so the club is next to the head - keep the feet on the ground until the body tips, and keep the club arm low by the side; (2) from 1.0 s to the end the club sticks straight up into the air - lay it down so at 1.5 s it rests flat on the ground next to the hand; (3) at 1.3-1.5 s the back arm and the tail hang below the ground line - lift them so they rest on the ground, nothing below y=0.
모델은 포즈를 수치로 구성하고 있기 때문에, '사망이 이상해'보다는 '1.3~1.5초에 꼬리가 지면 아래'와 같이 구체적으로 적는 것이 한 번에 수정하기 좋습니다.
3. OK가 된 것을 명시하기
attack and hurt are approved, don't touch them.
이렇게 하면 어떤 애니메이션을 건드리지 말아야 할지 모델에게 전달할 수 있습니다. 다만, 리그 자체의 변경(파츠가 어느 본에 매달려 있는지, 렌더링 순서)은 모든 애니메이션에 영향을 미치므로, 그러한 수정 후에는 다시 전체를 확인하는 것이 좋습니다.
4. 리그의 함정 (AI를 사용하지 않아도 동일)
4. 리그의 함정 (AI를 사용하지 않아도 동일)
- 몸통에 그려진 벨트는 몸통 본(bone)에. 허리띠가 허리 본에 붙어 있었기 때문에, 공격으로 몸통이 앞으로 넘어지더라도 벨트만 남아버렸습니다. 본 트리를 이용해 드래그하여 부모를 몸통으로 변경하니 해결되었습니다 (마우스로 몇 초간 무료). -
드로잉 순서는 원본 그림대로. 옆모습 캐릭터의 '앞쪽 팔'이 몸통 아래에 있으면, 피격당했을 때 몸 뒤쪽으로 미끄러져 들어갑니다. PSD 단계에서 레이어 순서를 맞춰두는 것이 가장 좋습니다. -
바닥은 이미지 하단이 아니다. 정지 포즈로 발이 닿아 있는 라인이 바닥입니다. 이번에는 이 몬스터의 발이 이미지 하단보다 약 70px 위에 있었는데, 하단을 기준으로 지시했더니 오히려 발을 바닥에 파묻어 버렸습니다. 넘어지는 애니메이션의 최종 프레임은 이 라인에서 확인합니다. -
루프하지 않는 애니메이션의 시작과 끝에 주의. 마지막 순간의 포즈를 수정했더니 첫 프레임까지 변경된 적이 있었습니다. 타임라인의 처음과 마지막 값이 같으면, 루프로 간주되어 양 끝단에 반영되었기 때문입니다 (루프하지 않는 애니메이션에서는 그렇지 않도록 수정 중).
5. 마우스로 하는 사소한 작업들
부모 본을 변경하거나 특정 순간의 포즈를 미세 조정하는 것은, 채팅으로 요청하는 것보다 마우스가 더 빠르고 비용도 들지 않습니다. 이번에도 다리의 최종 포즈와 착지 높이는 Motion 모드에서 그 순간의 키프레임을 마우스로 수정하여 완성했습니다.
맺음말
시작은 표준 Spine 4.2 JSON과 아틀라스를 사용하므로, Spine 에디터에서 수동으로 마무리할 수도 있고 그대로 게임에 불러올 수도 있습니다 (Spine 런타임을 이용해 게임을 만들려면 Esoteric Software의 라이선스가 필요합니다). 완성된 리그는 데모에서 구동할 수 있습니다.
현재는 레이어 분리가 완료된 PSD부터 시작해야 하지만, 캐릭터 이미지 한 장을 순서별/이름 지정 레이어로 나누고 숨겨진 부분도 그려주는 툴을 만들고 있습니다.
토론 (Discussion)

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