Blender에서 Unreal Engine으로 내보내기 체크리스트: FBX 설정, 본 축, 스케일(2026)
최종 업데이트: 2026년 9월.

Blender 캐릭터를 Unreal Engine으로 깔끔하게 가져오려면 FBX 내보내기 설정 6개와 씬 설정 1개를 올바르게 지정해야 합니다. File > Export > FBX (.fbx)에서 Selected Objects를 켜고, Apply Unit을 켠 상태에서 Apply Scalings를 FBX All로 설정합니다. 또는 All Local을 그대로 사용하되 씬의 Unit Scale을 0.01로 설정합니다. Smoothing은 Face, Add Leaf Bones는 끔, Primary Bone Axis는 Y, Secondary Bone Axis는 X로 설정하고, 클립을 저장하는 방식에 따라 Bake Animation에서 NLA Strips 또는 All Actions를 사용합니다. Export를 누르기 전에 아마추어 오브젝트의 이름을 root로 바꾸세요. Unreal은 이 오브젝트를 루트 본으로 변환하기 때문입니다. 아래에서는 각 설정이 중요한 이유, 설정을 빠뜨렸을 때 나타나는 문제, 그리고 결과물을 UE5 Mannequin이나 MetaHuman에 리타기팅하는 방법을 설명합니다.
빠른 답변
- 스케일: Unreal은 센티미터를 사용하고 Blender의 내부 단위는 미터입니다.
Scene Properties > Units > Unit Scale을 0.01로 설정하고 Unreal 크기에 맞춰 모델링하거나, 1.0을 유지한 채 Apply Scalings: FBX All로 내보내 파일 헤더에 단위 변환이 기록되도록 하세요. 두 설정을 모두 기본값으로 두면 루트 본의 스케일이 100이 됩니다. - 축: Forward -Z와 Up Y를 그대로 유지하세요. 이는 Blender의 기본값입니다. Unreal의 Convert Scene 임포트 옵션은 FBX 헤더를 읽고 Unreal의 Z-up, X-forward 좌표계로 회전합니다. Blender에서 캐릭터가 -Y를 향하도록 모델링하면, 즉 Numpad 1 정면 뷰에서 사용자를 바라보게 하면 Unreal에서는 +X를 향합니다.
- 본: Primary Bone Axis는 Y, Secondary Bone Axis는 X로 설정합니다. 이는 Blender의 기본값이며 Epic의 공식 Send to Unreal 애드온에서도 사용하는 설정입니다. 이 값을 바꾸는 것이 일반적으로 “본을 임포트하면 90도 돌아간다”는 문제의 원인입니다.
- 루트 본: 아마추어 오브젝트는 해당 오브젝트의 이름을 사용하는 Unreal 루트 본이 됩니다. 이름을
root로 바꾸고 hips를 첫 번째 자식으로 유지하며, 루트 본에는 아무것도 스키닝하지 마세요. - 리프 본과 스무딩: Add Leaf Bones를 끄세요. 그렇지 않으면 모든 체인 끝에
_end본이 추가됩니다. Smoothing은 Face로 설정하세요. 그렇지 않으면 Unreal에서 스무딩 그룹이 없다는 경고가 표시됩니다. - 애니메이션: 클립마다 하나의 Action을 사용하고, Bake Animation과 Key All Bones를 켜고, Simplify는 0으로 설정합니다. Import Mesh를 끈 상태로 기존 Skeleton 애셋에 임포트하세요.
- 원클릭 방식: Cinevva Rig 애드온에는 이러한 규칙을 자동으로 적용하고 먼저 크기 분석을 보여주는 Unreal 내보내기 프리셋이 있습니다. Blender 4.2 이상이 설치된 Windows, macOS, Linux에서 사용할 수 있으며, 자체 컴퓨터에서 오프라인으로 실행됩니다. 출시 가격은 1회 구매 $29입니다.
빠른 참조
문제 해결 표입니다. Unreal에서 나타나는 증상을 찾은 뒤 해당 행을 따라가세요.
| Unreal에서 나타나는 증상 | 원인 | Blender에서 해결하는 방법 |
|---|---|---|
| 루트 본의 Scale이 100으로 표시되거나, 스케일을 초기화하면 캐릭터가 매우 작아짐 | Unit Scale 1.0과 Apply Scalings: All Local 조합이 미터-센티미터 변환 계수를 아마추어 오브젝트의 트랜스폼에 베이크함 | Unit Scale을 0.01로 설정하고 Unreal 크기로 모델링하거나, Apply Scalings: FBX All로 내보내기 |
| 캐릭터가 -X를 향하거나 옆으로 누워 있음 | +Y를 향하도록 모델링했거나 Forward/Up을 일관되지 않은 조합으로 변경함 | Blender에서 캐릭터가 -Y를 향하도록 한 뒤 회전을 적용합니다. Forward -Z, Up Y 유지 |
| 본이 잘못된 방향을 가리키고 애니메이션 리타기팅 시 뒤틀림 | Primary/Secondary Bone Axis를 Y/X에서 변경함 | Primary Y, Secondary X로 설정 |
| hips 위에 “Armature”라는 본이 있음 | 아마추어 오브젝트가 Null 노드로 내보내지고 Unreal이 이를 루트 본으로 변환함 | 아마추어 오브젝트의 이름을 root로 변경 |
손가락, 머리, 발에 _end로 끝나는 본이 추가됨 | Add Leaf Bones가 켜져 있음. 이는 내보내기의 기본값임 | Add Leaf Bones 끄기 |
| “No smoothing group information was found in this FBX scene” | Smoothing이 Normals Only로 설정되어 있음 | Smoothing을 Face로 설정 |
| “Found multiple roots. The importer only supports one root per mesh.” | 최상위 본이 여러 개이며 이를 묶는 단일 부모가 없음 | 모든 최상위 본을 root의 자식으로 지정 |
| “Scene does not contain a Bind Pose” | 파일에 바인드 포즈 데이터가 없음 | Use T0 As Ref Pose를 켜고 임포트하거나, 아마추어를 레스트 포즈로 둔 상태에서 다시 내보내기 |
| 머티리얼에서 Color와 Normal만 연결되어 임포트됨 | Unreal은 이 두 입력만 자동으로 연결함 | 텍스처를 별도로 내보내고 머티리얼 에디터에서 roughness와 metallic을 다시 구성 |
| 별도의 클립 대신 하나의 긴 애니메이션으로 임포트됨 | 클립이 하나의 Action에 저장되어 있거나 NLA Strips와 All Actions가 모두 꺼져 있음 | 클립마다 하나의 Action을 사용하고 All Actions를 켜거나, 클립마다 하나의 NLA 스트립을 만들고 NLA Strips 켜기 |
| 애니메이션은 재생되지만 메시가 움직이지 않음 | 메시가 아마추어의 자식이 아니거나 Only Deform Bones가 스킨에 필요한 본을 제외함 | Armature 모디파이어를 사용해 메시를 아마추어의 자식으로 지정하고 deform 플래그 확인 |
단위와 스케일: “스케일 100”이 생기는 이유
Unreal의 FBX 임포터는 센티미터 단위로 작동합니다. FBX Import Options Reference에서는 Convert Scene Unit 옵션을 “FBX의 측정 단위에서 UE의 측정 단위인 센티미터로 변환”하는 기능으로 설명합니다. Blender의 내부 단위는 미터입니다. 내보내기 소스에도 “Blender의 기본 단위는 미터에 해당하고 FBX의 단위는 센티미터다”라고 명시되어 있습니다. 따라서 어딘가에서 100을 곱해야 하며, 관건은 그 100이 어디에 기록되느냐입니다.
Blender의 내보내기 기능인 io_scene_fbx는 Blender 4.2에서 버전 5.12.4이며, 이를 위한 설정 두 가지를 제공합니다. 기본적으로 켜져 있는 Apply Unit은 “현재 Blender 단위 설정을 고려”한다는 뜻입니다. Apply Scalings는 이 계수가 어디에 적용되는지를 결정합니다. 첫 번째 옵션인 All Local(FBX_SCALE_NONE)은 “사용자 지정 스케일과 단위 스케일을 각 오브젝트 트랜스폼에 적용하고 FBX 스케일은 1.0으로 유지”합니다. 마지막 옵션인 FBX All(FBX_SCALE_ALL)은 “사용자 지정 스케일과 단위 스케일을 FBX 스케일에 적용”합니다. 즉, 파일 헤더에 기록합니다.
코드를 살펴보면 잘 알려진 증상이 발생하는 이유를 알 수 있습니다. Unit Scale 1.0과 All Local을 함께 사용하면 내보내기는 모든 최상위 오브젝트의 트랜스폼에 100을 곱하고 UnitScaleFactor를 1.0으로 기록합니다. 트랜스폼에 100이 포함되어 있으므로 메시는 올바른 크기로 임포트됩니다. 아마추어 오브젝트에도 동일하게 적용되며, Unreal은 이 오브젝트를 루트 본으로 변환합니다. 이것이 스켈레톤 트리에서 루트의 Scale이 100.0으로 표시되는 이유입니다. Scale 필드 자체의 툴팁에는 “일부 임포터는 스케일이 적용된 아마추어를 지원하지 않습니다!”라는 경고가 있으며, 바로 이러한 경우를 뜻합니다.
이 문제를 깔끔하게 해결하는 방법은 두 가지이며, 어느 쪽을 사용해도 괜찮습니다. 0.01 기법. Properties > Scene > Units에서 Unit Scale을 0.01로, Length를 Centimeters로 설정합니다. Blender 매뉴얼은 Unit Scale을 "내부 단위와 사용자 인터페이스에 표시되는 값 사이를 변환할 때 사용하는 배율"이라고 설명하며, "사용자 인터페이스에 표시되는 값에만 영향을 주고 내부 동작 방식에는 영향을 주지 않는다"고 명시합니다. 이제 키 180cm 캐릭터의 Blender상 높이는 180유닛이 되고, 익스포터의 계수는 100 곱하기 0.01, 즉 1이 되므로 루트 본을 스케일 1로 임포트할 수 있습니다. 단점은 기존 미터 스케일 에셋을 100배 확대해야 하고, 물리와 천 시뮬레이션이 잘못된 스케일로 실행되며(매뉴얼에도 정확히 그렇게 나와 있습니다), 뷰포트 클리핑 거리도 늘려야 한다는 점입니다. Unreal 중심의 파이프라인은 이후 제작되는 모든 것이 이미 Unreal 스케일에 맞춰지므로 대체로 이 방식을 선택합니다.
FBX All. Unit Scale은 1.0으로 유지하고 Apply Scalings를 FBX All로 설정합니다. 그러면 헤더의 UnitScaleFactor는 100이 되고 트랜스폼은 1로 유지되며, Unreal의 Convert Scene Unit이 임포트할 때 미터를 센티미터로 변환합니다. 툴팁에는 "Blender는 임포트 시 FBX 스케일로 단위를 감지하지만, 다른 많은 애플리케이션은 같은 방식으로 처리하지 않는다"고 경고합니다. Unreal은 이 방식을 처리하므로, 미터 단위로 계속 모델링하려면 이 설정을 사용하면 됩니다.
어느 쪽을 선택하든 익스포터의 Scale 필드는 1.0으로 두세요. 이 값은 단위 계수에 추가로 곱해지므로, 엉뚱한 100이 숨어들 수 있는 지점만 하나 더 늘어납니다.
축: 둘 다 Z-up이지만 같은 Z-up은 아닙니다
두 애플리케이션 모두 Z-up이므로 이 부분은 신경 쓰지 않아도 된다고 생각하기 쉽습니다. 하지만 전방 축과 좌표계의 손잡이 방향이 다르기 때문에 그렇지 않습니다. Blender 매뉴얼에는 "Blender는 Y Forward, Z Up을 사용한다(+Y 방향을 바라볼 때 정면 뷰가 보이기 때문)"고 나옵니다. 숫자패드 1을 누르면 카메라가 -Y 쪽에서 +Y 방향을 바라보므로, 정면 뷰를 향하도록 모델링한 캐릭터는 -Y를 바라봅니다. Unreal은 X가 전방인 Z-up 좌표계를 사용하며, 임포터의 Force Front XAxis 옵션은 씬을 "-Y축 대신 전방 X축을 사용하도록" 변환한다고 설명합니다. 즉, 별도로 지정하지 않으면 임포터는 FBX 파일의 전방을 -Y로 간주합니다.
대부분의 튜토리얼이 건너뛰는 부분은 다음과 같습니다. Forward와 Up 드롭다운만으로 모델이 Unreal 좌표계에 맞게 직접 회전하는 것은 아닙니다. 익스포터는 이 설정으로 변환 행렬을 만들고, 같은 과정에서 이에 대응하는 UpAxis와 FrontAxis 값을 파일의 GlobalSettings에 기록합니다. Unreal의 Convert Scene은 "FBX 좌표계의 씬을 UE 좌표계를 사용하도록" 변환하는 기능으로 설명되며, 이 값들을 읽기 때문에 일관성 있는 조합이라면 무엇이든 작동합니다. Blender의 기본값인 -Z Forward, Y Up은 Y-up 파일을 기록합니다. Epic의 Send to Unreal은 Blender 축을 그대로 사용하는 Y Forward, Z Up을 제공합니다. 두 설정 모두 같은 방향을 바라보도록 임포트됩니다.
결과를 실제로 바꾸는 것은 Blender 안에서 캐릭터가 바라보는 방향입니다. -Y를 바라보도록 모델링하고 회전을 적용하면(Ctrl+A > Rotation) Unreal에서 엔진의 전방인 +X를 바라보게 됩니다. 다운로드한 모델이 +Y나 +X를 바라본다면 Object Mode에서 회전하고 적용한 뒤 다시 익스포트하세요. Forward 드롭다운으로 방향을 바로잡지 마세요. 그러면 헤더와 지오메트리가 서로 맞지 않아 이후 애니메이션 익스포트도 일치하지 않게 됩니다.
Use Space Transform은 켜고 Apply Transform은 끄세요. Apply Transform(bake_space_transform)은 익스포터 자체 툴팁에서 "경고! 실험적 옵션이며, 위험을 감수하고 사용해야 하고, 아마추어/애니메이션에서 제대로 작동하지 않는 것으로 알려져 있음"이라고 표시되어 있습니다. 축 변환을 버텍스 데이터에 베이크하려는 정적 프롭을 위한 옵션입니다. 리깅된 캐릭터에는 절대 사용하지 마세요.
본 축: 임포트된 본이 회전해 보이는 이유
Blender 본에는 고정된 로컬 프레임이 있습니다. 매뉴얼의 본 구조 페이지에는 "Y축은 항상 본을 따라 루트에서 팁 방향으로 정렬되며, 이것이 본의 '롤' 축이다"라고 나옵니다. Maya에서 제작된 많은 리그와 이를 기반으로 작성된 튜토리얼은 본을 따라 X축을 배치합니다. FBX는 어느 축이 본을 따라가는지 신경 쓰지 않습니다. 각 본의 전체 트랜스폼을 저장하기 때문입니다. 중요한 것은 메시의 스킨 웨이트, 바인드 포즈, 모든 애니메이션 키가 동일한 프레임을 기준으로 일치하는 것입니다.
Primary Bone Axis는 Y, Secondary Bone Axis는 X로 유지하세요. 이는 익스포터의 기본값이며, Epic이 Send to Unreal의 FBX 설정에 제공하는 기본값이기도 합니다. Unreal은 파일에 선언된 프레임 그대로 본을 임포트하므로, Y축이 본을 따라가는 Blender 리그도 올바르게 작동하고 애니메이션 및 리타기팅할 수 있습니다. 문제가 생기는 경우는 서로 다른 설정을 혼용할 때입니다. 예를 들어 메시와 애니메이션을 서로 다른 기본 축으로 익스포트하거나, 원래 Maya에서 제작된 스켈레톤용 Blender 애니메이션을 익스포트하는 경우입니다. Unreal에 이미 존재하는 스켈레톤을 대상으로 한다면 매번 동일한 Blender 파일에서 익스포트하거나, 먼저 Unreal 스켈레톤을 Blender로 임포트한 다음 그 스켈레톤으로 애니메이션을 제작하세요.
루트 본 문제
Unreal의 스켈레탈 메시 파이프라인 페이지에 따르면 스켈레탈 메시의 피벗은 "항상 스켈레톤의 루트 본/조인트에 위치"하며, 임포터는 이를 정확히 하나만 요구합니다. FBX Import Errors 페이지에는 그렇지 않을 때 표시되는 메시지도 나와 있습니다. "여러 루트가 발견되었습니다. 임포터는 메시당 하나의 루트만 지원합니다."
Blender 익스포터는 아마추어 오브젝트를 본 위에 별도의 노드로 기록합니다. Armature FBXNode Type 옵션은 해당 노드의 종류를 제어합니다. 기본값은 "Blender의 Empty와 유사한" Null이며, Root와 LimbNode도 선택할 수 있지만 툴팁은 "다른 앱에서 문제가 발생하는 경우"가 아니면 사용하지 말라고 안내합니다. Unreal은 이 노드를 본 계층 구조의 최상위로 읽고, 아마추어 오브젝트의 이름을 따서 루트 본을 만듭니다. Epic은 Send to Unreal의 익스포트 설정에 이 동작을 설명합니다. "Export object name as root bone" 옵션은 "Blender의 아마추어 오브젝트 이름을 Unreal의 루트 본 이름으로 사용하며, 그렇지 않으면 아마추어 계층 구조의 첫 번째 본을 루트 본으로 사용"합니다. 이 때문에 엉덩이 위에 "Armature"라는 본이 나타납니다. 해결 방법은 아웃라이너에서 아마추어 데이터 블록이 아니라 아마추어 오브젝트의 이름을 root로 바꾸는 것입니다. 이 오브젝트는 단위 스케일과 0 회전값으로 월드 원점에 유지하고, hips(또는 pelvis)는 아무것에도 부모 지정하지 않아 해당 노드의 첫 번째 자식이 되게 하며, 어떤 버텍스도 여기에 스키닝하지 마세요. 그러면 Epic의 스켈레톤과 같은 구조가 됩니다. 바닥에는 root, 그 위에는 pelvis가 놓입니다. 이 구조는 나중에 중요합니다. Unreal의 IK Retargeter는 캐릭터 간 루트 모션을 전송하기 위해 양쪽 리그에서 pelvis 본을 지정하도록 요구하기 때문입니다.
아마추어 노드가 완전히 사라지게 하고 싶다면 Send to Unreal의 "first bone in the armature hierarchy" 모드를 사용하면 됩니다. Better FBX Importer & Exporter도 같은 기능을 제공합니다. Blender 내장 익스포터는 이 노드를 제거할 수 없으므로 이름을 바꿔야 합니다.
리프 본과 변형 본
Add Leaf Bones는 기본적으로 켜져 있으며, 익스포터 소스에도 이 옵션은 꺼야 한다고 표시한 주석이 있습니다. 툴팁은 다음과 같습니다. "내보낸 데이터에서 아마추어를 편집하려는 경우 마지막 본의 길이를 지정할 수 있도록 각 체인의 끝에 최종 본을 추가합니다." 코드는 각 체인 끝마다 <bone>_end라는 숨겨진 본을 하나씩 생성합니다. Unreal의 스켈레톤 트리에는 손가락 끝마다, 그리고 머리와 양쪽 발가락에 이 본들이 모두 표시됩니다. 해롭지는 않지만 계층 구조를 어지럽히고, 리타기팅 체인의 자동 매칭을 방해하며, 모든 애니메이션에 본 트랙을 추가합니다. 게임 엔진용으로 내보낼 때는 이 옵션을 끄세요.
아마추어에 IK 타깃, 폴 타깃, Rigify의 컨트롤 레이어 같은 컨트롤 본이 있다면 Only Deform Bones를 켜는 것이 좋습니다. 툴팁에는 "변형 본만 내보냅니다(변형 자식이 있는 비변형 본도 포함)"라고 설명되어 있습니다. Rigify 사용자는 생성된 리그를 내보낼 때 Only Deform Bones를 켜서 변형 본만 전달하고 컨트롤 장치는 Blender에 남겨야 합니다. 메시가 웨이트된 모든 본에 Deform 플래그가 체크되어 있는지 확인하세요. 그렇지 않으면 해당 본에 웨이트된 버텍스가 Unreal에서 제자리에 고정됩니다.
스무딩 그룹, 노멀, 삼각 분할
Unreal 임포터는 스무딩 그룹을 기대합니다. 스무딩 그룹을 찾지 못하면 FBX Import Errors 페이지에 다음과 같은 경고가 표시됩니다. "이 FBX 씬에서 스무딩 그룹 정보를 찾을 수 없습니다. 파일을 내보내기 전에 FBX Exporter 플러그인에서 'Export Smoothing Groups' 옵션을 활성화했는지 확인하세요." Blender 익스포터의 Smoothing 기본값은 Normals Only이며, "에지 또는 면의 스무딩 데이터를 기록하지 않고 노멀만 내보냅니다"라고 설명되어 있습니다. 또한 "대상 임포터가 분할 노멀을 이해한다면 'Normals Only' 옵션을 권장합니다"라는 참고 사항이 있습니다. Smoothing을 Face로 설정하면 경고가 사라집니다. 임포트 시 Preserve Smoothing Groups는 "스무딩 그룹이 일치하지 않는 삼각형을 분리"하는 옵션으로 설명되며, 이를 통해 하드 에지가 유지됩니다.
스켈레탈 메시 파이프라인 페이지에는 그래픽 하드웨어가 삼각형만 처리하므로 메시를 "반드시 삼각 분할해야 한다"고 명시되어 있습니다. 익스포터에서 Triangulate Faces를 체크하면 각 쿼드가 어느 대각선을 기준으로 나뉘는지 직접 제어할 수 있으며, 이는 Blender에서 베이크한 노멀 맵을 사용할 때 중요합니다. Tangent Space는 선택 사항이며, 툴팁에 따르면 "삼각형/쿼드로만 구성된 메시에서만 올바르게 작동합니다." 메시에 n-gon이 있다면 Tangent Space를 끄거나 먼저 삼각 분할하세요.
텍스처와 머티리얼
Path Mode를 Copy로 설정하고 Embed Textures 토글을 체크하면 이미지가 FBX 바이너리에 패킹되며, Unreal의 Import Textures 옵션이 이를 추출해 텍스처 에셋으로 만듭니다. 하지만 머티리얼은 일부만 구성될 수 있습니다. 스태틱 메시 파이프라인 페이지에는 "Color와 Normal만 자동으로 연결됩니다"라고 되어 있으며, 스켈레탈 메시 페이지도 "디퓨즈 및 노멀 맵만"이라고 같은 내용을 다르게 표현합니다. 러프니스, 메탈릭, 이미시브, 앰비언트 오클루전은 텍스처로 들어오지만 어디에도 연결되지 않습니다. Blender 매뉴얼도 "Material textures"를 익스포터의 알려진 한계로 나열합니다.
실용적인 방법은 아무것도 임베드하지 않고 FBX를 지오메트리와 스켈레톤 전달용으로만 사용하는 것입니다. Blender의 Image Editor나 Substance에서 텍스처를 직접 내보내고, FBX와 함께 Unreal로 임포트한 다음, 사용하는 Principled BSDF 입력을 갖춘 마스터 머티리얼 하나를 만들고 캐릭터별 Material Instance를 생성하세요. Unreal의 Material Import Method에는 "Create New Instanced Materials" 모드가 있어 이 용도로 사용할 베이스 머티리얼을 선택할 수 있습니다.
스켈레탈 메시와 스태틱 메시
Unreal은 스킨 디포머가 있는지 확인해 전송된 에셋의 유형을 판단합니다. Armature 모디파이어가 적용되고 아마추어에 부모 지정된 메시는 Skeletal Mesh로 임포트되며, Skeleton 에셋과 Physics Asset이 생성됩니다. 임포트 대화 상자의 Skeleton 옵션에는 "기존 Skeleton을 선택하지 않으면 새 Skeleton이 생성됩니다"라고 설명되어 있습니다. 아마추어가 없는 메시는 Static Mesh로 임포트됩니다. Import Content Type 옵션을 사용하면 스켈레탈 임포트에서 지오메트리만 또는 스키닝만 강제로 가져올 수 있습니다.
스태틱 프롭의 경우 스태틱 메시 파이프라인 페이지에 나온 두 가지 Blender 측 규칙을 따르면 작업을 줄일 수 있습니다. 먼저 콜리전입니다. Unreal은 렌더 메시 이름 뒤에 UBX_, UCP_, USP_, UCX_가 붙은 메시를 각각 박스, 캡슐, 구, 볼록 콜리전으로 읽습니다. 형식은 [PREFIX]_[RenderMeshName]_##입니다. 따라서 Crate라는 프롭에 UCX_Crate_01이라는 자식 메시를 만들면 콜리전이 구성된 상태로 임포트됩니다. 이 페이지에는 한 가지 주의 사항도 있습니다. "사용자 지정 콜리전이 있는 여러 메시를 하나의 파일로 임포트하면 첫 번째 메시의 콜리전만 임포트됩니다." 따라서 프롭은 파일당 하나씩 내보내세요. 다음은 버텍스 컬러입니다. "Static Mesh의 버텍스 컬러는 FBX 파이프라인을 통해 전송할 수 있습니다. 별도의 설정은 필요하지 않습니다." Blender는 활성 Color Attribute에서 이를 기록하며, 익스포터 기본값은 sRGB입니다.
스켈레탈 메시의 경우 파이프라인 페이지에서는 캐릭터가 "하나의 연속된 메시이거나, 모두 같은 스켈레톤에 스키닝된 여러 개의 개별 메시"일 수 있다고 확인합니다. 따라서 모든 것을 하나로 합칠 필요는 없지만, 각 파트는 같은 아마추어에 부모 지정되어야 합니다. Apply Modifiers는 기본적으로 켜져 있으며, 툴팁에는 이 옵션이 "셰이프 키 내보내기를 방해합니다"라고 경고되어 있습니다. 얼굴 셰이프 키가 있다면 이 옵션을 끄고, 아마추어가 아닌 모디파이어를 직접 적용한 다음 Unreal에서 Import Morph Targets를 체크하세요.
애니메이션: 액션, NLA, Skeleton 에셋
Blender 익스포터는 항상 베이크합니다. 애니메이션된 모든 본은 Sampling Rate에 따라 샘플링되며, 1.0은 매 프레임을 의미합니다. 컨스트레인트, IK, 드라이버는 일반 키로 기록됩니다. 다음 세 가지 토글에 따라 출력되는 클립 수가 결정됩니다.
All Actions는 "각 액션을 별도의 FBX AnimStack으로" 기록하며, 매뉴얼은 이를 "선택한 아마추어와 호환되는 모든 액션"이라고 설명합니다. NLA Strips는 "뮤트되지 않은 각 NLA 스트립을 별도의 FBX AnimStack으로" 기록합니다. 둘 다 끄면 아마추어의 현재 액션을 사용해 씬 프레임 범위 전체를 포함하는 클립 하나가 생성됩니다. Unreal은 각 AnimStack을 별도의 Animation Sequence로 임포트하며, 애니메이션 임포트 페이지에는 "Unreal에서는 콘텐츠 제작자가 하나의 FBX 파일에서 여러 애니메이션을 임포트할 수 있습니다"라고 명시되어 있습니다. 따라서 클립마다 Action 하나를 사용하고, 시퀀스에 사용할 이름으로 Action의 이름을 지정한 뒤 All Actions를 체크하세요. NLA 에디터에서 클립을 구성한다면 NLA Strips를 체크하고 All Actions는 끄세요. 그렇지 않으면 양쪽에서 모두 생성됩니다.
Key All Bones는 "모든 본에 최소 하나의 애니메이션 키를 강제로 생성합니다(UE4 같은 일부 대상 애플리케이션에 필요)." 이 옵션은 켜 두세요. Force Start/End Keying은 첫 프레임과 마지막 프레임에 키를 추가하므로, Unreal의 Animation Length를 Exported Time으로 설정했을 때 의도한 범위를 가져올 수 있습니다. Simplify의 기본값은 1.0이며, 툴팁에는 "0.0으로 설정하면 비활성화"된다고 되어 있습니다. 게임 애니메이션에서는 단순화된 커브로 인해 정확한 접촉 프레임이 손실될 수 있으므로 0으로 설정하세요.
Unreal 측에서는 두 번에 나눠 임포트하세요. 먼저 Import Animations를 끈 상태로 캐릭터를 임포트하면 Skeletal Mesh와 Skeleton이 생성됩니다. 그런 다음 애니메이션 FBX를 임포트합니다. 같은 아마추어, 같은 본 축, 같은 스케일 설정을 사용해야 하며 메시는 필요하지 않습니다. Import Mesh를 끄고 Skeleton 드롭다운에서 방금 만든 Skeleton을 선택하세요. 레퍼런스에 따르면 Use Default Sample Rate는 초당 30프레임이며, Custom Sample Rate는 "0으로 설정하면 최적의 샘플 레이트가 자동으로 결정됩니다." Blender의 프레임 레이트와 맞추세요. 임포트 중 "Scene does not contain a Bind Pose"가 보고되면 Use T0 As Ref Pose를 활성화하세요. 이 옵션은 0프레임을 사용해 "Skeletal Mesh의 레퍼런스 포즈를 대체"합니다.
최신 엔진 버전에서는 다른 대화 상자가 표시될 수 있습니다. Epic의 Interchange Framework는 "임포트 및 익스포트 프레임워크입니다. 파일 형식에 구애받지 않고, 비동기식이며, 사용자 지정이 가능하고, 런타임에도 사용할 수 있습니다." 5.5 릴리스 노트에서는 이를 "에셋 임포트에는 프로덕션 레디, 레벨 임포트에는 베타"라고 설명합니다. 임포트 레퍼런스에서는 익숙한 기능에 다른 이름을 사용합니다. Offset Uniform Scale, Use 30Hz to Bake Bone Animation, 기존 스켈레톤에 애니메이션만 적용할 때 사용하는 Import Only Animations, 그리고 "비워 두면 새 스켈레톤이 생성되는" Skeleton이 있습니다. 어느 방식을 사용하든 Blender 측 체크리스트는 같습니다.
UE5 마네킹 또는 MetaHuman으로 리타기팅하기
Blender 스켈레톤은 Epic 스켈레톤과 본 이름이 같지 않으며, 같을 필요도 없습니다. Unreal 5의 IK Retargeter는 "본 개수, 본 이름, 방향이 서로 다른 스켈레톤 사이에서 애니메이션을 전송"하도록 만들어졌습니다. Epic의 IK Rig 리타기팅 페이지에 따른 절차는 다음과 같습니다.
- 임포트한 Skeletal Mesh용 IK Rig 에셋을 만듭니다(Content Browser에서
Animation > IK Rig). 계층 구조에서 pelvis 본을 우클릭하고 Set Pelvis를 선택합니다. Auto Create Retarget Chains를 누릅니다. 대상 캐릭터에 IK Rig가 없다면 같은 작업을 수행합니다. - IK Retargeter를 만들고 Source IK Rig를 자신의 리그로, Target IK Rig를 마네킹 리그로 설정합니다. Epic 애니메이션을 자신의 캐릭터로 가져오는 경우에는 반대로 설정합니다.
- 체인 매핑을 확인합니다. Epic은 퍼지 문자열 매칭을 사용하므로 더 적합한 항목이 없으면
ArmLeft라는 체인이left_arm과 매칭됩니다. 잘못 매핑된 체인이 있다면 수정하세요. - 캐릭터가 A 포즈로 리깅되어 있고 대상이 T 포즈라면 Edit Retarget Pose를 열어 팔을 맞추거나 Auto Align 옵션을 사용합니다.
- Asset Browser에서 애니메이션을 선택하고 Export Selected Animations를 클릭합니다. 선택적으로 접두사나 접미사가 붙은 새 Animation Sequence가 대상 스켈레톤에 생성됩니다.
Blender 측에서 두 가지를 지키면 이 과정이 쉬워집니다. 자동 매핑이 제대로 되도록 본 이름에 방향과 부위를 포함하고(upperarm_l, lowerarm_l, hand_l), 앞 섹션에서 설명한 root 다음 pelvis 계층 구조를 유지하세요. 그러면 Set Pelvis에서 선택할 본이 명확해지고, 페이지의 표현처럼 루트 모션이 "캐릭터 간에 비례해서" 전송됩니다. Mixamo 이름을 사용하는 리그도 자동 매핑이 잘됩니다. 체인 이름이 LeftArm, LeftForeArm 같은 본 이름에서 생성되고 매처가 단어를 인식하기 때문입니다. 이것이 Cinevva Rig 애드온이 Mixamo 이름으로 리깅하는 이유 중 하나입니다.
Send to Unreal: Epic 애드온이 자동화하는 작업과 2026년 현재 상태
Epic의 BlenderTools 저장소에는 "Blender에서 Unreal Engine으로 데이터를 전송하는 원클릭 솔루션"인 Send to Unreal과 UE to Rigify가 포함되어 있습니다. Send to Unreal은 Blender 자체 FBX 익스포터를 감싸서 사용하며("Blender FBX 애드온에 있는 모든 표준 FBX 내보내기 설정을 이 섹션에서 사용자 지정할 수 있습니다"), 여기에 파이프라인을 추가합니다. 즉, FBX를 기록한 다음 Unreal의 Python 원격 실행 기능을 사용해 열려 있는 프로젝트로 임포트합니다. Unreal 측에서는 Python Editor Script Plugin과 Project Settings의 원격 실행을 설정하고, Blender에 포커스가 있는 동안에도 에디터가 수신하도록 "Use Less CPU when in Background"를 꺼야 합니다. Blender에서는 에셋을 Export라는 컬렉션으로 옮긴 다음 Pipeline > Export > Send to Unreal을 실행합니다.
기본값은 Epic이 선택한 설정이므로 구성을 점검하는 좋은 기준이 됩니다. All Local 스케일링, Y Forward와 Z Up, Face 스무딩, Primary Bone Axis Y와 Secondary X, 리프 본 끄기, 아마추어 오브젝트 이름을 루트 본으로 사용하기입니다. 또한 내장 익스포터로는 할 수 없는 작업도 수행합니다. 아마추어 노드 제거, LOD 내보내기, 각 클립이 자체 시퀀스가 되도록 활성 액션을 NLA에 넣는 기능입니다.
단점은 유지 관리 상태입니다. 마지막 릴리스는 2023년 11월 9일에 나온 Send to Unreal 2.4.3입니다. 릴리스 노트에는 Blender 3.3 및 3.6과 Unreal 5.3에서 테스트를 통과했다고 나와 있으며, 애드온 메타데이터는 Blender 3.3을 최소 버전으로 지정합니다. 저장소는 보관 처리되지 않았고 약 3,300개의 스타가 있으며 2026년 9월에도 문서 커밋이 있었지만, 마지막 코드 병합은 2024년 7월이었고 열린 이슈가 거의 100개에 달합니다. Blender 4.2의 확장 기능 시스템보다 먼저 만들어졌으므로 본격적으로 파이프라인을 구축하기 전에 사용 중인 버전에서 테스트하세요. 작동한다면 가장 완전한 무료 파이프라인입니다. 작동하지 않더라도 아래 체크리스트를 따르면 같은 파일을 만들 수 있습니다.
체크리스트
아래 작업을 순서대로 진행하세요. 1~5단계는 프로젝트마다 한 번, 6~13단계는 내보낼 때마다 수행합니다.
Properties > Scene > Units: Unit System은 Metric으로 설정합니다. Unit Scale을 0.01, Length를 Centimeters로 설정하거나(이 경우 기존의 미터 단위 에셋은 100배 확대), Unit Scale을 1.0으로 설정하고 9단계에서 FBX All을 선택해야 한다는 점을 기억하세요.- 캐릭터가 -Y 방향을 바라보고 발이 원점의 바닥에 닿도록 모델링합니다. 숫자패드 1을 누르면 캐릭터의 정면이 보여야 합니다.
- Object Mode에서 메시와 아마추어를 선택하고
Ctrl+A > All Transforms를 실행합니다. 둘 다 location 0, rotation 0, scale 1이어야 합니다. - Outliner에서 아마추어 오브젝트의 이름을
root로 변경합니다. hips가 유일한 최상위 본인지, 또는 모든 최상위 본에 실제 부모가 있는지 확인합니다.root에는 웨이트를 할당하지 마세요. - 변형에 사용되는 모든 본에서 Deform이 선택되어 있는지 확인합니다(Bone Properties). Rigify나 컨트롤 본을 사용한다면 Only Deform Bones를 켜고 내보낼 계획을 세우세요.
- 클립마다 Action을 하나씩 만들고, Unreal에서 사용할 Animation Sequence 이름으로 지정합니다. 장면의 프레임 레이트를 Unreal에서 사용할 값으로 설정하세요. Unreal의 기본 샘플 레이트는 30입니다.
- 메시 오브젝트와 아마추어만 선택합니다. 다른 것은 선택하지 마세요. 카메라, 조명, Empty는 추가 노드가 됩니다.
File > Export > FBX (.fbx). Include에서 Selected Objects를 켜고 Object Types는 Armature와 Mesh로 제한합니다.- Transform: Scale 1.00, Apply Scalings는 FBX All(Unit Scale이 0.01이면 All Local), Forward -Z, Up Y, Apply Unit 켜기, Use Space Transform 켜기, Apply Transform 끄기.
- Geometry: Smoothing은 Face, Apply Modifiers 켜기(셰이프 키가 필요하면 끄기), Triangulate Faces 켜기, 메시가 모두 삼각형과 사각형으로만 구성된 경우가 아니라면 Tangent Space 끄기.
- Armature: Primary Bone Axis Y, Secondary Bone Axis X, Armature FBXNode Type Null, Only Deform Bones는 5단계에서 결정한 대로 설정하고 Add Leaf Bones는 끕니다.
- Bake Animation: 같은 파일에 클립을 포함하려는 경우에만 캐릭터 내보내기에서 켭니다. 그렇지 않으면 여기서는 끄고 두 번째 애니메이션 전용 내보내기에서 켭니다. Key All Bones 켜기, NLA Strips 끄기, All Actions 켜기, Force Start/End Keying 켜기, Sampling Rate 1.0, Simplify 0.
- Unreal이 임시 머티리얼을 생성하게 하려는 경우에만 Path Mode를 Copy로 설정하고 Embed Textures를 사용합니다. 그렇지 않으면 그대로 두고 텍스처를 별도로 가져옵니다.
- Unreal에서 FBX를 Content Browser로 드래그합니다. Skeleton을 비워 둔 상태로 Skeletal Mesh로 가져오고, Import Animations 끄기, Convert Scene 켜기, Convert Scene Unit 켜기, Import Uniform Scale 1.0으로 설정합니다. 결과를 열어 루트 본의 Scale이 1.0이고, 캐릭터가 +X 방향을 바라보며, 본 개수가 Blender의 변형 본 개수와 일치하는지 확인합니다.
- Import Mesh를 끄고 Skeleton을 14단계에서 만든 것으로 설정해 애니메이션 FBX를 가져옵니다. 클립을 재생하면서 발과 손의 움직임을 확인합니다.
14단계에서 루트의 Scale이 100으로 표시되면 1단계 또는 9단계로 돌아가세요. 캐릭터가 잘못된 방향을 바라보면 2단계를 확인하세요. Armature라는 본이 생겼다면 4단계를 확인하세요. 트리에 _end 본이 있다면 11단계를 확인하세요.
원클릭 방식
위의 모든 설정은 하나의 규칙이며, 소프트웨어는 바로 이런 규칙을 자동화하기 위해 존재합니다. Cinevva Rig 애드온에는 Unreal 내보내기 프리셋이 포함되어 있습니다. 이 프리셋은 forward -Y와 up Z를 사용하고, FBX_SCALE_NONE으로 단위 스케일을 적용하며, 기본 본 축은 Y, 보조 축은 X로 설정합니다. 리프 본은 추가하지 않고, Face 스무딩을 사용하며, 텍스처를 포함하되 최대 2048px로 제한합니다. 따라서 애드온으로 리깅한 캐릭터는 내보내기 대화 상자를 건드리지 않고도 Unreal로 보낼 수 있습니다. 내보내기 전에 크기 분석 기능이 예상 파일 용량을 지오메트리, 텍스처, 애니메이션, 셰이프 키로 나눠 보여줍니다. 덕분에 3,000개 삼각형으로 구성된 40MB 캐릭터에서 36MB가 4K 텍스처라는 사실을 바로 파악할 수 있습니다. 기본 Blender GLB 내보내기와 비교했을 때 이 프리셋은 실제 모델 4개에서 각각 68%, 89%, 92%, 98% 더 작은 파일을 생성했습니다. 내보내기에는 키, 계정, 네트워크가 필요하지 않습니다. 리깅 기능은 약 2.4GB의 엔진을 한 번 다운로드한 후, 자체 컴퓨터에서 오프라인으로 메시를 스키닝된 Mixamo 명명 규칙의 휴머노이드 아마추어에 리깅합니다. 리그당 추가 비용 없이 출시 가격 $29로 한 번만 구매하면 되며, Windows, macOS, Linux의 Blender 4.2 이상에서 실행됩니다. Blender에서 리타기팅할 수 있는 동일한 CC0 클립 260개도 FBX에 개별 Action으로 포함되므로 15단계에서 바로 사용할 수 있습니다.
자주 묻는 질문
Blender에서 Unreal Engine 5로 내보내려면 어떻게 하나요?
메시와 아마추어를 선택하고 File > Export > FBX (.fbx)로 이동한 다음 Selected Objects를 선택합니다. Apply Scalings를 FBX All로 설정하거나, Unit Scale이 0.01인 장면에서 All Local을 사용하세요. Smoothing은 Face로 설정하고, Add Leaf Bones는 끄며, Primary Bone Axis는 Y, Secondary Bone Axis는 X로 설정합니다. Bake Animation에서 All Actions를 켭니다. 먼저 아마추어 오브젝트의 이름을 root로 변경하세요. Unreal에서는 파일을 Content Browser로 드래그하고 Convert Scene과 Convert Scene Unit을 켜서 가져옵니다.
Unreal에 적합한 Blender FBX 내보내기 설정은 무엇인가요?
Scale 1.0, Apply Unit 켜기, Apply Scalings FBX All, Forward -Z, Up Y, Use Space Transform 켜기, Apply Transform 끄기, Smoothing Face, Apply Modifiers 켜기, Primary Bone Axis Y, Secondary Bone Axis X, Armature FBXNode Type Null, Add Leaf Bones 끄기, Key All Bones 켜기, All Actions 켜기, Simplify 0입니다. 스케일링 설정을 제외하면 Epic의 Send to Unreal 애드온에 포함된 설정과 같습니다. Send to Unreal은 All Local을 사용하며 Unreal 스케일로 작업하는 것을 전제로 합니다.
Unreal에서 Blender 모델의 스케일이 100인 이유는 무엇인가요?
Blender의 미터와 Unreal의 센티미터는 100배 차이가 나기 때문입니다. 내보내기 기본값인 Unit Scale 1.0과 Apply Scalings All Local을 사용하면 이 100이라는 배율이 아마추어 오브젝트의 트랜스폼에 곱해지고, Unreal은 이를 루트 본으로 읽습니다. 장면의 Unit Scale을 0.01로 설정하고 Unreal 크기에 맞춰 모델링하거나, Apply Scalings를 FBX All로 설정해 내보내세요. 그러면 배율이 파일 헤더에 기록되고 Unreal의 Convert Scene Unit이 이를 적용합니다.
Unreal로 가져온 본이 회전되어 있는 이유는 무엇인가요?
Blender 본은 항상 로컬 Y축을 따라 배치되며, 내보내기의 Primary Bone Axis Y와 Secondary X는 해당 좌표 프레임을 그대로 기록합니다. Maya 튜토리얼을 보고 Primary를 X로 바꿨다면 파일에 있는 모든 본의 좌표 프레임이 스킨 및 애니메이션 데이터에 대해 90도 회전합니다. 축을 Y와 X로 되돌린 다음 메시와 애니메이션을 동일한 파일에서 다시 내보내세요.
Unreal에서 Armature 루트 본을 제거하려면 어떻게 하나요?
Blender 기본 내보내기 기능으로는 제거할 수 없지만 이름은 지정할 수 있습니다. Unreal은 아마추어 오브젝트를 해당 오브젝트 이름의 루트 본으로 변환합니다. 따라서 아마추어 데이터가 아닌 아마추어 오브젝트의 이름을 root로 변경하고, 원점에 유지하며, hips를 첫 번째 자식으로 만드세요. Send to Unreal과 Better FBX Importer & Exporter는 모두 이 노드를 제거하고 첫 번째 본을 대신 최상위로 올릴 수 있습니다.
Send to Unreal Blender 애드온은 2026년에도 유지보수되고 있나요?
거의 그렇지 않습니다. 마지막 릴리스는 2023년 11월의 2.4.3이며, Blender 3.3 및 3.6과 Unreal 5.3에서 테스트되었습니다. 마지막 코드 병합은 2024년 7월이었습니다. 저장소는 여전히 공개되어 있고 보관 처리되지 않았으며 2026년 9월에 문서 커밋이 추가되었지만, Blender 4.x용 릴리스는 없습니다. 이를 기반으로 파이프라인을 구축하기 전에 사용 중인 Blender 버전에서 테스트하고, 문제가 생길 경우를 대비해 수동 체크리스트를 준비해 두세요.
Blender 애니메이션을 UE5 Mannequin에 리타기팅하려면 어떻게 하나요?
캐릭터를 Skeletal Mesh로 가져오고 캐릭터용 IK Rig를 만든 다음 hips 본에 Set Pelvis를 지정하고 Auto Create Retarget Chains를 누릅니다. 자신의 IK Rig를 Source로, Mannequin에 기본 제공되는 IK Rig를 Target으로 설정해 IK Retargeter를 만듭니다. 체인 매핑을 확인하고, 리그가 A 포즈라면 리타기팅 포즈를 수정한 다음 애니메이션을 선택하고 Export Selected Animations를 클릭합니다. Epic의 애니메이션을 자신의 캐릭터에 적용할 때도 동일한 단계를 반대로 수행하면 됩니다.
관련 문서
- 자동 리깅의 작동 원리: 스켈레톤, 바인드 포즈, 스킨 웨이트의 개념과 리깅을 위해 메시를 준비하는 방법
- 무료 캐릭터 애니메이션과 자동 리깅: 내보낼 Action을 채울 수 있는 CC0 클립 라이브러리와 무료 리깅 도구
- Blender에서 Unity로 내보내기 체크리스트: 축과 스케일 설정이 다른 Unity에서 동일한 과정을 진행하는 방법
- Blender에서 Godot으로 내보내기 체크리스트: FBX 대신 glTF를 사용하는 방법과 Godot에서 이 과정 대부분이 필요하지 않은 이유
- GLB 뷰어: 가져오기 전에 브라우저에서 스켈레톤 계층 구조, 본 개수, 애니메이션 확인
- Blender용 Cinevva Rig: 위에서 설명한 Unreal 내보내기 프리셋과 크기 분석 기능을 제공하는 애드온