PMX VRM 변환 · MMD 모델 · 데스크톱 펫 · 작성자 channing · 업데이트

MMD 모델을 바탕화면 캐릭터로: PMX를 VRM 1.0으로 바꾸는 전 과정

마음에 드는 PMX 모델을 구했는데 쓰려는 앱이 .vrm만 받는다면, 파일 이름을 바꾸는 것으로는 아무것도 해결되지 않습니다. 이 글은 블렌더와 VRM Add-on으로 PMX를 VRM 1.0으로 바꾸는 전 과정을 다룹니다. 뼈대를 VRM Humanoid에 연결하는 단계부터 표정, MToon 재질, SpringBone 물리, 메타 정보 입력, 내보내기, 그리고 Windows의 AniMate에 가져오기까지 순서대로 정리했습니다.

다섯 단계 요약: 블렌더와 VRM Add-on을 설치하고, PMX를 가져오고, MMD 뼈대를 VRM Humanoid에 연결하고, 표정과 MToon 재질, SpringBone 물리를 다시 만든 뒤, VRM 1.0으로 내보내 AniMate에 가져옵니다.
PMX 모델이 블렌더나 Unity를 거쳐 VRM 1.0이 되고, AniMate에 데스크톱 캐릭터로 들어오는 흐름
변환은 파일 확장자를 바꾸는 일이 아닙니다. 뼈대, 표정, 재질, 물리라는 MMD의 각 시스템을 VRM 표준에 맞춰 다시 옮겨야 합니다.

PMX를 VRM으로 바꾸면 무엇이 달라지나

PMX는 MMD(MikuMikuDance) 생태계의 표준 모델 형식입니다. 뼈대와 모프(morph), 재질, 물리가 MMD 애니메이션에 맞춰 조율되어 있어서 춤 영상을 만들 때는 뛰어나지만, 그 밖의 용도에서는 다루기 까다롭습니다. 요즘 캐릭터 앱과 플랫폼은 서로 주고받을 수 있는 아바타 파일을 원합니다.

VRM은 가상 캐릭터를 위해 설계된 공개 3D 형식입니다. VTuber 도구, VRChat류 소셜 플랫폼, 그리고 AniMate 같은 데스크톱 컴패니언 앱이 폭넓게 지원합니다. 한 번 변환해 두면 같은 모델을 여러 곳에서 다시 쓸 수 있습니다.

  • 눈을 깜빡이고, 마우스에 반응하고, 대기 모션을 하고, 춤추면서 창 옆에 머무는 데스크톱 컴패니언으로 쓸 수 있습니다.
  • VTube Studio, Warudo 같은 VTuber 제작 도구에서 쓸 수 있습니다.
  • VR 소셜 플랫폼과 아바타 공유 커뮤니티에 올릴 수 있습니다.
  • VRM 표준을 따르는 다른 앱과 앞으로 나올 도구에서도 그대로 통합니다.

정리하면 PMX는 MMD 파이프라인에 속한 형식이고, VRM은 옮겨 다니도록 만들어진 형식입니다.

한국에서는 시메지나 Desktop Mate, 버튜버 콘텐츠를 먼저 접한 뒤 VRM이라는 이름을 알게 되는 경우가 많습니다. 그다음 단계에서 "내가 이미 가진 MMD 모델을 쓰고 싶다"는 요구가 생기고, 여기서 PMX VRM 변환이 필요해집니다. 데스크톱 펫을 처음 시작한다면 시작하기 가이드를 먼저 읽고, 앱 선택이 고민된다면 Desktop Mate 대안 비교나 시메지 대안 정리를 참고하세요.

변환 경로 두 가지: 블렌더와 Unity

PMX를 VRM으로 옮기는 길은 크게 두 가지입니다. 둘 다 최종 결과물은 같은 VRM이지만, 작업 방식과 난이도가 다릅니다.

경로도구잘 맞는 경우난이도권장
경로 A: 블렌더Blender + VRM Add-on + MMD Tools처음 변환하는 사람, 화면 패널에서 클릭하며 작업하는 방식을 선호하는 사람초보도 가능권장
경로 B: UnityUnity + MMD4Mecanim + UniVRMUnity에 이미 익숙하고 충돌체를 세밀하게 다뤄야 하는 사람중급필요할 때만
3D 도구가 처음이라면 경로 A가 훨씬 완만합니다. 블렌더는 무료 오픈 소스이고, VRM Add-on은 전용 패널을 제공하며, 작업의 대부분은 코드를 쓰는 대신 그 패널을 눌러 가며 진행합니다. 이 글은 경로 A를 기준으로 설명하고, 경로 B가 필요한 지점에서 따로 언급합니다.

PMX를 열기 전에 알아둘 VRM 1.0의 구조

블렌더를 열기 전에 VRM 파일 안에 무엇이 들어 있는지 몇 분만 살펴보세요. 변환 중에 생기는 문제의 대부분은 PMX의 개념을 엉뚱한 VRM 하위 시스템에 밀어 넣을 때 발생합니다. 구조를 알고 있으면 뒤에서 "왜 이 단계를 해야 하지"라는 의문이 사라집니다.

VRM은 glTF 2.0에 확장을 얹은 형식입니다

VRM은 처음부터 새로 발명한 형식이 아닙니다. Khronos Group이 3D 자산 전송을 위해 만든 glTF 2.0 위에 세워졌습니다. .vrm 파일은 사실상 .glb 이진 파일이고, glTF의 확장 필드에 VRM 전용 데이터를 선언합니다.

extensionsUsed: [
  "VRMC_vrm",              // VRM 핵심
  "VRMC_materials_mtoon",  // 애니메/셀 재질
  "VRMC_springBone",       // 스프링 본 물리
  "VRMC_node_constraint",  // 노드 제약
  "KHR_materials_unlit",   // 언릿 보조
  "KHR_texture_transform", // 텍스처 변환 보조
]

이 확장들을 구현한 렌더러라면 glTF 2.0을 지원하는 어떤 앱에서도 VRM을 읽을 수 있습니다. 데스크톱 앱, VTuber 소프트웨어, 소셜 플랫폼에서 같은 파일이 통하는 이유가 바로 이 공통 기반입니다.

VRM을 구성하는 다섯 가지 핵심 요소

하위 시스템필드역할필수
HumanoidhumanoidglTF 노드를 표준 인간형 뼈대로 연결합니다필수
Metameta모델 이름, 제작자, 버전, 라이선스를 담습니다필수
FirstPersonfirstPersonVR 1인칭 시점에서 머리 메시를 보일지 정합니다선택
Expressionsexpressions표정 시스템입니다. VRM 0.x에서는 BlendShape라고 불렀습니다선택
LookAtlookAt목표를 향해 눈을 움직입니다선택
이 구조가 중요한 이유: PMX에서 VRM으로의 변환이란 MMD의 뼈대, 모프, 재질, 물리를 이 다섯 개의 그릇에 옮겨 담는 작업입니다. 뒤에서 갑자기 이해가 안 되는 단계가 나오면, 대부분은 이 다섯 그릇 중 하나를 채우는 중입니다.

VRM이 한 프레임에 계산하는 순서

VRM 명세는 매 프레임마다 하위 시스템을 계산하는 순서를 엄격하게 정해 둡니다. 표정이 깜빡임과 부딪히거나, 이유 없이 스프링 본이 떨린다면 원인은 대개 이 순서에 있습니다.

1. Humanoid 뼈대 계산
   |  (머리 위치가 정해짐)
2. LookAt 계산
   |  (뼈대가 눈을 회전시키거나 표정 가중치를 설정)
3. 표정 갱신
   |  (외부 입력 -> LipSync -> AutoBlink -> LookAt 표정)
4. 표정 적용
   |  (모든 표정 가중치를 모은 뒤 한 번에 적용)
5. 제약(Constraint) 계산
   |  (회전 제약, IK 제약 등)
6. Spring Bone 계산
실제로 체감되는 차이: 변환한 아바타가 말하면서 동시에 눈을 깜빡일 때 얼굴이 이상해지면 Expression Override 설정을 확인하세요. 물리 뼈대가 떨리면 Spring Chain 계층과 충돌체 위치를 확인하세요.

VRM 0.x와 VRM 1.0의 차이

항목VRM 0.xVRM 1.0
표정 이름 체계BlendShapeExpression
표정 가중치 범위0~1000~1
감정 이름joy, sorrow, funhappy, sad, relaxed
놀람 표정없음surprised
표정 바인딩대부분 MorphTargetMorphTargetBind + MaterialColorBind + TextureTransformBind
충돌 처리정의되지 않음block / blend 모드를 갖춘 Override 시스템
확장 접두사일관되지 않음VRMC_
chest 뼈대필수선택
neck 뼈대필수선택
권장: 데스크톱 컴패니언과 그 밖의 새 용도에는 VRM 1.0으로 내보내세요. Expression Override 시스템이 입 모양, 깜빡임, 감정 표정이 동시에 걸릴 때 흔히 생기는 얼굴 뭉개짐을 막아 줍니다. VRM 0.x는 아직 그 형식만 받는 구형 플랫폼을 위해 남겨 두세요.

공식 자료

자료주소용도
VRM 공식 사이트vrm.dev형식 개요, 도구, 사례 소개
VRM 명세 저장소github.com/vrm-c/vrm-specificationJSON 스키마와 문서를 포함한 전체 기술 명세
UniVRMgithub.com/vrm-c/UniVRMUnity용 가져오기/내보내기 구현
VRM Add-on for Blendergithub.com/saturday06/VRM-Addon-for-Blender블렌더용 가져오기/내보내기 부가 기능

1단계: 블렌더와 부가 기능 설치하기

먼저 도구를 준비합니다. 블렌더 본체, VRM 내보내기를 담당하는 부가 기능, PMX를 읽어 오는 부가 기능까지 세 가지가 기본입니다.

도구버전받는 곳
Blender3.6 이상, 가능하면 4.2 이상blender.org
VRM Add-on for Blender최신 버전GitHub
MMD Tools최신 버전블렌더 부가 기능 관리자에서 설치
CATS Blender Plugin선택 사항GitHub 또는 블렌더 확장에서 검색

VRM Add-on for Blender 설치하기

  1. 블렌더를 실행하고 Edit → Preferences로 들어갑니다.
  2. Add-ons 탭을 열고 오른쪽 위의 Install...을 누릅니다.
  3. 내려받은 VRM Add-on .zip 파일을 고르고 Install Add-on을 누릅니다.
  4. 목록에서 VRM을 찾아 활성화합니다.
블렌더 4.5 이상: VRM Add-on은 블렌더 확장 플랫폼(Extensions)에서 바로 설치할 수 있으므로 zip 파일을 직접 내려받지 않아도 되는 경우가 있습니다.

PMX 가져오기를 위한 mmd_tools 설치하기

  1. Preferences → Add-ons → Install에서 mmd_tools .zip을 선택합니다.
  2. 부가 기능을 설치하고 활성화합니다.
  3. 블렌더의 File → Import 메뉴에 MikuMikuDance Model (.pmx/.pmd) 항목이 나타납니다.

설치가 끝났다면 블렌더를 한 번 다시 시작해 두는 편이 안전합니다. 부가 기능 목록에서 VRM과 mmd_tools가 모두 체크되어 있는지, Import 메뉴에 PMX 항목이 보이는지까지만 확인하면 준비는 끝입니다.

2단계: PMX 모델 가져오기

  1. File → Import → MikuMikuDance Model (.pmx/.pmd)를 실행합니다.
  2. 파일 탐색기에서 내 .pmx 파일을 고릅니다.
  3. 결과를 확인합니다. 메시가 모두 들어왔는지, 텍스처가 제대로 붙었는지, 아마추어에 예상한 뼈대가 있는지 봅니다.
텍스처가 안 보인다면: 모델이 단색으로 밋밋하거나 검게 보이면 텍스처 파일이 PMX와 같은 폴더에 있는지 확인하세요. 일본 쪽 배포처에서 받은 압축 파일이라면 7-Zip이나 반디집으로 풀되, 압축 파일 인코딩을 일본어 Shift-JIS로 지정해야 일본어 파일 이름이 깨지지 않습니다.

경로와 파일 이름은 가능하면 영문으로 유지하는 편이 안전합니다. 변환 중간에 파일을 옮기거나 이름을 바꾸면 블렌더가 텍스처를 다시 찾지 못하는 경우가 있으므로, 작업 폴더를 하나 정해 그 안에서 끝내는 습관이 좋습니다.

3단계: MMD 뼈대를 VRM Humanoid에 연결하기

PMX와 VRM은 뼈대 체계가 서로 다릅니다. VRM은 표준화된 Humanoid 뼈대를 요구하므로, 이 단계에서 PMX의 아마추어를 VRM 뼈 이름에 맞춰 연결합니다. 변환 전체에서 가장 중요한 부분입니다. 필수 뼈대가 비어 있으면 내보내기 자체가 막히고, 설령 내보내더라도 나중에 애니메이션이 어긋납니다.

자동 매핑으로 시작하기

  1. 모델의 Armature를 선택합니다.
  2. 오른쪽 속성 패널에서 VRM 탭을 엽니다.
  3. Create VRM Model을 누르고 자동 매핑 결과를 기다립니다.
  4. Humanoid 섹션을 열어 결과를 하나씩 확인합니다.

MMD 뼈 이름 대응표

아래 표는 MMD에서 흔히 쓰는 뼈 이름과 VRM Humanoid 뼈의 대응 관계입니다. 굵게 표시한 항목은 VRM 1.0에서 필수이고, 나머지는 선택이지만 자연스러운 애니메이션을 위해 지정해 두는 편이 좋습니다.

몸통과 머리

MMD 뼈 이름(일본어)신체 부위VRM 뼈VRM 1.0 필수?
全ての親루트 / hips 기준Hips필수
上半身상체Spine필수
上半身2가슴Chest아니요
上半身3상부 가슴UpperChest아니요
首목Neck아니요
頭머리Head필수
左目 / 右目왼쪽 / 오른쪽 눈LeftEye / RightEye아니요
あご턱Jaw아니요

다리

MMD 뼈 이름(일본어)신체 부위VRM 뼈VRM 1.0 필수?
左足왼쪽 허벅지LeftUpperLeg필수
左ひざ왼쪽 종아리LeftLowerLeg필수
左足首왼쪽 발LeftFoot필수
左つま先왼쪽 발끝LeftToes아니요
右足오른쪽 허벅지RightUpperLeg필수
右ひざ오른쪽 종아리RightLowerLeg필수
右足首오른쪽 발RightFoot필수
右つま先오른쪽 발끝RightToes아니요

팔

MMD 뼈 이름(일본어)신체 부위VRM 뼈VRM 1.0 필수?
左肩왼쪽 어깨LeftShoulder아니요
左腕왼쪽 상완LeftUpperArm필수
左ひじ왼쪽 전완LeftLowerArm필수
左手首왼쪽 손LeftHand필수
右肩오른쪽 어깨RightShoulder아니요
右腕오른쪽 상완RightUpperArm필수
右ひじ오른쪽 전완RightLowerArm필수
右手首오른쪽 손RightHand필수

손가락: 선택이지만 지정할 가치가 있습니다

MMD의 손가락 뼈는 보통 指0부터 指3까지의 이름을 씁니다. VRM 1.0은 손가락 뼈대 전체를 정의해 두었습니다. 기본적인 데스크톱 사용에는 손가락이 필수가 아니지만, 물건을 잡거나 가리키는 동작, 손 제스처는 손가락에 의존합니다.

VRM 손가락 뼈설명
LeftThumbMetacarpal엄지 중수골
LeftThumbProximal엄지 첫마디
LeftThumbDistal엄지 끝마디
LeftIndexProximal → Distal검지 사슬
LeftMiddleProximal → Distal중지 사슬
LeftRingProximal → Distal약지 사슬
LeftLittleProximal → Distal새끼손가락 사슬

오른손도 같은 규칙입니다. Left를 Right로 바꿔서 지정하면 됩니다.

MMD 뼈 이름을 VRM Humanoid 뼈에 대응시킨 표
그림에서 굵게 표시된 뼈가 내보내기에 필수인 항목이고, 회색은 선택 항목입니다. 자동 매핑이 실패하면 가중치가 IK 뼈가 아니라 회전 뼈에 붙어 있는지 확인하세요.

VRM 1.0 Humanoid 계층 구조

Humanoid 뼈는 각각 부모 관계가 정해져 있습니다. 중간에 있는 뼈가 비어 있으면 계층은 조부모로 건너뜁니다. 매핑이 실패할 때 참고할 지도가 바로 이 나무 구조입니다.

root(Humanoid가 아닌 노드, 원점)
+-- hips
    |-- spine
    |   +-- (chest)
    |       +-- (upperChest)
    |           |-- (neck)
    |           |   +-- head
    |           |       |-- (leftEye)
    |           |       |-- (rightEye)
    |           |       +-- (jaw)
    |           |-- (leftShoulder)
    |           |   +-- leftUpperArm
    |           |       +-- leftLowerArm
    |           |           +-- leftHand
    |           +-- (rightShoulder)
    |               +-- rightUpperArm
    |                   +-- rightLowerArm
    |                       +-- rightHand
    |-- leftUpperLeg
    |   +-- leftLowerLeg
    |       +-- leftFoot
    |           +-- (leftToes)
    +-- rightUpperLeg
        +-- rightLowerLeg
            +-- rightFoot
                +-- (rightToes)
명세 참고: 보통은 hips만 이동하고 나머지 Humanoid 뼈대는 회전합니다. Humanoid 뼈 사이에 Humanoid가 아닌 중간 노드가 있어도 되고, 뼈대의 스케일 값은 양수여야 합니다.
PMX에서 흔한 문제: MMD 다리 가중치가 IK 뼈가 아니라 D본(변형 뼈)에 붙어 있는 경우가 있습니다. VRM은 회전 뼈를 기준으로 하므로, 모델이 IK 뼈를 쓴다면 내보내기 전에 가중치가 대응하는 회전 뼈에 들어가 있는지 확인하세요.

자동 매핑이 실패할 때

  • 아마추어를 선택한 상태에서 부가 기능의 Auto Map을 다시 실행합니다.
  • 비어 있는 뼈는 Humanoid 패널에서 직접 지정합니다.
  • PMX가 표준 MMD 뼈 이름을 쓰는지 확인합니다. 일본어 이름이 정확히 일치해야 자동 매핑이 동작합니다.

필수 뼈대 여섯 개(양쪽 다리의 UpperLeg, LowerLeg, Foot)와 Hips, Spine, Head가 모두 채워졌는지 마지막에 다시 확인하세요. 이 목록만 통과하면 데스크톱에서 걷기, 서기, 손 흔들기 같은 기본 동작은 대체로 정상으로 나옵니다.

4단계: 표정(Expression) 만들기

VRM 캐릭터가 눈을 깜빡이고, 말하고, 감정을 보여 주려면 표준 표정이 필요합니다. VRM 0.x는 이 시스템을 BlendShape라고 부르고, VRM 1.0은 Expression이라고 부릅니다. 개념은 같지만 VRM 1.0이 더 많은 것을 할 수 있습니다.

감정 표정

VRM 1.0 이름VRM 0.x 이름흔한 MMD 모프의미
happyjoy笑い웃는 얼굴 / 기쁨
angryangry怒り화남
sadsorrow困る슬픔
relaxedfunにっこり편안함
surprised0.x에는 없음びっくり놀람(VRM 1.0)

립싱크

VRM 1.0 이름VRM 0.x 이름흔한 MMD 모프모음
aaaあa
ihiいi
ouuうu
eeeえe
ohoおo

깜빡임

VRM 1.0 이름VRM 0.x 이름흔한 MMD 모프의미
blinkblinkまばたき양쪽 눈 깜빡임
blinkLeft—左まばたき왼쪽 눈만 (1.0)
blinkRight—右まばたき오른쪽 눈만 (1.0)

시선 표정

VRM 1.0 이름의미
lookUp위를 봄
lookDown아래를 봄
lookLeft왼쪽을 봄
lookRight오른쪽을 봄
시선 표정과 눈 뼈대의 차이: VRM LookAt에는 두 가지 모드가 있습니다. Bone 모드는 leftEye / rightEye를 회전시키고, Expression 모드는 네 가지 시선 표정을 정점이나 텍스처 오프셋으로 움직입니다. MMD 모델은 눈을 텍스처로 그리는 경우가 많아 Expression 모드를 쓰는 편이 자연스럽습니다.

블렌더에서 표정 설정하기

  1. VRM 패널에서 BlendShape Master(VRM 0.x) 또는 Expressions(VRM 1.0)를 엽니다.
  2. 표정 그룹을 하나씩 추가하면서 각 MMD 모프를 표준 VRM 표정에 연결합니다.

VRM 1.0 표정 바인딩 종류

바인딩 종류효과주로 쓰는 곳
MorphTargetBind메시의 MorphTarget을 구동합니다깜빡임, 입 벌리기, 미소 등 정점 변형
MaterialColorBind재질 색을 바꿉니다볼터치, 눈동자 색 변화
TextureTransformBind텍스처 UV를 이동하거나 확대합니다눈 텍스처를 굴려 시선 방향 표현

VRM 1.0에서는 표정 하나에 여러 바인딩을 함께 넣을 수 있습니다. 예를 들어 볼터치 표정에 "볼을 살짝 부풀리는 MorphTarget"과 "볼 재질을 붉게 바꾸는 MaterialColorBind"를 동시에 담을 수 있습니다.

VRM 1.0의 Expression Override

앱이 표정을 여러 개 동시에 걸 때, 예를 들어 자동 깜빡임이 켜진 상태에서 말을 하면 얼굴이 뭉개질 수 있습니다. Override 시스템은 이 상황을 세 가지 방식으로 다룹니다.

Override 모드동작쓰는 곳
none아무것도 개입하지 않습니다기본값
block이 표정이 켜져 있는 동안 대상 프로그램 표정을 0으로 강제합니다웃는 동안 깜빡임을 막는 식의 확실한 차단
blend이 표정이 0에서 1로 갈수록 대상 표정을 서서히 줄입니다자연스러운 전환, 권장

표정마다 overrideMouth, overrideBlink, overrideLookAt을 따로 지정할 수 있습니다.

좋은 기본값: VRM 1.0으로 내보낼 때 happy, angry, sad에 overrideBlink = "blend"와 overrideMouth = "blend"를 지정하세요. 캐릭터가 웃으면서 깜빡일 때 눈꺼풀이 얼굴을 뚫고 나오는 문제를 막아 줍니다.
MMD 모프에서 VRM 표준 표정으로 옮기는 대응 관계
감정, 립싱크, 깜빡임, 시선 표정이 MMD 모프에 대응합니다. VRM 1.0은 동시에 걸리는 표정을 Override로 조율합니다.

표정 일괄 매핑 스크립트(선택)

PMX 메시가 하나로 합쳐져 있고 모프가 많다면 짧은 Python 스크립트가 매핑 시간을 줄여 줍니다. 아래 예시는 VRM 0.x BlendShape 그룹용입니다.

import bpy

# 메시를 선택한 상태에서 실행하세요.
# 흔한 MMD 모프 이름을 VRM 0.x BlendShape 이름에 연결합니다.

Proxy = {
    "blink": "まばたき",
    "a": "あ",
    "i": "い",
    "u": "う",
    "e": "え",
    "o": "お",
    "joy": "笑い",
    "angry": "怒り",
    "sorrow": "困る",
}

for name, morph_name in Proxy.items():
    bpy.ops.vrm.add_vrm0_blend_shape_group(
        armature_object_name=bpy.context.active_object.name,
        name=name
    )
    # 실제 모프 연결은 VRM Add-on 화면에서 하거나 이 스크립트를 확장하세요.
VRM 1.0 참고: VRM 1.0에서는 happy / sad / relaxed를 쓰고 surprised를 추가하세요. MorphTarget 가중치는 VRM 0.x의 0~100이 아니라 0~1입니다.

5단계: 시선(LookAt) 설정

LookAt은 캐릭터의 눈이 목표를 따라가게 만듭니다. 데스크톱에서는 중요합니다. 마우스 커서 쪽을 자연스럽게 바라보는 캐릭터와 그렇지 않은 캐릭터는 체감 차이가 큽니다.

모드구현 방식어울리는 모델
BoneleftEye, rightEye 뼈대를 회전시킵니다눈 뼈대가 따로 있는 모델
ExpressionlookUp / lookDown / lookLeft / lookRight를 구동합니다눈을 텍스처로 그린 모델, MMD 모델에 흔함
어느 모드를 써야 할지 판단하는 방법: 블렌더에서 左目, 右目 이름의 뼈대를 찾아보세요. 눈 뼈대가 따로 있으면 Bone 모드, 눈이 얼굴 메시의 일부이고 텍스처로 그려진다면 Expression 모드입니다. MMD 모델은 대부분 후자입니다.

LookAt 공간과 오프셋

LookAt은 head 뼈대에 매달린 LookAt Space를 사용합니다. offsetFromHeadBone이 눈의 기준점을 정하며, 보통 두 눈 사이에 둡니다.

LookAt Space
|-- 부모: head 뼈대 (머리와 함께 움직임)
|-- 원점 오프셋: offsetFromHeadBone (예: [0, 0.06, 0])
+-- 회전: head 뼈대의 모델 공간 정적 회전의 역회전

RangeMap: 눈이 얼마나 돌아갈지 정하기

RangeMap 속성의미
rangeMapHorizontalInner코 쪽으로 향하는 안쪽 수평 회전
rangeMapHorizontalOuter귀 쪽으로 향하는 바깥쪽 수평 회전
rangeMapVerticalDown아래로 향하는 수직 회전
rangeMapVerticalUp위로 향하는 수직 회전

RangeMap마다 inputMaxValue와 outputScale이 있습니다. inputMaxValue를 작게 잡으면 같은 목표 각도에서 눈이 더 크게 돌아가고, outputScale은 Bone 모드에서는 뼈대 회전 각도, Expression 모드에서는 0~1 사이의 표정 가중치입니다.

boneRotation = min(|angle|, inputMaxValue) / inputMaxValue x outputScale
조정 요령: 변환 후 눈이 거의 움직이지 않으면 inputMaxValue를 90에서 45로 줄이거나 outputScale을 키우세요. 반대로 너무 많이 움직이면 반대 방향으로 조정합니다.
참고: VRM LookAt은 양쪽 눈이 같은 방향을 본다고 가정합니다. Bone 모드에서는 왼쪽과 오른쪽 눈의 안쪽/바깥쪽 RangeMap이 서로 뒤집혀 적용됩니다.

6단계: MToon 재질로 바꾸기

PMX와 VRM은 재질 시스템이 다릅니다. VRM은 VRMC_materials_mtoon 확장으로 정의된 애니메/셀 셰이더인 MToon을 권장합니다. MToon은 Lambert식 조명에 두 가지 색(밝은 면과 그림자 면), 조절 가능한 툰 경계, 림 라이트, 외곽선 렌더링을 얹어 애니 캐릭터의 손그림 느낌을 유지합니다. MMD 모델을 데스크톱에 올렸을 때 "왜 이렇게 밋밋하지"라는 느낌이 든다면, 대개 이 단계를 건너뛴 결과입니다.

  1. 모델 메시를 선택합니다.
  2. Material Properties를 열고 재질을 하나씩 처리합니다.
  3. 셰이더를 MMD 재질에서 MToon으로 바꿉니다.

알파 모드와 투명 처리

속성의미권장
Alpha ModeOPAQUE, MASK, BLEND피부는 OPAQUE, 머리카락 경계는 MASK, 레이스는 BLEND
transparentWithZWriteBLEND를 그리면서 깊이 값을 기록합니다반투명 물체의 정렬이 필요할 때 켭니다
renderQueueOffsetNumberBLEND용 렌더 큐 오프셋투명 물체끼리 가리는 문제를 고칩니다

렌더 큐 순서는 OPAQUE > MASK > BLEND + ZWrite > BLEND입니다.

밝은 색과 그림자 색

속성의미권장
Lit Color (baseColorFactor)빛을 받는 면의 색과 텍스처원본 PMX 기본 텍스처를 사용
Shade Color (shadeColorFactor)그림자 면의 색과 텍스처순수한 검정 대신 원본 텍스처나 어둡게 조정한 색을 사용

전통적인 Lambert 모델은 그림자 쪽이 검게 죽습니다. MToon은 그림자에 색을 지정할 수 있고, 셀 느낌을 만드는 핵심이 바로 여기에 있습니다.

툰 경계 조절

속성기본값의미
shadingToonyFactor0.9밝은 면과 그림자 경계의 선명도. 1에 가까우면 딱 떨어지는 셀 경계, 0에 가까우면 부드러운 그라데이션
shadingShiftFactor0.0경계 위치를 이동합니다. 양수면 밝은 면이 넓어집니다
shadingShiftTexture—R 채널이 영역별 경계 위치를 조절합니다
shadingShiftTexture.scale1.0텍스처가 경계에 미치는 영향의 세기
shading = dot(N, L) + shadingShiftFactor + textureContribution x scale
shading = linearstep(-1.0 + shadingToonyFactor, 1.0 - shadingToonyFactor, shading)
color = lerp(shadeColor, litColor, shading) x lightColor

대부분의 애니 모델에서는 shadingToonyFactor를 0.8에서 1.0 사이로 두면 좋습니다.

림 라이팅

구성 요소속성의미
MatCapmatcapFactor + matcapTexture뷰 공간 노멀로 텍스처를 샘플링해 고정된 하이라이트를 만듭니다
Parametric RimparametricRimColorFactor, parametricRimFresnelPowerFactor(기본 5.0), parametricRimLiftFactor(기본 0.0)프레넬 기반으로 계산되는 절차적 림 라이트
Rim MaskrimMultiplyTexture림 라이트가 나타날 영역을 마스킹합니다
Lighting MixrimLightingMixFactor(기본 1.0)0이면 장면 조명을 무시하고, 1이면 완전히 조명을 받습니다
rimShape = pow(saturate(1.0 - dot(N, V) + rimLiftFactor), fresnelPowerFactor)
rim = rimShape x parametricRimColorFactor

머리카락에는 연한 파랑이나 보라 계열의 Parametric Rim을 추가하고 프레넬 파워를 3~5 정도로 두면 역광이 비치는 듯한 부드러운 가장자리가 생깁니다.

외곽선

속성의미
outlineWidthModenone, worldCoordinates, screenCoordinates 중 하나
outlineWidthFactor외곽선 두께. 월드 모드는 미터, 스크린 모드는 화면 높이 비율
outlineWidthMultiplyTextureG 채널이 영역별 두께를 마스킹합니다
outlineColorFactor외곽선 색
outlineLightingMixFactor0이면 단색 외곽선, 1이면 외곽선 색에 표면 조명을 곱합니다

MToon은 앞면 컬링을 켠 별도 패스로 외곽선을 그립니다. 정점을 노멀 방향으로 밀어내고 뒷면을 그리는 방식입니다. 외곽선은 doubleSided 설정과 무관하게 항상 앞면 컬링을 사용합니다.

재질 문제 해결: 투명 재질은 MASK나 BLEND로 지정하고, 재질이 이상하게 보이면 우선 MASK로 시험해 보세요. MMD 특유의 툰 느낌은 shadingToonyFactor로 맞춥니다. MToon은 정점 색(vertex color)을 무시하므로 텍스처나 재질 설정으로 보완해야 합니다.
MToon의 밝은 색, 그림자 색, 림 라이트, 외곽선 설정
MToon은 검은 그림자를 밝은 면/그림자 면 한 쌍으로 바꾸고, 림 라이트와 외곽선으로 애니 실루엣을 살립니다.

UV 애니메이션

속성기본값의미
uvAnimationScrollXSpeedFactor0.0X축 UV 스크롤 속도(초당 UV 단위)
uvAnimationScrollYSpeedFactor0.0Y축 UV 스크롤 속도
uvAnimationRotationSpeedFactor0.00.5, 0.5를 중심으로 한 UV 회전 속도(초당 라디안)
uvAnimationMaskTexture—B 채널 애니메이션 마스크

흔한 용도는 눈이나 화면 텍스처를 흘려서 깜빡이는 디스플레이 효과를 만드는 것입니다. 변환 순서는 UV 중심을 기준으로 한 회전이 먼저, 그다음 이동입니다.

텍스처 채널 패킹

채널텍스처
RshadingShiftTexture
GoutlineWidthMultiplyTexture
BuvAnimationMaskTexture
효율 팁: 재질이 많은 모델은 스크립트로 한꺼번에 변환하고, 모든 재질을 shadingToonyFactor = 0.9에서 시작한 뒤 필요한 곳만 세밀하게 조정하세요.

7단계: SpringBone 물리 설정

VRM은 머리카락, 옷, 장식, 꼬리를 시뮬레이션할 때 Spring Bone을 씁니다. PMX 모델에는 MMD 물리 데이터가 들어 있는 경우가 많지만, 그대로 옮겨지지 않고 VRM Spring Chain으로 다시 만들어야 합니다.

대상예
머리카락머리카락 가닥의 뼈대 사슬
가슴해당되는 모델의 가슴 물리
의상치마, 망토, 리본, 긴 소매
장식리본, 꼬리, 떠 있는 소품

Spring Chain 구조

VRM Spring Bone은 물리를 SpringChain 단위로 정리하고, 각 체인은 순서가 있는 조인트를 담습니다. a-b-c-d 체인이라면 실행 시점에 세 쌍의 머리-꼬리가 만들어집니다.

머리 (회전)      꼬리 (위치 + 충돌)
   a     ->      b
   b     ->      c
   c     ->      d
  • 머리 노드의 회전은 꼬리 노드의 변위로부터 계산됩니다.
  • 마지막 조인트는 꼬리 역할만 하므로 자기 매개변수는 무시됩니다.
  • 마지막 구간까지 흔들리게 하려면 끝에 빈 뼈대를 하나 추가합니다.
규칙: joints[n]은 joints[n+1]의 부모나 조상이어야 합니다. 하나의 조인트가 여러 SpringChain에 속할 수 없고, 갈라지는 체인은 실행 순서가 정의되지 않으므로 각각 별도의 SpringChain으로 만들어야 합니다.

Spring Bone 조인트 매개변수

매개변수형식의미조정
hitRadiusfloat(미터)조인트의 충돌 반지름보통 뼈 길이의 작은 비율, 예를 들어 0.02~0.05
stiffnessfloat(0 이상)기본 자세로 되돌리려는 힘낮으면 부드럽고, 높으면 뻣뻣합니다
gravityPowerfloat매 프레임 적용되는 중력높으면 더 처지고, 0이면 중력이 꺼집니다
gravityDirfloat[3]중력 방향보통 [0, -1, 0]
dragForcefloat(0~1)감쇠 / 관성 소멸낮으면 계속 흔들리고, 높으면 곧 멈춥니다
버전 차이: VRM 0.x는 체인 끝에 종단 SpringJoint가 없으면 약 7cm 위치에 자동으로 하나를 추가합니다. VRM 1.0은 그렇게 하지 않으므로 빈 끝 뼈대를 직접 넣어야 합니다.

Verlet 적분 알고리즘

Spring Bone은 매 프레임 세 단계를 실행합니다.

1단계: 관성
inertia = (currentTail - prevTail) x (1.0 - dragForce)
spring = deltaTime x parentWorldRotation x initialLocalRotation x boneAxis x stiffness
gravity = deltaTime x gravityDir x gravityPower
nextTail = currentTail + inertia + spring + gravity
nextTail = worldPosition + (nextTail - worldPosition).normalized x boneLength

2단계: 충돌
현재 SpringChain에 지정된 각 충돌체에 대해:
  조인트 꼬리까지의 거리가 0보다 작으면 꼬리를 밀어냅니다
  그리고 뼈 길이 제약을 다시 적용합니다.

3단계: 회전 적용
prevTail = currentTail
currentTail = nextTail
to = (nextTail x inverse(parentWorldMatrix x initialLocalMatrix)).normalized
node.rotation = initialLocalRotation x fromToQuaternion(boneAxis, to)
이 차이가 중요한 이유: Spring Bone은 단순화된 입자-스프링 시스템이고 강체 물리가 아닙니다. 충돌체를 밀어내기만 하고 튕김을 시뮬레이션하지 않으며, 공기 저항 대신 dragForce를 씁니다. 그래서 복잡한 치마는 MMD의 Bullet 물리보다 가볍게 느껴질 수 있습니다.

충돌체

충돌체 종류매개변수쓰는 곳
Sphereoffset, radius머리, 가슴, 손
Capsuleoffset, radius, tail몸통, 허벅지, 팔
Sphere 충돌:
distance = |nextTail - colliderOffset| - colliderRadius - jointRadius
  if distance < 0:
    pushDirection = (nextTail - colliderOffset).normalized
    nextTail += pushDirection x |distance|

Capsule 충돌:
조인트 위치를 캡슐 축에 투영한 뒤, 구 충돌로 계산합니다.
대표 구성: 머리에 구 충돌체를 두어 머리카락이 얼굴을 뚫지 않게 하고, 몸통에 캡슐을 두어 치마를 받치고, 손에 구를 두어 소매를 처리합니다.

Center Space(기준 공간)

Spring Bone은 기본적으로 월드 공간에서 계산됩니다. VRM 1.0은 center 노드를 기준 공간으로 지원하며, 관성은 center 공간에서 계산되고 중력은 월드 공간에 남습니다. 캐릭터가 움직일 때 머리카락이 지나치게 휘날리면 center를 head 뼈대로 지정해 머리 움직임에 주로 반응하게 만들 수 있습니다.

블렌더에서 Spring Bone 추가하기

  1. Armature를 선택합니다.
  2. VRM 패널에서 Spring Bone 영역을 엽니다.
  3. Spring Bone Group을 추가합니다. 이 그룹이 SpringChain 하나가 됩니다.
  4. 체인의 Root Bones를 지정합니다.
  5. stiffness, gravityPower, dragForce를 조정합니다.
  6. 필요하면 충돌 뼈대와 모양을 담은 Collider Group을 추가합니다.

Unity에서 Spring Bone 다루기(고급)

물리를 더 정밀하게 잡고 싶다면 기본 변환은 블렌더에서 끝내고, VRM을 Unity로 가져가 UniVRM으로 Spring Bone을 설정하는 방법이 있습니다. UniVRM의 시각적 충돌체 편집기가 미세 조정에 편합니다.

매개변수Unity 컴포넌트의미
stiffnessVRM10SpringBoneJoint.m_stiffnessForce뻣뻣함
dragForceVRM10SpringBoneJoint.m_dragForce감쇠
gravityPowerVRM10SpringBoneJoint.m_gravityPower중력 세기
hitRadiusVRM10SpringBoneJoint.m_hitRadius충돌 반지름
ColliderVRM10SpringBoneColliderSphere / Capsule 충돌체

Unity를 쓴다면 VrmSpringBoneTool도 시도해 볼 만합니다. Spring Bone 설정을 단순화하고 VRM 0.x에서 1.0으로의 이전도 지원합니다.

Spring Bone 체인, 충돌체, 물리 매개변수
Spring Bone은 몇 개의 매개변수로 머리카락과 치마 움직임을 만듭니다. 머리의 구 충돌체와 몸통의 캡슐 충돌체가 데스크톱 컴패니언에서 가장 흔한 구성입니다.

8단계: 메타 정보 입력하고 VRM으로 내보내기

VRM 패널의 Meta 영역을 열고 모델 정보(VRMC_vrm.meta)를 채웁니다. 이 단계는 형식적인 절차가 아닙니다. 나중에 이 파일을 받은 사람이나 앱이 이용 조건을 판단하는 근거가 됩니다.

필드의미예
Name / Title모델 이름내 교복 아바타
Author제작자 이름본인 이름 또는 원본 모델 제작자
Version버전 번호1.0
Description모델 설명MMD PMX에서 변환, VRM 1.0 데스크톱 컴패니언 용도로 최적화
License이용 라이선스모델 readme를 읽고 선택
Avatar Permission다른 사람의 아바타로 쓰는 것을 허용할지특정 조건만 허용 / 허용 / 금지
Allow Excessively Violent Usage과도한 폭력적 장면 허용허용 / 금지
Allow Excessively Sexual Usage과도한 성적 장면 허용허용 / 금지
Commercial Usage상업적 이용 라이선스허용 / 금지
Third Party Licenses제3자 라이선스 표기원본 모델 제작자의 조건을 함께 기재

VRM 라이선스 플래그

라이선스의미
Redistribution재배포를 허용합니다
Modification개조를 허용합니다
Credit출처 표기를 요구합니다
원본 라이선스를 존중하세요: 다른 사람의 MMD 모델을 변환한다면 내보내기 전에 함께 들어 있는 readme를 읽으세요. 대부분의 MMD 모델은 상업적 이용과 재배포를 금지하고 있으며, 개조, 스트리밍, 상업 이용은 별도로 확인해야 합니다. 변환본을 공개할 계획이라면 원본 조건을 그대로 옮겨 적는 편이 안전합니다.

내보내기 전 확인

  1. 모델이 T-Pose인지 확인합니다. 팔을 벌리고 손바닥이 아래를 향한 자세입니다. VRM Humanoid는 T-Pose를 기준 자세로 쓰므로 다른 자세로 내보내면 가져온 뒤 애니메이션이 크게 어긋납니다.
  2. 내보낼 버전을 고릅니다. 데스크톱 컴패니언과 새 플랫폼은 VRM 1.0, 구형 호환이 필요하면 VRM 0.x입니다.
  3. File → Export → VRM (.vrm)을 실행합니다.
  4. 저장 경로를 정하고 내보내기 설정을 확인한 뒤 마칩니다.

내보내기 직전에 파일 크기도 한 번 확인해 두세요. 재질 수와 텍스처 해상도가 큰 모델은 파일이 무거워지고, 데스크톱에 항상 띄워 두는 용도에서는 부담이 됩니다.

마지막 단계: 변환한 VRM을 AniMate에 가져오기

.vrm을 내보냈다고 해서 캐릭터가 완성된 것은 아닙니다. AniMate에 가져오기 전에 아래 목록을 빠르게 확인하세요.

  • 뼈대: 필수 Humanoid 뼈대가 모두 연결되어 있고 팔, 다리, 머리에 자동 매핑 누락이 없습니다.
  • 표정: 깜빡임, 립싱크, 감정 표정이 있고 필요한 곳에 VRM 1.0 Override가 blend로 설정되어 있습니다.
  • 재질: 투명 재질이 검게 나오지 않고 MToon 경계가 의도한 대로 보입니다.
  • 물리: 머리카락과 치마가 눈에 띄게 뚫리지 않고, 충돌체가 머리와 몸통을 덮고 있습니다.
  • 라이선스: Meta 필드가 원본 readme와 일치합니다.

AniMate에서는 바탕화면의 캐릭터를 마우스 오른쪽 버튼으로 눌러 Workshop을 열고 Add Character를 골라 내보낸 .vrm을 선택합니다. 모델이 올라오면 크기와 위치, 마우스 상호작용을 조정하고, Workshop에서 모션과 춤, 스테이지를 더합니다. AniMate는 VRM 0.x와 VRM 1.0을 모두 직접 가져오며, 캐릭터와 모션, 춤, 음악 반응 자산을 한 라이브러리에서 관리합니다.

가져온 뒤에는 아바타 목록 관리로 정리하고, 모델 정보 확인과 바탕화면 상호작용 설정을 차례로 살펴보세요. 캐릭터를 움직이게 하고 싶다면 춤 추가하기와 스테이지 추가하기로 이어가면 됩니다. 모델 가져오기 흐름만 다시 보고 싶다면 VRM 모델 가져오기를 참고하세요.

목표: 애니메이션 소프트웨어 안에서만 돌아가던 MMD 모델을, 눈을 깜빡이고 마우스를 따라보고, 작업 옆에서 대기하고, 원할 때 춤추는 바탕화면 캐릭터로 바꾸는 것입니다. 처음에는 AniMate의 내장 모델로 앱에 익숙해진 다음, 변환한 VRM을 가져오세요.

변환 후 자주 생기는 문제와 해결

PMX에서 VRM으로 넘어올 때 걸리는 지점은 어느 정도 정해져 있습니다. 증상별로 확인할 곳을 정리했습니다.

증상원인해결
모델이 단색으로 보이거나 검게 나옵니다텍스처를 찾지 못했습니다텍스처를 PMX와 같은 폴더에 두고, 압축 해제 인코딩을 Shift-JIS로 지정합니다
팔과 다리가 구부러지지 않습니다필수 Humanoid 뼈대가 비었거나 가중치가 IK 뼈에 붙었습니다Humanoid 패널에서 비어 있는 뼈를 지정하고, 가중치를 회전 뼈로 옮깁니다
내보내기 버튼이 막힙니다필수 뼈대가 채워지지 않았습니다Hips, Spine, Head와 양쪽 다리 여섯 뼈를 먼저 채웁니다
웃을 때 눈꺼풀이 얼굴을 뚫습니다표정이 동시에 겹칩니다VRM 1.0 Override에서 overrideBlink와 overrideMouth를 blend로 둡니다
그림자 쪽이 새까맣습니다Lambert식 재질이 그대로 남았습니다MToon으로 바꾸고 Shade Color를 어두운 색으로 지정합니다
머리카락과 치마가 심하게 떨립니다체인 계층이나 충돌체 설정이 맞지 않습니다SpringChain 부모 관계를 확인하고 stiffness, gravityPower, dragForce를 조정합니다
가져온 뒤 자세가 크게 어긋납니다T-Pose가 아닌 자세로 내보냈습니다팔을 벌린 T-Pose로 되돌려 다시 내보냅니다
끝부분만 흔들리지 않습니다VRM 1.0에는 종단 조인트 자동 추가가 없습니다체인 끝에 빈 뼈대를 하나 추가합니다

성능도 함께 봐 두세요. 항상 켜 두는 데스크톱 펫은 모델 복잡도, 재질 수, SpringBone 체인 수, 실행 환경이 겹쳐서 부담이 결정됩니다. 복잡한 모델을 하루 종일 띄워 두기 전에 가벼운 모델로 먼저 확인하고, 춤과 스테이지를 더할 때는 춤과 스테이지 조합을 참고하세요. 다른 앱과 비교가 필요하면 Windows 애니 데스크톱 펫 정리를 보면 됩니다.

관련 글

주제페이지
VRM 데스크톱 컴패니언이 무엇인가요?VRM 데스크톱 컴패니언
이미 .vrm 파일이 있나요?VRM 가져오기 가이드
모델은 어디서 구하나요?무료 VRM 모델 목록, VRM 모델 출처와 라이선스 확인
캐릭터를 춤추게 하고 싶나요?AniMate Workshop, 춤과 스테이지 가이드
VRM을 처음부터 만들고 싶나요?AI로 VRM 모델 만들기
데스크톱 펫 앱을 비교하고 싶나요?Desktop Mate 대안, 시메지 대안, HoloWaifu 대안
처음 설치부터 따라가고 싶나요?시작하기, 모델 가져오기 튜토리얼
바탕화면을 더 손보고 싶나요?컴패니언 꾸미기, 언어 전환, 라이선스 활성화

자주 묻는 질문

PMX 파일을 AniMate에 바로 가져올 수 없나요?

AniMate는 VRM 데스크톱 컴패니언 파일을 기준으로 만들어졌으므로 .vrm이 가장 확실한 선택입니다. PMX는 블렌더와 VRM Add-on, 또는 Unity와 UniVRM으로 먼저 변환한 뒤 가져오세요. 변환 자체는 이 글의 8단계를 그대로 따라가면 됩니다.

3D 프로그램을 다뤄 본 적이 없어도 변환할 수 있나요?

가능합니다. 블렌더와 VRM Add-on 조합이 더 완만한 경로입니다. 부가 기능을 설치하고, PMX를 가져오고, VRM Model을 만든 뒤 뼈대와 표정, 재질, 물리를 패널에서 차례로 처리합니다. 대부분의 단계에 스크립트가 필요하지 않고, 스크립트는 선택 사항입니다.

VRM 0.x와 VRM 1.0 중 어느 쪽으로 내보내야 하나요?

새 데스크톱 컴패니언 용도라면 VRM 1.0을 고르세요. 표정 이름이 더 일관되고, Expression Override가 충돌을 처리하며, SpringBone 규칙이 더 완전합니다. VRM 0.x는 그 형식을 요구하는 구형 플랫폼에만 사용하세요.

변환 후 머리카락과 치마 물리가 더 어색해진 이유는 무엇인가요?

VRM SpringBone은 강체 물리가 아니라 입자-스프링 시스템입니다. SpringChain마다 부모 관계를 확인한 뒤 hitRadius, stiffness, gravityPower, dragForce를 조정하고, 머리와 몸통에 충돌체를 추가하세요. 복잡한 치마는 MMD의 Bullet 물리보다 가볍게 느껴질 수 있습니다.

남의 MMD 모델을 변환해 상업적으로 사용해도 되나요?

모델에 포함된 readme를 먼저 읽으세요. 대부분의 MMD 모델은 상업적 이용과 재배포를 금지하며, 개조와 스트리밍, 상업 이용은 창작자의 라이선스로 별도 확인해야 합니다. 확인한 내용을 VRM Meta의 라이선스 필드에 그대로 반영하는 편이 안전합니다.

변환한 VRM의 텍스처가 검게 나오는 이유는 무엇인가요?

텍스처가 PMX와 같은 폴더에 있는지 확인하고, 일본어 파일 이름이 깨지지 않도록 압축을 Shift-JIS로 풀었는지도 확인하세요. 재질은 MToon으로 바꾸고 Shade Color를 순수한 검정 대신 어두운 색으로 지정합니다. MToon은 정점 색을 사용하지 않으므로 텍스처와 재질 설정으로 보완해야 합니다.

MMD 뼈 이름이 일본어인데 그대로 둬도 되나요?

그대로 두는 편이 좋습니다. PMX의 표준 뼈 이름(全ての親, 上半身, 左足 등)을 유지해야 자동 매핑이 제대로 동작합니다. 이름을 임의로 바꾸면 매핑이 실패할 수 있으니, 실패하면 Auto Map을 다시 실행하거나 Humanoid 패널에서 직접 지정하세요.

변환한 모델이 무거우면 바탕화면이 느려지나요?

부담은 모델 복잡도, 재질 수, SpringBone 체인 수, 실행 환경에 따라 달라집니다. 항상 켜 두는 데스크톱 컴패니언으로 쓸 계획이라면 복잡한 모델을 상시로 두기 전에 가벼운 모델로 먼저 시험해 보세요.

MMD 캐릭터를 바탕화면으로 꺼내기

먼저 AniMate의 내장 모델로 앱에 익숙해진 다음, 변환한 VRM을 가져와 Workshop에서 캐릭터와 모션, 춤을 관리하세요.

AniMate 다운로드

공식 자료