Files
Colosseum/Docs/ActorCoreMotionBatchImport.md
dal4segno b4648672f6 feat: ActorCore 모션 배치 import 자동화 추가
- MotionBatch_20260424에 Motion* 후보 FBX 10개를 import하고 Humanoid 리그를 정리
- Blender 기반 ActorCore 101본 정규화 스크립트와 Unity manifest 적용 메뉴 추가
- orc-stomp 단일 애셋의 extra root 리그를 정규화하고 사용 문서와 manifest를 보강
- Unity 컴파일, ApplyManifest 실제 실행, 콘솔 경고/오류 없음으로 검증
2026-04-24 14:50:21 +09:00

3.3 KiB

ActorCore Motion Batch Import

/home/dal4segno/다운로드/Motion*처럼 외부에서 받은 ActorCore 계열 FBX를 프로젝트에 일괄 import하기 위한 절차입니다.

목적

  • 정상 ActorCore 101본 구조는 기존 ActorCoreAvatarCopy From Other Avatar로 적용합니다.
  • RootNode_0, CC_Base_BoneRoot, RL_BoneRoot 같은 extra root/보조 본이 섞인 FBX는 Blender에서 정상 ActorCore 101본 구조로 정규화합니다.
  • Unity에서는 정규화된 FBX를 Create From This Model로 import해 유효한 Humanoid Avatar와 humanMotion 클립을 생성합니다.
  • 0프레임 T-Pose take는 제외하고 실제 모션 클립만 남깁니다.

1. Blender 정규화와 manifest 생성

Unity 프로젝트 루트에서 실행합니다.

python3 Tools/Blender/actorcore_motion_batch_import.py \
  --source-glob "/home/dal4segno/다운로드/Motion*/**/*.fbx"

기본 출력 위치는 Assets/External/Animations/ActorCore/MotionBatch_YYYYMMDD입니다. 같은 이름의 폴더가 이미 있으면 _1, _2 suffix가 붙습니다.

필요하면 batch 이름을 직접 지정할 수 있습니다.

python3 Tools/Blender/actorcore_motion_batch_import.py \
  --source-glob "/home/dal4segno/다운로드/Motion*/**/*.fbx" \
  --batch-name MotionBatch_DrogCandidates

변환 없이 계획만 확인하려면 다음처럼 실행합니다.

python3 Tools/Blender/actorcore_motion_batch_import.py \
  --source-glob "/home/dal4segno/다운로드/Motion*/**/*.fbx" \
  --dry-run

스크립트가 생성하는 manifest는 _actorcore_motion_import_manifest.json입니다. 이 파일에는 원본 경로, 복사된 asset 경로, sha256, 처리 방식(copy 또는 create), 제거된 본 목록이 기록됩니다.

2. Unity import 설정 적용

  1. Unity Editor에서 play mode가 꺼져 있는지 확인합니다.
  2. Project 창에서 생성된 _actorcore_motion_import_manifest.json을 선택합니다.
  3. 메뉴 Tools/Animation/Apply ActorCore Motion Batch Import Settings를 실행합니다.
  4. 완료 후 Unity Console에 오류/경고가 없는지 확인합니다.

메뉴는 manifest의 unityImportMode를 기준으로 다음을 적용합니다.

  • copy: Humanoid / Copy From Other Avatar / ActorCoreAvatar
  • create: Humanoid / Create From This Model

copy 적용 후 Unity가 유효한 humanMotion 클립을 만들지 못하면 자동으로 Create From This Model로 fallback합니다.

검증 기준

성공 조건은 다음과 같습니다.

  • Armature extra transform이 없습니다.
  • root가 FBX 루트 오브젝트 바로 아래에 있습니다.
  • AnimationClip.humanMotion == true인 실제 모션 클립이 1개 이상 있습니다.
  • create 모드 파일은 valid + human Avatar를 자체 sub-asset으로 가집니다.
  • Unity Console에 import warning/error가 없습니다.

주의

  • 이 도구는 원본 다운로드 폴더의 FBX를 수정하지 않고, 프로젝트 하위 새 batch 폴더에 복사한 파일만 정규화합니다.
  • 기준 rest skeleton은 기본적으로 Assets/External/Animations/ActorCore/orc-jog.fbx를 사용합니다.
  • ActorCore와 다른 본 이름 체계를 가진 FBX는 자동 정규화가 실패할 수 있습니다. manifest에서 unityImportMode: skip과 오류 메시지를 확인하세요.