3D/Blender

포즈라이브러리 - 믹사모 리깅된 각 본들의 이름을 블렌더 방식으로 변경

ppsd 2026. 1. 14. 05:42
반응형

 

1. 믹사모 리깅의 단점 (지금 겪으신 문제)

  • 이름 규칙 불일치: 블렌더는 좌우 반전 시 .L / .R 형식을 선호하지만, 믹사모는 Right / Left 단어를 사용합니다. 이 때문에 '자동 미러'가 바로 안 먹히는 것입니다.
  • 컨트롤러 부재: 믹사모 리깅은 뼈(Bone)만 있고 제어하기 쉬운 핸들(IK 컨트롤러 등)이 없어 세밀한 포즈를 잡을 때 손이 많이 갑니다.

2. 그럼에도 사용하는 이유 (장점)

  • 속도: 직접 리깅(뼈 심기)과 웨이트 페인팅(살 붙이기)을 하려면 몇 시간이 걸리지만, 믹사모는 몇 분 만에 끝납니다.
  • 방대한 애니메이션: 수천 개의 무료 동작 데이터를 즉시 입힐 수 있다는 점이 가장 큰 무기입니다.

 


1. 믹사모 이름 규칙도 하나의 표준입니다

  • 믹사모의 mixamorig:RightHand 식의 이름도 업계에서 매우 흔하게 쓰이는 표준 중 하나입니다.
  • 대부분의 모션 캡처 소프트웨어나 리타겟팅(Retargeting) 툴은 '믹사모 프리셋'을 기본으로 가지고 있습니다. 즉, 이름만 일관되게 믹사모 형식을 유지한다면 모션 캡처 데이터를 입히는 데 문제가 없습니다.

2. 블렌더 전용 규칙으로 바꾸고 싶다면?

만약 블렌더의 '자동 미러'나 '포즈 반전' 기능을 이름만으로 완벽하게 쓰고 싶다면, 이름을 블렌더 식으로 일괄 변경해야 합니다.

  • 예: mixamorig:RightHand → Hand_R
  • 하지만 이걸 일일이 손으로 바꾸는 건 시간 낭비입니다. 믹사모 뼈 이름을 블렌더 표준으로 한 번에 바꿔주는 'Mixamo Converter' 같은 무료 애드온을 사용하는 것이 포터블 환경과 효율성 면에서 훨씬 낫습니다.

 

 

결론 : 믹사모는 모션캡쳐 옷입고 움직이기 등이 그냥 장점.....결국은 블렌더 뼈네이밍을 따라가야한다.

 


 

 

 

 

 

믹사모 리깅을 블렌더 네이밍으로 변경하자.

 

 

포즈모드로 들어와서 A를 눌러서 모두 전체선택되게 한 후에...

 

 

최종 체크 : FindReplace 둘 다 그 정규식 아이콘(.*)이 켜져 있어야 해.

  1. Find: mixamorig:Right(.*) 입력 후 옆에 있는 .* 클릭.
  2. Replace: mixamorig:\1.R 입력 후 옆에 있는 .* 클릭.
  3. 결과 확인: 하단에 Rename 29 Bone(s)라고 뜨는지 꼭 봐.

29개라고 뜨면 바로 OK 눌러. 그럼 이름 뒤에만 깔끔하게 .R 붙어.

 

로그에 65개 뼈중 29개 뼈가 이름이 변경됨이 나온다. 정확히 right 이름가진거만 변경이 된거다.

왼쪽도 이름 변경

  1. 오른쪽 처리: 현재 화면 상태 그대로 OK 클릭.
    • 로그에 **Renamed 29 of 65 Bone(s)**라고 뜨면 성공이야.
  2. 왼쪽 처리: 다시 Ctrl + F2 눌러서 아래 내용으로 바꿔.
    • Find: mixamorig:Left(.*) (옆에 .* 켜져 있어야 함)
    • Replace: mixamorig:\1.L (옆에 .* 켜져 있어야 함)
    • OK 클릭. (이것도 29개 바뀌어야 함)

 

 

 


 

 

 

변경된 이름 확인 ; 

 

mixamorig:Hand.L 식으로 끝에 .L이 아주 잘 붙었네.

그런데도 반응이 없으면 이름 문제가 아니라 데이터 매칭이 안 된 거야. 아래 3가지만 순서대로 확인해봐.


1. 반대편 이름 확인

  • 지금 화면에 보이는 건 .L인데, 반대편 뼈들도 똑같은 규칙으로 .R이 붙어 있어? (예: mixamorig:Hand.R)
  • 한쪽만 바꾸면 블렌더가 짝꿍을 못 찾아서 반응이 없어.

2. 포즈 복사/반전 버튼 확인

  • Ctrl + C (복사)를 먼저 누르고, 그다음에 Shift + Ctrl + V (반전 붙여넣기)를 눌러봐.
  • 혹은 상단 메뉴 Pose > Paste Pose Flipped를 직접 클릭해봐.

3. 'Active Keying Set' 확인

  • 화면 하단에 열쇠 모양 아이콘이나 Keying Set이 설정되어 있으면 특정 뼈만 작동할 때가 있어. 이거 다 꺼져 있는지 봐봐.

 

 

 


 

 

 

 

 

오른쪽 동작을 반대편 왼쪽에 똑 같이 만들기가 가능해졋다 : 블렌더 네이밍 규칙으로 인해서.

 

우선 우측팔을 대충 구부리고, 우클릭하여 메뉴선택 : 복사

 

 

왼편에 와서 우측이 선택한 뼈와 뼈숙까지 동일하게 선택하고, 우클릭 메뉴 선택 : 반전 붙이기

 

 

 

똑같이 쉽게 변해버림 : 오른편만 하고서 왼편에 똑 같이 하기가 수월해짐.

 

 

 


 

 

 

여기까지 스크립트로 자동으로 하기.

 

1. 포즈모드에 들어와서 바꾸고자 하는 사람의 전체뼈는 A 를 눌러서 직접 선택하는 걸로 한 후.

 

2. 스크립트에서 아래 소스를 실행하자.

 

import bpy

# 포즈모드에서 A로 모두 선택 후 실행
selected_bones = bpy.context.selected_pose_bones

print("\n--- Bone Renaming Report (Prefix Preserved) ---")

if not selected_bones:
    print("선택된 뼈가 없습니다.")
else:
    for bone in selected_bones:
        old_name = bone.name
        new_name = old_name
        
        # mixamorig: 접두사를 유지하면서 Left/Right만 .L/.R로 치환
        if "mixamorig:Right" in old_name:
            new_name = old_name.replace("Right", "") + ".R"
        elif "mixamorig:Left" in old_name:
            new_name = old_name.replace("Left", "") + ".L"
        
        # 이름이 변경된 경우에만 적용
        if old_name != new_name:
            bone.name = new_name
            print(f"변경됨: {old_name} -> {new_name}")
        else:
            print(f"유지됨: {old_name}")

print("---------------------------\n")

 

3. 그러면 블렌더 시스템 콘손에 아래의 로그가 찍힌다. 

 

--- Bone Renaming Report ---
유지됨: mixamorig:Hips
유지됨: mixamorig:Spine
유지됨: mixamorig:Spine1
유지됨: mixamorig:Spine2
유지됨: mixamorig:Neck
유지됨: mixamorig:Head
유지됨: mixamorig:HeadTop_End
변경됨: mixamorig:LeftShoulder -> Shoulder.L
변경됨: mixamorig:LeftArm -> Arm.L
변경됨: mixamorig:LeftForeArm -> ForeArm.L
변경됨: mixamorig:LeftHand -> Hand.L
변경됨: mixamorig:LeftHandThumb1 -> HandThumb1.L
변경됨: mixamorig:LeftHandThumb2 -> HandThumb2.L
변경됨: mixamorig:LeftHandThumb3 -> HandThumb3.L
변경됨: mixamorig:LeftHandThumb4 -> HandThumb4.L
변경됨: mixamorig:LeftHandIndex1 -> HandIndex1.L
변경됨: mixamorig:LeftHandIndex2 -> HandIndex2.L
변경됨: mixamorig:LeftHandIndex3 -> HandIndex3.L
변경됨: mixamorig:LeftHandIndex4 -> HandIndex4.L
변경됨: mixamorig:LeftHandMiddle1 -> HandMiddle1.L
변경됨: mixamorig:LeftHandMiddle2 -> HandMiddle2.L
변경됨: mixamorig:LeftHandMiddle3 -> HandMiddle3.L
변경됨: mixamorig:LeftHandMiddle4 -> HandMiddle4.L
변경됨: mixamorig:LeftHandRing1 -> HandRing1.L
변경됨: mixamorig:LeftHandRing2 -> HandRing2.L
변경됨: mixamorig:LeftHandRing3 -> HandRing3.L
변경됨: mixamorig:LeftHandRing4 -> HandRing4.L
변경됨: mixamorig:LeftHandPinky1 -> HandPinky1.L
변경됨: mixamorig:LeftHandPinky2 -> HandPinky2.L
변경됨: mixamorig:LeftHandPinky3 -> HandPinky3.L
변경됨: mixamorig:LeftHandPinky4 -> HandPinky4.L
변경됨: mixamorig:RightShoulder -> Shoulder.R
변경됨: mixamorig:RightArm -> Arm.R
변경됨: mixamorig:RightForeArm -> ForeArm.R
변경됨: mixamorig:RightHand -> Hand.R
변경됨: mixamorig:RightHandThumb1 -> HandThumb1.R
변경됨: mixamorig:RightHandThumb2 -> HandThumb2.R
변경됨: mixamorig:RightHandThumb3 -> HandThumb3.R
변경됨: mixamorig:RightHandThumb4 -> HandThumb4.R
변경됨: mixamorig:RightHandIndex1 -> HandIndex1.R
변경됨: mixamorig:RightHandIndex2 -> HandIndex2.R
변경됨: mixamorig:RightHandIndex3 -> HandIndex3.R
변경됨: mixamorig:RightHandIndex4 -> HandIndex4.R
변경됨: mixamorig:RightHandMiddle1 -> HandMiddle1.R
변경됨: mixamorig:RightHandMiddle2 -> HandMiddle2.R
변경됨: mixamorig:RightHandMiddle3 -> HandMiddle3.R
변경됨: mixamorig:RightHandMiddle4 -> HandMiddle4.R
변경됨: mixamorig:RightHandRing1 -> HandRing1.R
변경됨: mixamorig:RightHandRing2 -> HandRing2.R
변경됨: mixamorig:RightHandRing3 -> HandRing3.R
변경됨: mixamorig:RightHandRing4 -> HandRing4.R
변경됨: mixamorig:RightHandPinky1 -> HandPinky1.R
변경됨: mixamorig:RightHandPinky2 -> HandPinky2.R
변경됨: mixamorig:RightHandPinky3 -> HandPinky3.R
변경됨: mixamorig:RightHandPinky4 -> HandPinky4.R
변경됨: mixamorig:LeftUpLeg -> UpLeg.L
변경됨: mixamorig:LeftLeg -> Leg.L
변경됨: mixamorig:LeftFoot -> Foot.L
변경됨: mixamorig:LeftToeBase -> ToeBase.L
변경됨: mixamorig:LeftToe_End -> Toe_End.L
변경됨: mixamorig:RightUpLeg -> UpLeg.R
변경됨: mixamorig:RightLeg -> Leg.R
변경됨: mixamorig:RightFoot -> Foot.R
변경됨: mixamorig:RightToeBase -> ToeBase.R
변경됨: mixamorig:RightToe_End -> Toe_End.R
---------------------------

반응형