Repolode
Friedrich-M

Friedrich-M/UniMate

사람형부터 네발짐승, 새, 물고기, 곤충형 리그까지 임의의 리그 스켈레톤에 애니메이션을 생성하는 통합 텍스트-모션 모델입니다.

스타
2,006
포크
217
열린 이슈
6
마지막 커밋
12일 전

어떤 프로젝트인가요?

UniMate는 텍스트 프롬프트와 리깅된 에셋을 입력받아 관절이 있는 3D 모션을 생성하며, 스켈레톤마다 재학습하거나 추론 시 최적화하지 않고도 토폴로지가 서로 다른 스켈레톤을 지원합니다. Flow matching을 기반으로 하며, 두 발 동물, 네발 동물, 조류, 해양 생물, 곤충형, 뱀형 및 강체 에셋 리그를 아우르는 7,430개 스켈레톤의 텍스트-모션 쌍 클립 13,769개로 구성된 UniML3D 데이터셋을 사용해 학습했습니다.

저장소에는 데이터셋 데이터 처리 파이프라인, JSON 설정과 Accelerate를 사용하는 학습 코드, 데이터셋 스켈레톤이나 사용자의 리깅된 GLB, glTF, FBX 에셋에 애니메이션을 적용하는 추론 스크립트가 포함되어 있습니다. rig_preprocess 도구는 LLM으로 관절에 라벨을 지정하고, 에셋을 만들기 전에 검토할 수 있게 합니다. 공개된 체크포인트는 Hugging Face에서 이용할 수 있습니다.

같은 모델은 키프레임 사이의 모션 보간, 선택한 관절은 유지하고 나머지를 다시 생성하는 텍스트 기반 편집, 여러 프롬프트를 연결해 하나의 긴 클립을 만드는 모션 확장도 지원합니다.

핵심 기능

  • 01스켈레톤별 재학습 없이 텍스트 프롬프트로 임의의 스켈레톤에 모션을 생성합니다
  • 02사람형, 네발 동물, 조류, 해양 생물, 곤충형 및 강체 에셋 리그를 지원합니다
  • 03공개 체크포인트와 UniML3D 데이터셋, 학습 및 추론 코드를 제공합니다
  • 04관절 라벨링 전처리 도구를 통해 사용자가 보유한 리깅된 GLB, glTF, FBX 에셋을 가져올 수 있습니다
  • 05추가 학습 없이 키프레임 사이 보간, 모션 편집 및 모션 확장을 지원합니다

활용 사례

  • 게임이나 영화 프리비주얼라이제이션에서 텍스트 프롬프트로 커스텀 3D 캐릭터나 생물에 애니메이션을 적용합니다
  • 네발 동물, 새, 물고기 등 사람형이 아닌 에셋의 모션을 생성합니다
  • 다양한 스켈레톤 토폴로지에 걸친 텍스트 조건부 모션 생성 연구에 활용합니다
  • 키프레임 사이의 모션을 채우거나 기존 애니메이션의 일부를 편집합니다

빠른 시작

  1. 1

    Python 3.10으로 conda 환경을 만듭니다

    conda create -n unimate python=3.10 -y
  2. 2

    환경을 활성화합니다

    conda activate unimate
  3. 3

    setuptools 버전을 81 미만으로 고정합니다

    pip install "setuptools<81"
  4. 4

    프로젝트 요구 사항을 설치합니다

    pip install -r requirements.txt --no-build-isolation

사용 전 알아둘 점

  • 완전히 재현하려면 Truebones ZOO motion pack이 필요합니다. 구매해야 하는 상용 에셋이며 재배포할 수 없습니다.
  • 학습은 멀티 GPU 실행을 포함해 Accelerate를 사용하는 GPU 환경으로 설정되어 있으므로 CPU에 적합한 워크플로가 아닙니다.
  • 미리보기 체크포인트가 공개되어 있으며 새 체크포인트로 대체될 예정이므로 결과가 달라질 수 있습니다.

토픽

자주 묻는 질문

UniMate은(는) 무엇인가요?
사람형부터 네발짐승, 새, 물고기, 곤충형 리그까지 임의의 리그 스켈레톤에 애니메이션을 생성하는 통합 텍스트-모션 모델입니다. UniMate는 텍스트 프롬프트와 리깅된 에셋을 입력받아 관절이 있는 3D 모션을 생성하며, 스켈레톤마다 재학습하거나 추론 시 최적화하지 않고도 토폴로지가 서로 다른 스켈레톤을 지원합니다. Flow matching을 기반으로 하며, 두 발 동물, 네발 동물, 조류, 해양 생물, 곤충형, 뱀형 및 강체 에셋 리그를 아우르는 7,430개 스켈레톤의 텍스트-모션 쌍 클립 13,769개로 구성된 UniML3D 데이터셋을 사용해 학습했습니다.
UniMate은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
UniMate은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
UniMate은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. UniMate의 마지막 커밋은 2026년 10월 8일입니다.
UniMate은(는) 어디에 사용할 수 있나요?
게임이나 영화 프리비주얼라이제이션에서 텍스트 프롬프트로 커스텀 3D 캐릭터나 생물에 애니메이션을 적용합니다 네발 동물, 새, 물고기 등 사람형이 아닌 에셋의 모션을 생성합니다 다양한 스켈레톤 토폴로지에 걸친 텍스트 조건부 모션 생성 연구에 활용합니다 키프레임 사이의 모션을 채우거나 기존 애니메이션의 일부를 편집합니다
UniMate는 어떻게 설치하나요?
Python 3.10으로 conda 환경을 만듭니다: conda create -n unimate python=3.10 -y 환경을 활성화합니다: conda activate unimate setuptools 버전을 81 미만으로 고정합니다: pip install "setuptools<81" 프로젝트 요구 사항을 설치합니다: pip install -r requirements.txt --no-build-isolation
UniMate은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/Friedrich-M/UniMate

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트