AI로 생성된 영상을 임의의 스켈레톤이 바인딩된 생물(날개, 꼬리, 여덟 다리도 가능)의 애니메이션으로 변환합니다: 영상 모델이 한 화면에서 정면과 측면을 동시에 촬영하고, 해당 생물의 관절만 인식하는 관절 인식기가 두 시점의 관절을 읽어 교차 삼각 측량으로 3D 위치를 결정한 후, 스켈레톤을 부착하여 GLB로 내보냅니다.
별점 420 (+61 / 24h)
이유
- 프로세스 8 단계: 이미지 하나로 텍스처가 적용된 메시 생성(Flux 3로 이미지 생성, Tripo H3.1로 모델링) → 메시 뷰에서 수동으로 스켈레톤 배치, Blender로 스키닝 → 좌우 혼동을 방지하기 위해 각 사지에 다른 색상 지정 → MiniMax H3 Max가 프롬프트에 따라 5초 분량의 듀얼 카메라 영상 생성 → 랜덤 포즈로 DINOv2 관절 인식기 학습 → 프레임별 관절 읽기 → 두 시점으로 3D 계산 → 스켈레톤 피팅 후 24 fps GLB 내보내기
- 저자는 늑대, 용, 거대 거미, 불꽃 악마 네 가지 예시를 제시했으며, 인식기의 홀드아웃 세트 평균 오차는 2.9–9.4 픽셀입니다. 저자에 따르면 fal에서 5초 분량의 영상당 약 0.26달러가 들고, 관절 읽기는 10초, 피팅은 1분 미만이며 수동 수정이 필요하지 않습니다.
- 6개의 Claude Code 스킬(개요, 스켈레톤 바인딩, 촬영, 인식기, 데이터 수집, LoRA)이 포함되어 있으며, 데이터 수집의 품질을 판별하는 방법을 명시합니다. 또한 fal에서 MiniMax H3 듀얼 카메라 LoRA를 학습할 수 있으며, 저자에 따르면 LoRA 적용 후 늑대의 사지 색상 혼동 빈도가 5개 클립 중 2개에서 0개로 감소했습니다(각 동작당 하나의 시드만 사용).
- 방법은 @CanItCode에서, H3 LoRA 아이디어는 @Graalitoo에서 가져왔으며, 이 저장소는 저자가 정리한 실행 가능한 버전입니다.
사용법
- NVIDIA CUDA GPU(인식기 학습에는 24 GB VRAM 필요, 관절 읽기 및 피팅은 훨씬 낮은 사양으로 가능), Python 3.11, Blender 5.x 및 fal 키가 필요합니다. git clone 후 README에 따라 torch 2.11 및 의존성을 설치하고, .env 파일에 FAL_KEY를 입력합니다.
- 먼저 비용 없이 시도해 보세요: 저장소에 용의 포효 클립 관절 데이터가 포함되어 있어 mocap.solve를 사용해 CPU에서 약 20초 만에 피팅할 수 있습니다. 그 다음 tools/fetch_examples.sh dragon --readers --clips를 사용하여 예시 메시, 인식기 및 클립을 다운로드하고, prep.sh, rig.sh, capture.sh를 순서대로 실행하여 완전한 GLB를 생성합니다.
- Claude Code: /plugin marketplace add Patch-gg/anymove, 그 다음 /plugin install anymove@anymove
- 자체 생물 제작: assets/에서 가장 유사한 예시(네 발 달린 늑대, 날개 달린 용, 여덟 다리 달린 거미, 두 발 달린 악마 및 날개와 꼬리)를 복사하고 model.glb를 교체한 후, prep, rig, dataset(약 25분), train(약 20분), film, capture를 순서대로 실행합니다.
리스크
- 저자가 나열한 제한 사항: 여덟 다리 보행은 피팅이 불가능합니다(두 시점에서 어느 다리가 들렸는지에 대한 의견 불일치가 큼). 누운 자세 동작은 실패하며, 스켈레톤은 수동으로 배치해야 하고, 영상 모델은 드리프트가 발생합니다. 지면 접촉은 늑대와 용의 발톱 명칭만 인식하며, 털과 천은 추가 스켈레톤이 필요합니다.
- LoRA 학습 클립은 AI 영상에서 동작을 역추적하여 렌더링한 것으로, 동작 자체는 AI가 생성한 것입니다. fal에서 1200 스텝 학습에는 약 12달러와 2시간이 소요되며, 가격은 저자가 10월에 기록한 것입니다.
- 코드는 Apache-2.0 라이선스이지만, MiniMax H3 오픈 웨이트는 커뮤니티 라이선스이고 fal 호스팅 사용은 fal 약관에 따르며, 동봉된 늑대 LoRA는 Apache-2.0이 아닌 H3 커뮤니티 라이선스를 따릅니다. 저장소는 10월 27일에 생성되었습니다.