움직이게 만드는 법 / how to

이 카탈로그는 구경거리가 아니라 부품 목록입니다. 여기서 동작을 고르고, 아래 프롬프트를 클로드에게 넘기면 그 동작을 실제로 그리고 이어 붙이는 시스템이 만들어집니다.

CMU BVH → 19관절 → 캔버스순수 파이썬 · 의존성 0결정적 렌더 render(t)
STEP 1

카탈로그에서 동작을 고른다

카드를 눌러 CMU ID원문 키워드를 복사합니다. 예를 들어 CMU 113_05 — "walk". 키워드는 카네기멜론 색인에 적힌 영문 원문 그대로여야 합니다 — 한글로 바꿔 부르면 다른 클립이 잡히거나 아예 안 잡힙니다.

STEP 2

시스템을 한 번 만들어 둔다

아래 프롬프트를 통째로 클로드에게 붙여넣습니다. BVH 내려받기 → 19관절 변환 → 후처리 → 캔버스 렌더러 → 클립 이어 붙이기까지 한 벌이 만들어집니다. 한 번 만들면 이후에는 동작 이름만 대면 됩니다.

STEP 3

동작을 이어 붙여 시킨다

예 — CMU 113_05 "walk" 으로 4초 걸어가서 143_13 으로 물건을 집어 들고, 143_28 "Sweeping, Push Broom" 으로 바닥을 쓸게 해줘. 총 12초.

클립마다 제자리 처리본을 쓰고 경로 속도에 맞춰 재생 속도를 맞추라고 함께 일러 주면 발이 미끄러지지 않습니다. 그 규칙이 아래 프롬프트 5절에 들어 있습니다.

붙여넣기용 프롬프트 전문

텍스트로 받기
불러오는 중…

미리 알아둘 함정

결과가 이상할 때 여기부터 확인하면 빠릅니다. 프롬프트 안에도 같은 내용이 들어 있습니다.

증상원인과 처방
발이 미끄러진다재생속도가 경로 속도와 안 맞는 것. rate = 경로속도 / mps. mps 는 그 클립의 본래 이동 속도로, --inplace 처리할 때 기록됩니다.
두 배로 빨리 간다경로에 태운 클립이 제자리 처리본이 아닌 것. 클립의 이동과 경로의 이동이 겹칩니다.
경계에서 다리가 튄다속도가 바뀌는 지점에서 위상이 끊긴 것. at(k+1) = tb − (tb − at(k))·r(k) / r(k+1) 로 이어 붙이면 블렌드조차 필요 없습니다.
몸이 먼 길로 돈다yaw 를 언랩하지 않은 것. 190 다음에 −170 을 쓰면 반대로 돕니다. 270° 도는 동선이면 값도 270 만큼 늘어나야 합니다.
인물이 납작해 보인다앞뒤 판정을 0 기준으로 나눈 것. ±0.10 m 밴드를 두지 않으면 옆으로 늘어뜨린 팔이 뒤쪽으로 분류됩니다.
겹치는 자리에 구멍Path2D 감김 방향이 어긋난 것. 원은 arc(...,0,-2π,true) 로 캡슐과 방향을 맞춥니다.
루프가 툭 끊긴다--autoloop 미적용. 자세가 가장 비슷한 두 프레임 구간만 남기면 이음매가 사라집니다.
머리가 어깨에 파묻힌다BVH 의 Head 는 두개골 밑입니다. 목→머리 방향으로 0.125 m 밀어 중심을 만듭니다.

안 되는 것

프롬프트를 아무리 잘 써도 되지 않는 것들이 있습니다. 이걸 먼저 알아야 헛수고를 안 합니다.

끝났는지 확인하는 법

다섯 가지를 통과해야 완성된 것입니다.

출처 문구는 지워도 되는 장식이 아닙니다. 이 데이터를 쓴 산출물에는 다음 문장을 남겨야 합니다 — The data used in this project was obtained from mocap.cs.cmu.edu.
The database was created with funding from NSF EIA-0196217.