Spine 2D 캐릭터 아트에 AI 메시 자동 바인딩과 웨이트를 적용하는 방법
Spine 2D 캐릭터용 AI 생성 메시를 본 구조에 맞춰 자동 바인딩하고 거리 기반 웨이트와 검수 규칙으로 관절 붕괴를 줄이는 실전 파이프라인을 정리합니다.

핵심 요약
AI로 생성하거나 분할한 2D 캐릭터 메시도 Spine의 본 위치를 기준으로 각 버텍스에 영향 본을 배정하면 자동 스키닝할 수 있다. 핵심은 단순한 최근접 본 할당이 아니라 본 세그먼트까지의 거리와 관절 주변의 보정 규칙을 함께 적용한 뒤 Spine 편집기에서 변형을 검수하는 것이다.
Spine 2D 메시 자동 바인딩이 필요한 이유
Spine 2D에서 메시 스키닝은 각 버텍스가 하나 이상의 본 변형을 얼마나 따를지 결정하는 작업이다. AI 이미지 생성이나 자동 파츠 분리로 아트를 빠르게 만들 수 있어도 메시의 버텍스와 본 웨이트는 별도로 준비해야 한다. 이 단계가 불안정하면 팔꿈치가 접히는 순간 텍스처가 찢어지거나 소매가 손 본을 과하게 따라가는 문제가 생긴다.
자동화의 목표는 아티스트 검수를 없애는 것이 아니다. 반복적인 초기 웨이트 작업을 줄이고 사람이 관절 경계와 실루엣을 다듬는 데 집중하게 만드는 것이다.

AI 메시 자동 바인딩은 어떻게 동작하는가?
자동 바인딩은 일반적으로 다음 입력을 사용한다.
| 입력 | 용도 | 권장 형식 |
|---|---|---|
| Spine 스켈레톤 | 본 이름, 부모 관계, 월드 변환 | JSON 또는 런타임 스켈레톤 데이터 |
| 메시 | 버텍스 좌표, 삼각형 인덱스, UV | JSON, 자체 포맷 또는 엔진 메시 |
| 바인딩 규칙 | 영향 본 수, 거리 감쇠, 예외 영역 | 설정 파일 또는 코드 상수 |
| 마스크 정보 | 의상·피부·장식의 소유 본 제한 | 파츠 메타데이터 |
각 버텍스 에 대해 후보 본 세그먼트 까지의 거리를 구하고 가까운 순서대로 최대 2~4개 본을 선택한다. 본의 시작점만 비교하면 긴 팔이나 다리에서 잘못된 결과가 나올 수 있으므로 반드시 본의 시작점과 끝점을 잇는 선분까지의 거리를 사용한다.
거리 를 기반으로 한 기본 가중치는 다음처럼 계산할 수 있다.
여기서 는 웨이트가 퍼지는 범위다. 값이 작으면 본 하나에 강하게 고정되고 값이 크면 인접 본 사이가 부드럽게 섞인다. 계산 뒤에는 모든 웨이트의 합이 정확히 1이 되도록 정규화한다.
flowchart LR
A[AI 생성 또는 분할 아트] --> B[메시 생성 및 UV 유지]
B --> C[Spine 본 월드 좌표 추출]
C --> D[본 세그먼트 거리 계산]
D --> E[후보 본 선택과 웨이트 정규화]
E --> F[Spine 메시 데이터 내보내기]
F --> G[관절 포즈 검수 및 수동 보정]
Spine 메시 웨이트를 자동으로 계산하는 3단계
1. 본과 메시의 좌표계를 먼저 통일한다
Spine 에디터의 Y축 방향, AI 메시 생성 도구의 캔버스 좌표, 게임 엔진의 로컬 좌표가 다르면 자동 바인딩 결과가 뒤집힌다. 모든 버텍스와 본을 같은 로컬 좌표계로 변환한 뒤 계산한다.
특히 스켈레톤 JSON의 본 로컬 변환을 그대로 사용하지 말고 부모 본 변환을 누적한 월드 행렬을 계산해야 한다. 회전과 비균일 스케일이 있는 리그라면 2D 아핀 변환을 적용한 본 시작점과 끝점을 사용한다.
2. 버텍스별 후보 본을 제한한다
최근접 본을 무제한으로 찾으면 얼굴 버텍스가 목·머리·몸통 본에 동시에 영향을 받거나 망토가 다리 본을 따라갈 수 있다. 파츠별 허용 본 목록을 먼저 지정하는 편이 더 안정적이다.
| 파츠 | 허용 본 예시 | 최대 영향 본 수 |
|---|---|---|
| 상완 피부·소매 | shoulder, upper_arm, forearm | 2 |
| 하완 피부·장갑 | upper_arm, forearm, hand | 2 |
| 몸통 의상 | hips, torso, chest | 3 |
| 머리카락 장식 | head, hair_root, hair_tip | 2 |
그다음 각 버텍스에서 가장 가까운 후보 본 개만 남긴다. 보통 2D 캐릭터의 피부와 의상은 최대 2개 영향 본으로 시작해도 충분하다. 필요한 경우에만 3개 이상을 허용하면 데이터와 디버깅 비용을 줄일 수 있다.
3. 관절 영역에 보정 규칙을 적용한다
팔꿈치와 무릎은 거리만으로 계산한 웨이트가 가장 쉽게 무너지는 위치다. 관절 중심 주변 반경 안에서는 상위 본과 하위 본의 비율을 부드럽게 보간하고 관절 반대편 버텍스에는 하위 본 영향이 과도하게 넘어가지 않도록 제한한다.
예를 들어 팔꿈치 근처 소매 메시라면 upper_arm과 forearm만 후보로 제한한 뒤 팔 길이 방향 투영값 를 0~1 범위로 정규화해 웨이트를 만든다.
거리 기반 계산은 초기값으로 쓰고 관절 구간은 이처럼 리그 방향을 반영한 규칙으로 덮어쓰는 방식이 실무에서 예측 가능하다.

단순 최근접 본 바인딩은 왜 깨지는가?
단순 최근접 본 방식은 버텍스와 본 시작점 사이의 직선거리만 비교한다. 이 방식은 구현은 짧지만 회전하는 긴 본과 관절 주변에서 메시 흐름을 이해하지 못한다.
| 방식 | 장점 | 주의할 점 |
|---|---|---|
| 본 시작점 최근접 | 구현이 매우 간단함 | 긴 본, 관절, 장식 파츠에 약함 |
| 본 세그먼트 거리 | 팔·다리 같은 긴 구조에 강함 | 파츠별 후보 제한이 필요함 |
| 거리 + 관절 투영 보정 | 관절 변형이 안정적임 | 관절 방향과 반경 메타데이터가 필요함 |
| 수동 웨이트만 사용 | 아티스트 의도를 완전히 반영함 | 반복 작업 시간이 큼 |
AI가 메시를 생성했다면 삼각형 밀도도 확인해야 한다. 팔꿈치가 접히는 구간에 버텍스가 너무 적으면 웨이트를 아무리 정교하게 계산해도 매끄러운 변형이 나오지 않는다. 관절 주변에는 회전 방향으로 최소 2~3줄의 에지 루프가 지나가도록 메시를 보강한다.
Spine 2D에서 검수할 포즈와 체크 항목
자동 바인딩 결과는 Spine 편집기에서 반드시 확인한다. 기본 포즈만 보면 문제가 숨겨지므로 각 관절의 극단 포즈를 테스트한다.
- 팔꿈치와 무릎을 약 90도 이상 굽힌다.
- 어깨와 골반을 반대 방향으로 회전한다.
- 본 스케일을 변경해 의상과 장식이 예상 밖의 본을 따라가지 않는지 확인한다.
- 메시의 삼각형이 뒤집히거나 텍스처가 과도하게 늘어나는 버텍스를 찾아 웨이트를 수정한다.
Spine의 Weights 뷰에서 버텍스 선택 후 본별 색상 분포를 보면 문제 지점을 빠르게 찾을 수 있다. 자동화 결과를 그대로 확정하지 말고 손·얼굴·관절·레이어 경계처럼 시선이 자주 머무는 영역을 우선 보정한다.
자주 묻는 질문 (FAQ)
AI 생성 이미지를 바로 Spine 메시로 만들 수 있나?
가능하지만 투명 영역, 겹치는 파츠, 관절 뒤쪽의 가려진 텍스처는 별도로 정리해야 한다. 자동 생성 메시보다 파츠 분리와 관절용 여분 텍스처 확보가 먼저다.
Spine 메시 하나에 몇 개의 본 영향을 주는 것이 좋은가?
대부분의 2D 캐릭터 파츠는 2개로 시작하는 것이 안전하다. 몸통이나 부드러운 천처럼 연속 변형이 필요한 부분만 3개 이상을 검토한다.
자동 웨이트만으로 출시 가능한가?
반복 NPC나 원거리 표현에는 가능할 수 있지만 플레이어 캐릭터와 클로즈업 연출은 수동 검수가 필요하다. 자동 웨이트는 초안 생성 도구로 보는 편이 안전하다.
정리
Spine 2D의 AI 메시 자동 바인딩은 본 세그먼트 거리 계산, 파츠별 후보 본 제한, 관절 구간의 투영 기반 보정을 조합하면 실용적인 품질에 도달한다. 자동화는 초기 웨이트를 빠르게 만들고 최종 품질은 메시 토폴로지와 극단 포즈 검수로 확보하는 역할 분담이 가장 효율적이다.



