가이드사용법5분 읽기

VRM을 FBX로, GLB를 FBX로, 그리고 반대로: 애니메이션을 지키는 3D 변환기

어떤 3D 모델이든 브라우저에서 GLB, FBX, USDZ, OBJ, STL로. 스켈레톤, 스킨 웨이트, 모든 키프레임, 페이스 셰이프가 유지됩니다.

afk.ai/rig/convert
afk.ai/rig/convert에 끌어다 놓은 VRM: 미리보기, FBX 선택, FBX에 담기는 것, 변환된 파일. 기다리는 시간은 빨리 감았습니다. 모델: VRoid Studio의 AvatarSample_C, 제작 pixiv.

afk.ai/rig/convert는 3D 모델을 움직이게 하는 요소를 잃지 않고 다른 파일 형식으로 바꿔 줍니다. VRM을 끌어다 놓으면 Unity가 페이스 셰이프까지 갖춘 리깅된 캐릭터로 읽는 FBX를 받습니다. 애니메이션이 든 FBX를 끌어다 놓으면 웹용 GLB를 받습니다. 스켈레톤, 스킨 웨이트, 모든 애니메이션의 모든 키프레임이 원래 그대로 넘어옵니다.

변환할 수 있는 형식

VRM 0과 1.0, GLB, glTF(관련 파일과 함께, 또는 ZIP으로), FBX, OBJ, STL, PLY, USD, USDZ를 최대 150 MB까지 읽습니다. 다섯 가지 형식으로 저장하며, 형식마다 모델을 담을 수 있는 정도가 다릅니다. 변환하기 전에 페이지에서 무엇이 담기는지 알려 줍니다.

형식유지되는 것빠지는 것
GLB스켈레톤, 웨이트, 모든 애니메이션, 페이스 셰이프, 머티리얼과 텍스처VRM 전용 추가 정보만
FBX위와 같음, 애니메이션마다 별도 테이크VRM 전용 추가 정보만
USDZ스켈레톤, 웨이트, 페이스 셰이프, 애니메이션 하나나머지 애니메이션: USDZ는 타임라인 하나만 담음
OBJ메시와 머티리얼, 텍스처를 ZIP으로스켈레톤, 애니메이션, 페이스 셰이프
STL형태, 밀리미터 단위 실제 크기색상과 텍스처를 포함한 나머지 전부

Unity용으로 VRM을 FBX로 변환하는 방법

  1. afk.ai/rig/convert를 열고 로그인합니다.
  2. VRM을 끌어다 놓습니다. VRM 앱에서 보이는 그대로 미리보기에서 재생됩니다. 머리카락이 흔들리고, 표정도 직접 시험해 볼 수 있습니다.
  3. FBX를 고릅니다. 이 모델에 대해 FBX가 무엇을 유지하고, 무엇을 바꾸고, 무엇을 빼는지 페이지에 표시됩니다.
  4. Convert to FBX를 누릅니다. 저희 서버에서 만들어져 자동으로 다운로드됩니다. VRoid 아바타는 몇 초, 애니메이션 수백 개는 몇 분 걸립니다.
  5. Unity로 임포트합니다. FBX를 Assets로 드래그하세요. Rig 탭에서 Animation Type을 Humanoid로 설정하고 Apply를 누릅니다.
FBX를 고른 afk.ai/rig/convert: VRM을 FBX로, 유지되는 것, 바뀌는 것, 빠지는 것

VRM을 FBX로

FBX를 고른 afk.ai/rig/convert: 애니메이션 GLB를 FBX로, 유지되는 것, 바뀌는 것, 빠지는 것

애니메이션 GLB를 FBX로

afk.ai/rig/convert가 끌어다 놓은 모델에 맞춰 알려 주는, FBX에서 유지되는 것, 바뀌는 것, 빠지는 것: VRM인 AvatarSample_C와, 애니메이션 5개가 든 GLB인 AvatarSample_C.

VRM은 어떻게 바뀌나요

VRM은 VRM 앱만 읽는 추가 정보가 붙은 glTF입니다. 변환기는 다른 앱이 쓸 수 있는 것은 모두 유지하고, 나머지는 쓸 수 있는 형태로 바꿉니다.

  • 표정: 그 이름을 딴 페이스 셰이프(블렌드 셰이프)가 됩니다. Joy, Angry, Blink 같은 이름입니다. Unity, Unreal, Blender, three.js 모두 이를 구동할 수 있습니다.
  • 스프링 본: 머리카락과 옷의 흔들림이 VRM 앱이 재생하는 그대로 모델의 애니메이션에 키프레임으로 베이크됩니다. VRM에는 자체 애니메이션이 없으므로 먼저 afk.ai에서 애니메이션을 넣으세요.
  • 툰 셰이딩: 같은 텍스처를 쓰는 일반 라이팅 머티리얼이 됩니다. GLB라면 대신 평면적인 언릿 머티리얼을 요청할 수도 있습니다.
  • 방향: VRM 0은 대부분의 앱에서 뒤를 보고 있으므로, 앞을 보도록 돌려 놓습니다.
  • 빠지는 것: 본 라벨, 시선(look-at), 1인칭 설정, 제작자 정보처럼 VRM 앱만 읽는 것입니다.

VRoid Studio의 AvatarSample_C를 변환해 봤습니다. 13.1 MB VRM이 본 101개, 버텍스 18,347개, 머티리얼 14개와 텍스처를 모두 갖추고 앞을 보는 10.5 MB FBX가 되었습니다. 표정 14개는 Neutral, Joy, Angry, Sorrow, Fun, Surprised, Blink와 입 모양 A, I, U, E, O라는 이름의 셰이프 키로 나왔으며, VRoid가 만든 페이스 셰이프 54개와 나란히 들어 있었습니다.

  • AvatarSample_C의 Neutral 표정Neutral
  • AvatarSample_C의 Joy 표정Joy
  • AvatarSample_C의 Angry 표정Angry
  • AvatarSample_C의 Surprised 표정Surprised
변환기 미리보기의 Joyafk.ai의 VRM
Blender에서 연 변환된 FBX의 셰이프 키로 나타낸 같은 얼굴Blender의 FBX
변환기 미리보기에서 본 VRM 표정 4개와, 그중 하나를 변환된 FBX에서 Blender로 연 모습: 그 이름을 딴 셰이프 키입니다. 모델: VRoid Studio의 AvatarSample_C, 제작 pixiv.

모든 키프레임을 프레임 단위로 그대로

변환기는 흔히 애니메이션을 리샘플링하거나, 커브를 단순화하거나, 한 프레임 늦게 시작하게 만듭니다. 이 변환기는 그러지 않습니다. 모든 애니메이션의 모든 키프레임이 원래 자리에 놓이고, 애니메이션마다 자기 얼굴 움직임을 유지하며, 원본과 마찬가지로 모두 0초에서 시작합니다.

FBX에는 애니메이션마다 별도 테이크가 들어가며, 모든 본의 모든 프레임이 단순화 없이 기록됩니다. 모든 본을 초당 240번 샘플링해 측정했습니다. GLB를 FBX로 만들고, 그 FBX를 다시 GLB로 만들었을 때 각각 이전 파일과의 차이가 0.002 mm, 0.05도 이내였습니다.

같은 아바타에 afk.ai 애니메이션 5개를 넣어 시험해 봤습니다. 7.2 MB GLB가 몇 초 만에 29.3 MB FBX가 되었습니다. 애니메이션마다 초당 120프레임의 별도 테이크였고, 모든 프레임에 키가 있었으며, 모든 애니메이션에 머리카락과 코트의 흔들림이 들어 있었습니다.

그 대가는 이렇습니다. FBX는 큽니다. 캐릭터 하나에 afk.ai의 무료 애니메이션 193개를 모두 넣으면 FBX가 약 230 MB가 되고, 몇 분 정도 걸립니다.

  • Dance Groove
  • Jumping Jacks
  • Run Anime
변환된 FBX의 테이크 3개를 Blender에서 렌더링: 애니메이션은 원래 그대로, 머리카락과 코트의 흔들림이 베이크됨. 모델: VRoid Studio의 AvatarSample_C, 제작 pixiv.

Blender, Unity, Unreal, Godot에서

  • Blender: File, Import, FBX. 각 테이크는 액션으로, 페이스 셰이프는 셰이프 키로 들어옵니다.
  • Unity: Rig 탭을 Humanoid로 설정합니다. 각 테이크는 애니메이션 클립이 되고, 페이스 셰이프는 Skinned Mesh Renderer의 블렌드 셰이프가 됩니다.
  • Unreal Engine: Import Morph Targets와 Import Animations를 켜고 Skeletal Mesh로 임포트합니다.
  • Godot와 three.js: GLB를 그대로 불러옵니다.
  • Apple 기기: USDZ는 Quick Look과 Reality Composer에서 열립니다.
  • 3D 프린팅: 밀리미터 단위 실제 크기의 STL, 또는 OBJ.
Neutral, A, I, U, E, O, Blink, Blink_L, Blink_R, Angry, Fun, Joy, Sorrow, Surprised가 나열된 Blender의 Shape Key Editor, 얼굴에 Joy 적용

VRM의 FBX: 표정 14개가 셰이프 키로, Joy가 1

애니메이션 FBX를 연 Blender: 춤추는 도중의 아마추어, Outliner의 액션 5개, Action Editor에서 모든 프레임에 찍힌 키

애니메이션 GLB의 FBX: 테이크 5개, 모든 프레임에 키, 120 fps

Blender 5.2에서 연 FBX 파일 두 개. 모델: VRoid Studio의 AvatarSample_C, 제작 pixiv.

내 모델을 어떤 형식으로든

afk.ai/rig에서 리깅한 모델도 다섯 가지 형식 모두로 다운로드할 수 있습니다. 체크한 애니메이션이 담긴 GLB나 FBX, 애니메이션 하나가 담긴 USDZ, 그리고 멈춰 선 OBJ나 STL입니다. 변환한 모델은 이 브라우저의 Your Models에 보관되므로 나중에 다른 형식으로 다시 다운로드할 수 있습니다. + 버튼으로 내 모델을 거기에 추가해 어떤 형식으로든 다운로드할 수도 있습니다.

자주 묻는 질문

VRM을 FBX로 변환하려면 어떻게 하나요?

VRM을 afk.ai/rig/convert에 끌어다 놓고, FBX를 고른 뒤 Convert to FBX를 누르세요. 스켈레톤, 스킨 웨이트, 텍스처가 함께 넘어오고, 표정은 페이스 셰이프가 됩니다.

변환해도 애니메이션이 유지되나요?

네. GLB와 FBX에서는 모든 애니메이션의 모든 키프레임이 유지됩니다. USDZ는 애니메이션 하나만 담으므로 첫 번째 애니메이션이 들어갑니다. OBJ와 STL은 멈춰 있는 모델을 담습니다.

VRM의 표정이 Unity에서 작동하나요?

네, 블렌드 셰이프로 작동합니다. 각 표정이 그 이름(Joy, Blink, Angry)을 딴 페이스 셰이프가 되어 Skinned Mesh Renderer에 들어가므로, 스크립트나 애니메이션으로 바로 구동할 수 있습니다.

머리카락 물리가 유지되나요?

베이크됩니다. FBX, GLB, USDZ 파일은 스프링 본을 담을 수 없으므로, 흔들림이 VRM 앱이 재생하는 그대로 각 애니메이션에 키프레임으로 기록됩니다. 엔진에서는 물리를 설정할 필요 없이 재생됩니다.

FBX를 GLB로, GLB를 FBX로 변환할 수 있나요?

네, 양방향 모두 되며 OBJ, STL, PLY, USDZ에서도 변환할 수 있습니다. Collada(.dae)는 지원하지 않습니다.

VRM으로 변환할 수 있나요?

아직은 아닙니다. 페이스 트래킹과 물리를 갖춘 VRM 내보내기가 준비 중입니다.

FBX가 왜 이렇게 큰가요?

여기서 만드는 FBX는 모든 본의 모든 프레임을 담아 동작이 정확합니다. 애니메이션이 수백 개면 수백 MB가 됩니다. 애니메이션을 더 적게 고르거나, 훨씬 작은 GLB를 쓰세요.

무료인가요?

네, 무료 계정으로 하루 10회 변환할 수 있습니다. 파일은 최대 150 MB까지 됩니다.

내 모델 리깅하고 애니메이션 입히기

AI가 브라우저에서 리깅하고 나면, 수백 가지 애니메이션을 내 모델로 재생해 볼 수 있습니다. 어떤 엔진에서든 쓸 수 있는 GLB 하나로 다운로드하세요.

모델 리깅하기

다른 가이드