블렌더3D 모델을 마야로 옮기면 100배 작아지거나 누울 때: 단위·업 축·FBX 설정
블렌더3D에서 만든 모델이 마야에서 100분의 1로 줄거나 바닥에 누워 버렸다면, 모델이 망가진 게 아니라 두 프로그램의 단위와 업 축이 다르기 때문입니다. 블렌더는 1 unit을 1 m로 보고 Z가 위, 마야는 1 unit을 1 cm로 보고 Y가 위입니다. FBX 내보내기 기본값은 이 차이를 버텍스가 아니라 오브젝트의 Rotate X -90, Scale 100에 실어 보냅니다. 그래서 마야에서 이 값을 0과 1로 지우는 순간 크기와 방향이 틀어집니다.
먼저 마야 채널 박스를 보세요. 불러온 오브젝트에 Rotate X -90이나 Scale 100이 적혀 있다면 이 글의 경우입니다. 값을 직접 지우지 말고 Freeze Transformations로 모양에 굳히면 됩니다. 아래에서 원인, 확인법, 내보내기 설정을 순서대로 봅니다.

블렌더3D와 마야는 단위도, 위쪽 축도 다릅니다
블렌더 새 씬의 Scene Properties > Units는 Unit System이 Metric, Unit Scale이 1.0, Length가 Meters입니다. 기본 큐브의 한 변 2는 2 m라는 뜻입니다. 마야는 Windows > Settings/Preferences > Preferences > Settings의 Working Units가 기본으로 centimeter이고, World Coordinate System의 Up axis가 Y입니다. 같은 사람 키 높이 모델이 블렌더에서는 1.8, 마야에서는 180으로 적혀야 맞는 크기입니다.
축도 마찬가지입니다. 블렌더는 바닥이 XY 평면이고 Z가 위를 가리킵니다. 마야는 바닥이 XZ 평면이고 Y가 위입니다. 두 프로그램 사이에서 파일을 옮기면 누군가는 숫자를 100배 바꾸고 축을 90도 돌려 줘야 합니다. 문제는 그 일을 어디에서 하느냐입니다.
| Blender (기본값) | Maya (기본값) | |
|---|---|---|
| 1 unit | 1 m | 1 cm |
| 위쪽 축 | Z | Y |
| 바닥 평면 | XY | XZ |
| 2 m 기둥의 높이 값 | 2 | 200 |
FBX 기본값은 차이를 버텍스가 아니라 오브젝트 값에 담습니다
직접 확인한 결과입니다. Blender 5.0에서 1 × 1 × 2 m 기둥을 만들고 Ctrl+A로 스케일을 적용한 뒤 FBX 내보내기 기본값으로 저장했습니다. 그다음 파일 안을 읽어 보니 다음처럼 적혀 있었습니다.
파일 단위(UnitScaleFactor) 1.0 → 센티미터
파일 업 축(UpAxis) Y
메시 버텍스 범위 1 × 1 × 2 (여전히 Z 방향으로 긴 모양)
오브젝트 Lcl Rotation X -90
오브젝트 Lcl Scaling 100, 100, 100
메시 자체는 블렌더에 있던 그대로이고, 오브젝트 트랜스폼에 X축 -90도 회전과 100배 스케일이 얹혀 있습니다. 둘을 합치면 Y로 선 200 cm 기둥이 되므로 마야에서 처음 열었을 때는 제자리에 제 크기로 보입니다. Maya 2024에서 이 파일을 불러와 보니 채널 박스에 Rotate X -90, Scale 100이 그대로 들어왔고 높이는 200 cm였습니다. 불러온 뒤 채널 박스에 이 두 값이 보이는지로 판단하면 됩니다.

여기서 두 증상이 갈립니다. Scale 100이 이상해 보여 1로 바꾸면 모델이 100분의 1, 즉 2 cm로 줄어듭니다. Rotate X -90을 0으로 되돌리면 버텍스 방향이 드러나 모델이 바닥에 눕습니다. 리깅이나 스키닝 전에 트랜스폼을 정리하려다 이런 일을 겪는 경우가 많습니다.
반대로 100배 커지는 경우도 있습니다. 블렌더에서 마야에 맞춘다며 모델을 미리 100배 키워 두면, 내보내기가 다시 100배를 곱합니다. 2 m 기둥이 마야에서 200 m가 됩니다. 블렌더에서는 실제 크기(미터)로 모델링하고, 단위 변환은 FBX 설정 한 곳에만 맡기는 것이 원칙입니다.
블렌더 FBX 내보내기 설정: 기본값을 쓰고 마야에서 굳힙니다
정적 모델이라면 가장 무난한 순서는 이렇습니다. 옵션 이름은 Blender 5.0의 File > Export > FBX (.fbx) 창 기준입니다.
- 블렌더에서 오브젝트 값 정리: 오브젝트를 선택하고 Ctrl+A > All Transforms를 실행합니다. N 패널의 Rotation이 0, Scale이 1로 바뀌었는지 봅니다. 모디파이어가 있다면 이 단계 전에 결과를 확인합니다.
- 단위 확인: Scene Properties > Units가 Metric, Unit Scale 1.0인지 봅니다. 다른 사람에게 받은 .blend라면 여기부터 확인하세요.
- FBX 내보내기: Include에서 Selected Objects를 켜고, Transform은 Scale 1.00, Apply Scalings All Local, Forward -Z Forward, Up Y Up, Apply Unit 켜짐, Use Space Transform 켜짐 그대로 둡니다. 모두 기본값입니다.
- 마야에서 불러오기: File > Import의 FBX 옵션에서 Advanced Options > Units가 Automatic인지, Scale Factor가 1.0인지 봅니다. 파일이 센티미터로 적혀 있으니 마야 씬도 centimeter라면 추가 변환이 없습니다.
- 굳히기: 오브젝트를 선택하고 Modify > Freeze Transformations를 실행합니다. 채널 박스가 Rotate 0, Scale 1로 바뀌고 모델은 그대로 서 있으면 성공입니다. 측정 도구나 기준 큐브로 높이가 200 cm 근처인지도 확인합니다.
Freeze Transformations는 현재 모양을 기준으로 트랜스폼을 초기화하므로 겉모습은 변하지 않습니다. 다만 이미 스키닝이나 애니메이션이 걸린 오브젝트에 쓰면 결과가 달라질 수 있으니, 모델링 단계의 정적 메시에서 쓰는 것이 안전합니다.

마야에서 굳히기 싫다면: Apply Transform으로 굽기
같은 Transform 항목의 Apply Transform을 켜고 내보내면 축 변환을 오브젝트 값 대신 버텍스에 직접 굽습니다. 같은 기둥으로 확인해 보니 버텍스 범위가 100 × 200 × 100으로 적혔고, 오브젝트 회전과 스케일 값은 비어 있었습니다. 마야에서 불러오면 처음부터 Rotate 0, Scale 1인 200 cm 기둥이라는 뜻입니다.
단, 블렌더는 이 옵션을 실험적이라고 표시하고 아마추어·애니메이션에서는 깨질 수 있다고 경고합니다. 정적 소품이나 배경 모델에만 쓰고, 리그나 애니메이션이 있는 캐릭터는 기본값과 마야 쪽 정리로 옮깁니다.
| 블렌더 FBX 옵션 | 파일에 적히는 것 (Blender 5.0 확인) | 마야에서 볼 것 |
|---|---|---|
| 기본값 (All Local) | 파일 단위 cm, 오브젝트 Rotate X -90 · Scale 100 | 채널 박스 값 확인 후 Freeze Transformations |
| Apply Transform 켬 | 버텍스가 Y로 선 100 × 200 × 100, 오브젝트 값 없음 | 바로 Rotate 0 · Scale 1 |
| Apply Scalings: FBX Units Scale | 파일 단위 m, 오브젝트 Rotate X -90 (Scale 없음) | Import 창의 Scale Factor가 단위를 맞추는지 확인 |
| Up: Z Up | 파일 업 축 Z, 오브젝트 회전 없음 | 마야가 루트에 축 변환을 자동 적용 |
FBX Units Scale은 스케일을 오브젝트 대신 파일 단위(미터)로 적는 방식입니다. 이 경우 마야 FBX 임포터가 파일 단위와 씬 단위를 비교해 Scale Factor를 계산합니다. Maya 2024에서 기본 옵션(Automatic 켜짐)으로 불러와 보니 미터를 센티미터로 바꾸면서 결국 오브젝트에 Scale 100이 붙었고, 크기는 200 cm로 맞았습니다. 이 방식을 써도 채널 박스 정리는 필요합니다. Autodesk 문서에 따르면 Automatic을 끄고 File units converted to를 파일 단위와 같게 고르면 Scale Factor가 1.0이 되어 변환이 적용되지 않습니다. 이때는 미터 값이 센티미터 씬에 그대로 들어오므로 모델이 100분의 1로 작아집니다. 크기가 틀어졌다면 이 칸부터 봅니다.
파일 업 축을 바꿔도 마야는 자동으로 세웁니다
누워 버리는 문제를 고치려고 블렌더의 Up을 Z Up으로 바꾸는 경우가 있습니다. Autodesk FBX Import options 문서에 따르면 마야 FBX 임포터에는 축 변환 옵션이 창에 없고, 파일의 업 축과 마야 씬의 업 축이 다르면 루트 오브젝트에 변환을 자동으로 적용합니다. 그러니 Z Up으로 내보내도 모델은 서서 들어오고, 회전 값이 루트에 실릴 뿐입니다. 축 설정을 이리저리 바꾸기보다 기본값(-Z Forward, Y Up)을 유지하고 오브젝트 값을 정리하는 편이 결과를 예측하기 쉽습니다.
마야 씬 자체의 Up axis가 Z로 바뀌어 있어도 결과가 달라집니다. 다른 사람의 씬에서 불러왔다면 Preferences의 Settings에서 World Coordinate System을 먼저 보세요. 불러오기 창의 Statistics에서도 파일의 업 축과 단위를 확인할 수 있습니다.
OBJ로 옮겼다면 크기는 거의 항상 100분의 1입니다
OBJ에는 단위 정보가 없습니다. Blender 5.0의 OBJ 내보내기 기본값(Scale 1.0, -Z Forward, Y Up)으로 2 m 기둥을 저장하면 파일에는 높이 2가 적힙니다. 마야는 이 숫자를 씬 단위로 읽으므로 centimeter 씬에서는 2 cm 기둥이 됩니다. 축은 기본값으로 이미 Y Up이라 서 있지만 크기가 틀립니다.
OBJ를 써야 한다면 블렌더 OBJ 내보내기의 Scale을 100으로 두거나, 마야에서 100배 키운 뒤 Freeze Transformations를 합니다. 단위 정보를 함께 넘기고 싶다면 FBX가 낫습니다.
크기를 맞춘 뒤 확인할 것
모델 크기가 맞아야 시뮬레이션과 라이팅 값도 튜토리얼처럼 동작합니다. 크기를 맞춘 모델로 천이나 파티클을 돌릴 계획이라면 씬 스케일이 시뮬레이션 결과를 바꾸는 이유도 함께 확인해 보세요. 100배 작은 모델에 기본값 중력을 걸면 튜토리얼과 전혀 다른 속도로 떨어집니다.
모양은 맞는데 텍스처가 회색으로 비어 보인다면 FBX 안의 이미지 경로 문제입니다. 블렌더 FBX 내보내기의 Path Mode를 Copy로 두고 Embed Textures를 켜면 이미지를 파일에 함께 넣을 수 있고, 마야에서는 마야 텍스처 경로 확인 순서대로 sourceimages와 Set Project를 정리하면 됩니다.
vfx 잡학지식



댓글 0
첫 댓글을 남겨보세요.