Skip to content

Latest commit

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

FBX Auto Rigger

사용자의 기존 리깅된 캐릭터를 템플릿으로 사용하여 다른 캐릭터에 자동으로 리깅을 적용하는 도구입니다. Mixamo와 유사한 방식으로 작동하지만, 사용자가 직접 보유한 캐릭터를 템플릿으로 사용할 수 있습니다.

주요 기능

  • 사용자 템플릿 기반: 기존에 리깅된 캐릭터를 템플릿으로 활용
  • 자동 스켈레톤 추출: 템플릿에서 스켈레톤 구조와 비율 자동 분석
  • 지능적 매핑: 템플릿과 타겟 캐릭터 간 자동 스케일링 및 정렬
  • 거리 기반 스키닝: 효율적인 웨이트 계산 알고리즘
  • 멀티스레딩 지원: 빠른 처리 속도
  • 다양한 리깅 소스 지원: Mixamo, Blender, Maya 등에서 생성된 리깅 호환

시스템 요구사항

macOS (M1/Intel)

  • macOS 11.0 이상
  • Xcode Command Line Tools
  • CMake 3.20 이상
  • FBX SDK 2020.3.4 (권장)

의존성 설치

# Xcode Command Line Tools
xcode-select --install
# Homebrew (없는 경우)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"# CMake 설치
brew install cmake

FBX SDK 설치

  1. Autodesk FBX SDK 다운로드
  2. 다운로드한 패키지 설치
  3. 기본 설치 경로: /Applications/Autodesk/FBX SDK/2020.3.4

빌드 방법

자동 빌드 (권장)

# 저장소 클론
git clone <repository-url>cd fbx-auto-rigger
# 빌드 스크립트 실행 권한 부여
chmod +x build.sh
# 빌드 실행
./build.sh

사용 방법

기본 사용법

./FBXAutoRigger template_character.fbx input_character.fbx output_rigged.fbx

인수 설명:

  • template_character.fbx: 리깅이 이미 된 템플릿 캐릭터
  • input_character.fbx: 리깅할 대상 캐릭터
  • output_rigged.fbx: 출력될 리깅된 캐릭터

고급 옵션

# 상세 출력과 함께
./FBXAutoRigger -v template.fbx character.fbx rigged_character.fbx
# 영향 반경 조정 (기본값: 8.0)
./FBXAutoRigger -r 12.0 template.fbx character.fbx rigged_character.fbx
# 스레드 수 조정 (기본값: 4)
./FBXAutoRigger -j 8 template.fbx character.fbx rigged_character.fbx
# 자동 정렬/스케일링 비활성화
./FBXAutoRigger --no-align --no-scale template.fbx character.fbx rigged_character.fbx

옵션 설명

옵션설명기본값
-r, --radius관절 영향 반경8.0
-w, --weight최소 웨이트 임계값0.01
-j, --threads스레드 수4
--no-align자동 정렬 비활성화활성화됨
--no-scale자동 스케일링 비활성화활성화됨
-v, --verbose상세 출력비활성화됨
-h, --help도움말 표시-

템플릿 캐릭터 준비

지원하는 템플릿 소스

  1. Mixamo:

    • Mixamo에서 리깅된 캐릭터 다운로드
    • FBX 형식으로 저장
  2. Blender:

    • Rigify나 수동 리깅된 캐릭터
    • FBX로 익스포트
  3. Maya/3ds Max:

    • 기존 리깅된 캐릭터
    • FBX 포맷으로 익스포트
  4. 기타 3D 소프트웨어:

    • 표준 스켈레톤 구조를 가진 리깅된 캐릭터

템플릿 요구사항

✅ 권장 템플릿 특성:

  • 표준 휴머노이드 스켈레톤 구조
  • T-pose 또는 A-pose
  • 적절한 스켈레톤 네이밍 (Hips, Spine, Head, LeftArm 등)
  • 스키닝이 적용된 메시

⚠️ 주의사항:

  • 너무 복잡한 스켈레톤 구조는 피하기
  • End effector나 helper bone이 많으면 처리 시간 증가
  • 템플릿과 타겟 캐릭터의 비율이 너무 다르면 결과 품질 저하

예상 처리 시간

캐릭터 복잡도삼각형 수관절 수처리 시간 (M1 Mac)
모바일 게임~3,000250.3-0.5초
PC 게임~15,000501-2초
고해상도~50,000705-8초

워크플로우 예제

1. Mixamo 템플릿 사용

# 1. Mixamo에서 리깅된 캐릭터 다운로드# 2. 자신의 캐릭터에 적용
./FBXAutoRigger mixamo_template.fbx my_character.fbx rigged_output.fbx

2. Blender Rigify 템플릿 사용

# 1. Blender에서 Rigify로 리깅된 캐릭터 FBX 익스포트# 2. 다른 캐릭터에 적용
./FBXAutoRigger blender_rigged.fbx new_character.fbx result.fbx

3. 기존 게임 캐릭터 템플릿 사용

# 기존 게임에서 사용하는 리깅된 캐릭터를 템플릿으로 활용
./FBXAutoRigger game_character_rigged.fbx concept_art_mesh.fbx final_character.fbx

지원하는 캐릭터 타입

✅ 잘 작동하는 경우

  • 표준 휴머노이드 캐릭터
  • 템플릿과 유사한 비율의 캐릭터
  • T-pose 또는 A-pose 캐릭터
  • 5만 삼각형 이하

⚠️ 주의가 필요한 경우

  • 매우 양식화된 캐릭터 (비정상적 비율)
  • 복잡한 의상이나 액세서리
  • 10만 삼각형 이상의 고해상도 메시
  • 템플릿과 크게 다른 비율의 캐릭터

❌ 지원하지 않는 경우

  • 비휴머노이드 캐릭터 (동물, 로봇 등)
  • 이미 리깅된 캐릭터 (입력)
  • 심각하게 손상된 메시

문제 해결

실행 오류

템플릿 스켈레톤을 찾을 수 없음:

  • 템플릿 FBX 파일에 스켈레톤이 포함되어 있는지 확인
  • FBX 익스포트 시 스켈레톤 포함 옵션 활성화

스켈레톤 매핑 실패:

# 상세 출력으로 문제 확인
./FBXAutoRigger -v template.fbx input.fbx output.fbx

결과 품질 저하:

# 영향 반경 조정
./FBXAutoRigger -r 12.0 template.fbx input.fbx output.fbx
# 스케일링 비활성화
./FBXAutoRigger --no-scale template.fbx input.fbx output.fbx

고급 사용 팁

1. 템플릿 최적화

  • 복잡한 finger bone이나 facial rig 제거
  • 핵심 스켈레톤만 남기기
  • 네이밍 컨벤션 통일

2. 배치 처리

# 여러 캐릭터에 같은 템플릿 적용forcharin character_*.fbx;do
./FBXAutoRigger template.fbx "$char""rigged_$char"done

3. 품질 향상

# 고품질 설정
./FBXAutoRigger -r 15.0 -w 0.005 -j 8 template.fbx input.fbx output.fbx

로드맵

  • Linux 지원 추가
  • Windows 지원 추가
  • GUI 인터페이스
  • 템플릿 자동 분석 개선
  • 비휴머노이드 캐릭터 지원
  • 배치 처리 UI
  • 템플릿 라이브러리 관리

기여하기

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests if applicable
  5. Submit a pull request

라이선스

MIT License - 자세한 내용은 LICENSE 파일 참조

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages