Skip to content

Blender에서 Unity로 내보내기 체크리스트: 올바르게 적용되는 스케일, 축, 본, 애니메이션 (2026) ​

마지막 업데이트: 2026년 9월.

Blender 뷰포트에서 Unity 씬으로 동일한 크기를 유지한 채 이동하는 리깅된 로우 폴리 캐릭터

Blender 모델을 올바른 크기와 방향으로, Unity가 읽을 수 있는 리그와 함께 가져오려면 File > Export > FBX (.fbx)에서 Apply Scalings를 FBX Units Scale(또는 FBX All), Forward를 -Z, Up을 Y로 설정하고, Apply Unit을 켜고, Add Leaf Bones를 끄고, Smoothing을 Face로 설정한 다음, Path Mode를 Copy로 지정하고 Embed Textures를 켜서 FBX를 내보내세요. .blend 파일을 Assets에 직접 넣지 말고, Unity의 glTFast 임포터가 추가 작업 없이 애니메이션을 재생할 수 있을 때까지 glTF는 정적 프롭에만 사용하세요. 아래에서는 각 설정이 중요한 이유, 잘못됐을 때 나타나는 현상, 그리고 Blender나 Unity에서 해결하는 방법을 모두 설명합니다.

빠른 답변 ​

  • 포맷: 리깅되었거나 애니메이션이 있는 모든 에셋에는 FBX를 사용하세요. glTF(.glb)는 com.unity.cloud.gltfast 패키지를 설치한 뒤 정적 프롭에만 사용하세요. 원본 .blend 파일은 절대 사용하지 마세요.
  • 스케일: Blender의 Scene Properties에서 Unit System은 Metric, Unit Scale은 1.0으로 설정하세요. 내보내기 설정에서는 Scale 1.00, Apply Scalings는 FBX Units Scale, Apply Unit은 체크합니다. Unity에서는 Scale Factor를 1로 설정하고 Convert Units를 체크합니다. 키가 1.8m인 캐릭터는 모든 트랜스폼의 스케일이 1인 상태에서 높이 1.8유닛으로 표시되어야 합니다.
  • 축: 내보내기 설정에서 Forward는 -Z, Up은 Y로 지정합니다(기본값). Unity의 Model 탭에서 Bake Axis Conversion을 체크하면 루트 트랜스폼의 X축 -90도가 사라집니다.
  • 본: Add Leaf Bones를 체크 해제합니다. Rigify 또는 Auto-Rig Pro 컨트롤 리그를 내보낸다면 Only Deform Bones를 체크하세요. T 포즈로 모델링하고 신체 부위에 맞춰 본 이름을 지정하면 Humanoid Avatar가 자동으로 매핑됩니다.
  • 애니메이션: 클립마다 Action 하나 또는 NLA 스트립 하나를 사용합니다. NLA Strips와 All Actions를 켜고, Key All Bones도 켠 상태에서 Sampling Rate를 1로 설정하세요. Unity에서는 FBX AnimStack마다 하나씩, Animation 탭에 클립이 표시됩니다.
  • 텍스처: Path Mode는 Copy로 설정하고 Embed Textures를 켭니다. Unity의 Materials 탭에서 Extract Textures를 누른 다음 Extract Materials를 누르세요. 분홍색으로 보인다면 텍스처가 누락된 것이 아니라 셰이더가 렌더 파이프라인과 맞지 않는다는 뜻입니다.

빠른 참조 ​

Unity용 Blender FBX 내보내기에서 중요한 설정과 권장값, 그리고 그 이유입니다. 옵션 이름과 설명은 Blender 매뉴얼 및 내보내기 도구의 소스를 참고했습니다.

패널설정Unity 권장값이유
IncludeSelected Objects켜기카메라, 조명, 레퍼런스 평면은 함께 배포할 필요가 없습니다
IncludeObject TypesArmature, Mesh(로케이터를 사용한다면 Empty)카메라와 조명은 결국 삭제하게 될 Unity 컴포넌트로 임포트됩니다
TransformScale1.00다른 값을 사용하면 출처를 알 수 없는 배율이 파일에 베이크됩니다
TransformApply ScalingsFBX Units Scale 또는 FBX All미터-센티미터 변환 배율을 각 오브젝트가 아니라 파일 헤더에 저장합니다
TransformForward / Up-Z Forward, Y UpUnity는 Y축이 위쪽이고 Z축이 앞쪽입니다
TransformApply Unit켜기Scene의 단위 설정을 반영합니다
TransformUse Space Transform켜기축 변환을 오브젝트 회전에 기록합니다
TransformApply Transform끄기내보내기 도구 자체에서 아마추어 및 애니메이션과 함께 사용할 경우 문제가 있다고 명시합니다
GeometrySmoothingFaceUnity에서 블렌드 셰이프 노멀을 처리하려면 스무딩 그룹이 필요합니다
GeometryApply Modifiers켜기평가된 메시를 내보냅니다(미러, 서브디비전, 삼각화)
ArmaturePrimary / Secondary Bone AxisY / X(기본값)Unity에는 중요하지 않지만 리타게팅 도구에는 중요합니다
ArmatureArmature FBXNode TypeNull기본값이며 빈 루트 GameObject로 임포트됩니다
ArmatureOnly Deform Bones컨트롤 리그는 켜고, 일반 아마추어는 끄기IK 타깃과 위젯이 스켈레톤에 포함되지 않게 합니다
ArmatureAdd Leaf Bones끄기켜면 모든 체인 끝에 Unity에서 표시되는 _end 본이 추가됩니다
Bake AnimationKey All Bones, NLA Strips, All Actions, Force Start/End Keying모두 켜기클립마다 AnimStack 하나를 만들고 모든 본에 키를 기록합니다
Bake AnimationSampling Rate / Simplify1.0 / 1.0프레임마다 키 하나를 기록하고 가볍게 커브를 정리합니다
MainPath Mode / Embed TexturesCopy / 켜기텍스처가 .fbx 파일 안에 함께 포함됩니다

.blend 파일을 Assets에 직접 넣지 마세요 ​

Unity는 .blend 파일을 받아들이지만, 바로 그것이 함정입니다. Unity의 독점 포맷 페이지에서는 어떤 일이 일어나는지 설명합니다. “독점 파일을 Unity로 직접 임포트하려면 3D 모델링 소프트웨어가 설치되어 있어야 하며”, “독점 파일을 Unity로 처음 임포트할 때는 3D 모델링 소프트웨어가 명령줄 프로세스로 실행되어야 합니다.” 즉, Unity가 백그라운드에서 Blender의 FBX 내보내기 도구를 사용자가 제어할 수 없는 설정으로 실행합니다. 따라서 리프 본과 이 페이지에서 다루는 대부분의 문제를 일으키는 스케일 구성 등 내보내기 도구의 기본값이 그대로 적용됩니다.

같은 페이지에서는 .blend 방식으로 할 수 없는 것도 설명합니다. “텍스처와 디퓨즈 색상이 자동으로 할당되지 않으며”, “Blender는 애니메이션 내부의 표시 여부 값을 FBX 파일로 내보내지 않습니다.” Unity의 3D 포맷 페이지에서는 팀 작업 시의 문제도 덧붙입니다. .blend로 저장한 에셋은 “컴퓨터에 해당 3D 모델링 소프트웨어가 설치되어 있지 않으면 임포트에 실패”하므로 빌드 머신을 포함해 “Unity 프로젝트에서 작업하는 모든 사람에게 올바른 소프트웨어가 설치되어 있어야 합니다.” Unity 자체의 결론은 다음과 같습니다. “가능하면 항상 .fbx 파일 포맷을 사용하고, 프로덕션에서는 독점 모델 파일 포맷을 사용하지 않는 것이 모범 사례입니다.”

.blend 파일은 Assets 외부의 소스 폴더(또는 Unity가 무시하는 ~로 끝나는 폴더)에 보관하고, FBX를 Assets로 내보내세요.

2026년 Unity에서는 FBX와 glTF 중 무엇을 써야 하나요? ​

FBX입니다. Unity의 임포터는 .fbx, .dae, .dxf, .obj를 네이티브로 읽으며, 3D 포맷 페이지에는 glTF가 전혀 언급되지 않습니다. glTF 지원은 Window > Package Manager > Add package by name에서 com.unity.cloud.gltfast를 입력해 추가하는 Unity glTFast 패키지를 통해 제공됩니다. 2023년 12월부터 Unity 공식 패키지가 되었으며, 2026년 3월 기준 버전은 6.17.0입니다. 설치 페이지에 따르면 에디터에서 최신 버전과 종속 패키지가 함께 설치됩니다. 설치한 후에는 .glb 파일을 Assets에 넣으면 ScriptedImporter를 통해 임포트되며 Built-in, URP, HDRP를 모두 지원합니다.

하지만 다음 세 가지 이유로 캐릭터용 기본 포맷으로 쓰기는 어렵습니다. 기능 페이지에서는 애니메이션이 “레거시 Animation System을 통해서만” 완전히 지원된다고 설명합니다. Mecanim에 대해서는 “애니메이션 클립을 Mecanim 호환 형식으로 임포트할 수 있지만, 자동으로 할당되지 않으며 추가 작업 없이는 재생할 수 없습니다.” Draco, KTX2, Meshopt에는 각각 별도의 패키지(com.unity.cloud.draco, com.unity.cloud.ktx, com.unity.meshopt.decompress)가 필요합니다. 또한 Unity의 텍스처 임포터는 BMP, EXR, GIF, HDR, IFF, JPG, PICT, PNG, PSD, TGA, TIFF는 읽지만 WebP는 읽지 못합니다. glTFast 6.17에 WebP 이미지용 명시적 오류가 추가된 이유가 바로 이것입니다. 웹용으로 최적화된 GLB(WebP 텍스처, Draco)는 Unity에 적합한 파일이 아닙니다.

glTF는 정적 프롭과 서버에서 런타임에 불러오는 에셋에 적합하며, 이런 용도에서는 glTFast가 매우 뛰어납니다. Animator Controller에서 사용할 리깅 및 애니메이션 캐릭터라면 FBX로 내보내세요. 이미 GLB가 있다면 GLB 뷰어에서 내부 콘텐츠를 확인할 수 있으며, Blender로 깔끔하게 임포트한 후 다시 내보낼 수도 있습니다.

스케일: 모델이 100배 크게 들어오거나 모든 항목에 0.01이 붙는 이유 ​

FBX는 센티미터를, Blender는 미터를 사용합니다. 내보내기 도구의 단위 코드는 한 줄입니다. Blender에서 FBX로 변환하는 배율은 100.0 * scene.unit_settings.scale_length이며, FBX가 “파일의 ‘기준’ 단위를 UnitScaleFactor 속성에 저장합니다(1.0은 센티미터를 의미)”라는 주석이 있습니다. 따라서 미터 단위로 내보낸 모든 파일에는 어딘가에 100이라는 배율이 들어가며, Apply Scalings 드롭다운에서 그 위치를 결정합니다.

기본값인 All Local은 “사용자 지정 스케일과 단위 스케일을 각 오브젝트 트랜스폼에 적용하고, FBX 스케일은 1.0으로 유지”하는 방식입니다. 파일의 모든 오브젝트 트랜스폼에 스케일 100이 적용됩니다. 이후 Unity의 Model 탭에서 “모델 파일에 정의된 모델 스케일을 Unity의 스케일로 변환”하는 Convert Units가 적용됩니다. 그 결과 프리팹은 올바른 크기로 보이지만, 메시는 스케일 100이고 이를 상쇄하는 파일 스케일은 0.01이 됩니다. 이것이 유명한 0.01 문제입니다. 본에 무언가를 자식으로 연결하거나, 코드로 트랜스폼을 제어하거나, 리타게팅하기 전까지는 작동하지만, 그런 작업을 시작하면 숨겨져 있던 100 배율이 드러납니다.

FBX Units Scale은 “사용자 지정 스케일을 각 오브젝트 트랜스폼에 적용하고, 단위 스케일은 FBX 스케일에 적용”합니다. 즉, 100이 파일의 단위 헤더로 이동하고 모든 오브젝트의 스케일은 1로 유지됩니다. FBX All은 단위 배율과 사용자 지정 Scale 값을 모두 헤더에 넣으며, Scale을 1.00으로 유지하는 한 결과는 같습니다. 둘 다 Unity에 적합합니다. Unity에서는 기본값을 사용하는 것이 좋습니다. Unity의 Model 탭에 따르면 Scale Factor가 존재하는 이유는 “Unity의 물리 시스템에서 게임 월드의 1m가 임포트된 파일의 1유닛이기를 기대하기 때문”입니다. 따라서 Scale Factor는 1로 유지하고 Convert Units는 체크한 상태로 두세요.

1미터 큐브의 세 가지 도착 결과FBX는 센티미터 단위를 사용하므로 모든 내보내기에 100이라는 계수가 포함됩니다. Apply Scalings가 이 값의 적용 위치를 결정합니다.BlenderUnit Scale 1.0, 미터1m 큐브스케일 1, 1, 1File > Export > FBXAll Local(기본값)100이 모든 오브젝트 트랜스폼에 적용됩니다. Unity는 Convert Units로 이를 상쇄합니다.크기는 정상입니다. 트랜스폼 스케일은 100, 파일 스케일은 0.01입니다.프롭을 본에 자식으로 연결하거나 코드로 트랜스폼을 제어할 때 문제가 됩니다.FBX Units Scale 또는 FBX All100이 파일의 UnitScaleFactor 헤더에 들어갑니다. 오브젝트 스케일은 1로 유지됩니다.크기는 정상입니다. 트랜스폼 스케일은 1, 1, 1입니다.Unity에서 Convert Units 끄기 또는 Scale Factor 변경100을 상쇄하는 요소가 없습니다. 큐브의 한 변이 100유닛이 됩니다.100mUnity에서 수정: Scale Factor를 1로 설정하고 Convert Units를 선택한 뒤 다시 임포트합니다.
익스포터는 미터 단위 씬에 항상 100이라는 계수를 기록합니다. All Local은 각 오브젝트에 이 값을 스케일 100으로 저장하고 Unity의 Convert Units가 이를 되돌리도록 합니다. 그래서 임포트한 Blender 오브젝트에는 100과 0.01이 표시됩니다. FBX Units Scale과 FBX All은 대신 파일 헤더에 이 값을 저장하므로 트랜스폼이 깔끔하게 들어옵니다.

그 밖에도 흔한 스케일 실수가 두 가지 있습니다. 센티미터 단위로 작업하려고 Scene Properties에서 Unit Scale을 변경했다면 익스포터는 100에 해당 Unit Scale을 곱합니다. Blender 매뉴얼에 따르면 이 설정은 "사용자 인터페이스에 표시되는 값에만 영향을 주며 내부 동작 방식에는 영향을 주지 않습니다." 따라서 Unit Scale이 0.01이고 Apply Unit이 켜져 있으면 키 180cm의 캐릭터가 1.8cm로 축소될 수 있습니다. 또한 오브젝트 스케일이 1.0이 아니면 FBX에 베이크됩니다. 모든 항목을 선택하고 Object > Apply > All Transforms(Ctrl-A)를 실행하세요. Blender 매뉴얼에서도 "리깅과 애니메이션 전에 트랜스폼을 적용하는 것이 좋습니다."라고 설명합니다. 이미 애니메이션이 들어 있는 아마추어에는 스케일을 적용하지 마세요. 키프레임까지 함께 리스케일되기 때문입니다.

축: X의 -90은 어디서 오는가 ​

Blender는 Z축이 위쪽입니다. FBX 매뉴얼에서는 이를 명확히 설명합니다. "Blender는 Y Forward, Z Up을 사용합니다(정면 뷰가 +Y 방향을 바라보기 때문입니다). 예를 들어 애플리케이션에서 Y축을 위쪽 축으로 사용하는 경우가 흔한데, 이때는 -Z Forward, Y Up이 필요합니다." Unity는 Y축이 위쪽이고 Z축이 앞쪽입니다. Blender의 정면 뷰는 +Y 방향을 바라보므로 정면 카메라를 향하도록 모델링한 캐릭터는 -Y를 향합니다. 익스포터의 기본값인 -Z Forward와 Y Up은 이를 Unity의 앞쪽 방향에 맞게 매핑합니다. 그대로 두세요.

축을 올바르게 설정해도 Blender FBX의 루트 오브젝트는 Unity Inspector에서 X 회전값이 -90(흔히 -89.98)으로 표시되고, 자식에는 이를 상쇄하는 회전이 들어갑니다. 이는 축 변환이 버텍스에 베이크되지 않고 트랜스폼으로 저장되기 때문입니다. 이를 제거하는 세 가지 방법을 권장 순서대로 소개합니다.

Unity에서 Bake Axis Conversion을 사용합니다. Model 탭의 이 옵션은 "다른 축 시스템을 사용하는 모델을 임포트할 때 축 변환 결과를 애플리케이션의 에셋 데이터(예: 버텍스 또는 애니메이션 데이터)에 직접 베이크합니다." 이 옵션을 선택하면 루트가 0, 0, 0으로 표시되며 Blender에서는 아무것도 변경되지 않습니다.

Blender에서 반대 방향으로 회전합니다. 모든 트랜스폼을 적용한 상태에서 오브젝트를 X축으로 -90도 회전하고 회전을 적용한 다음, X축으로 +90도 회전한 뒤 적용하지 않은 채 내보냅니다. 익스포터의 Use Space Transform("오브젝트 회전에 전역 공간 트랜스폼 적용")은 이 +90도를 Unity 쪽에서 회전값 0으로 바꿉니다. 커뮤니티 애드온으로 이를 자동화할 수 있습니다. blender-to-unity-fbx-exporter 프로젝트는 내보낸 모든 오브젝트에 "시각적 포즈를 실제로 변경하지 않으면서 트랜스폼의 X축을 기준으로 +90도 회전"을 적용하고, 내보내기가 끝나면 원래대로 되돌립니다.

익스포터에서 Apply Transform을 사용합니다. 리깅된 항목에는 사용하지 마세요. 자체 설명도 "(경고! 실험적 옵션이므로 위험을 감수하고 사용하세요. 아마추어/애니메이션에서 제대로 작동하지 않는 것으로 알려져 있습니다)"로 끝나며, 익스포터에도 이 옵션 옆에 오류 아이콘이 표시됩니다. 정적 프롭에서는 작동하지만, 사용하지 않아도 괜찮습니다.

Blender 축과 Unity 축 비교같은 캐릭터에 서로 다른 두 규칙을 적용합니다. 익스포터의 -Z Forward, Y Up 설정이 둘을 연결합니다.Blender오른손 좌표계, Z축 위쪽, 정면 뷰는 +Y 방향Unity왼손 좌표계, Y축 위쪽, Z축 앞쪽Z축 위쪽X-Y, 모델의 정면+YY축 위쪽XZ축 앞쪽익스포터-Z ForwardY Up= X축 기준 90도Bake Axis Conversion을 선택하지 않으면 Unity는 이 90도를 루트 트랜스폼에 -90으로 저장합니다.Blender의 Z는 Unity의 Y가 되고, Blender의 -Y는 Unity의 +Z가 됩니다.
Blender의 위쪽 축은 Z이며, 정면을 향한 모델은 -Y 방향을 바라봅니다. Unity의 위쪽 축은 Y이고 앞쪽은 +Z입니다. 익스포터의 기본값인 Forward -Z, Up Y는 두 좌표계를 매핑하는 X축 기준 90도 회전과 정확히 일치합니다. Unity는 이 회전을 루트에 -90도 회전으로 유지하거나, Bake Axis Conversion을 사용하면 버텍스에 기록합니다.

본: 리프 본, 방향 및 Humanoid Avatar ​

리프 본. Add Leaf Bones는 기본적으로 켜져 있으며 "내보낸 데이터에서 아마추어를 편집하려는 경우 마지막 본의 길이를 지정할 수 있도록 각 체인의 끝에 최종 본을 추가합니다."라고 설명되어 있습니다. 익스포터는 각 본에 부모 이름과 _end를 결합한 이름을 지정하므로 Unity 계층 구조가 Head_end, LeftHand_end, LeftToeBase_end로 가득 차게 됩니다. Generic 리그에는 해가 없지만 Humanoid 자동 매핑과 리타게팅 도구에는 혼란을 줍니다. 이 옵션을 선택 해제하세요. 다른 사람이 만든 FBX를 다시 임포트한다면 임포터의 Ignore Leaf Bones 옵션으로 제거할 수 있습니다.

컨트롤 리그. Rigify 또는 Auto-Rig Pro 리그에는 컨트롤, IK 타깃, 메커니즘을 위한 비변형 본이 수백 개 있습니다. Only Deform Bones는 "변형 본만 기록합니다(그리고 변형 자식이 있는 비변형 본도 기록)"라는 옵션으로, Unity에 필요한 스켈레톤을 만들어 줍니다. 컨트롤 리그의 제약 조건 자체는 내보내지 않고 그 결과만 키프레임으로 내보내므로, 먼저 애니메이션을 변형 본에 베이크하세요.

본 방향. Blender 본은 로컬 Y축을 따라 뻗습니다. Unity는 바인드 포즈와 스킨 웨이트를 읽고 주어진 그대로 재생하므로 Primary 및 Secondary Bone Axis 설정은 Y와 X로 유지해도 됩니다. 이 설정은 같은 FBX를 Unreal이나 리타게팅 애드온처럼 특정 규칙을 전제로 하는 도구로 보낼 때 중요합니다.

Humanoid Avatar. Unity의 Rig 탭에서는 Generic("리그가 비인간형인 경우(네발동물 또는 애니메이션을 적용할 기타 엔티티)") 또는 Humanoid("리그가 인간형인 경우(다리 두 개, 팔 두 개, 머리가 있음)")를 선택할 수 있습니다. Humanoid를 사용하면 캐릭터 간 리타게팅을 활용할 수 있으며, Avatar 구성 페이지에 설명된 규칙을 따라야 합니다. 스켈레톤에는 "실제 인간의 스켈레톤 구조를 대략적으로 따르는 방식으로 구성된 본이 최소 15개" 있어야 합니다. "Unity가 Avatar를 만들 수 없으면 Configure 버튼 옆에 십자 표시가 나타나며 Avatar 하위 에셋이 표시되지 않습니다." Configure에서 Unity가 허용한 본은 "Avatar Mapping 탭에서 녹색으로 표시"되고, 거부된 본은 "빨간색으로 표시"됩니다. 포즈에도 조건이 있습니다. "본 할당은 올바르지만 캐릭터의 포즈가 올바르지 않으면 'Character not in T-Pose' 메시지가 표시됩니다. Pose 메뉴에서 Enforce T-Pose를 선택해 문제를 해결할 수 있습니다." 따라서 리그와 레스트 포즈를 모두 T-포즈로 만들고, 신체 부위에 따라 본 이름을 지정하세요(Unity의 자동 매핑 지침은 본 이름을 “본이 나타내는 신체 부위를 반영하는 방식으로” 지정하라고 권장합니다). Mixamo 이름(mixamorig:Hips, mixamorig:LeftArm)은 안정적으로 자동 매핑되며, 많은 리거가 이 이름을 사용하는 이유 중 하나입니다. 일부 본을 인식하지 못하면 Hierarchy에서 해당 슬롯으로 본을 드래그한 다음 Pose > Enforce T-Pose, Apply를 차례로 실행하고, 같은 리그를 다음에 내보낼 때 사용할 수 있도록 결과를 Human Template(.ht)로 저장하세요.

아직 리그가 없다면 자동 리깅 가이드에서 자동 리거가 메시에 요구하는 사항을 확인할 수 있습니다. Cinevva Rig 애드온은 Windows, macOS, Linux용 Blender 4.2 이상에서 자체 컴퓨터로 오프라인 상태에서 Mixamo 방식으로 이름이 지정된 휴머노이드 아마추어를 Blender 내부에 생성하며, 출시 가격은 1회 결제 $29입니다.

루트 모션 ​

루트 모션은 팔다리가 제자리에서 움직이는 것과 달리 캐릭터의 루트가 월드 공간을 이동하는 것을 의미합니다. Unity의 루트 모션 페이지에서는 “Body Transform을 Y 평면에 투영한 것이며 런타임에 계산되는” Root Transform을 사용합니다. 클립마다 회전, Y, XZ를 포즈에 베이크할지, 아니면 GameObject를 이동시키는 모션으로 유지할지 선택할 수 있습니다. 캐릭터가 미끄러지듯 이동하지 않도록 “델타 Position(XZ)을 0으로 강제”해야 하는 대기 애니메이션에서는 XZ의 Bake Into Pose가 일반적인 설정입니다. Generic 리그의 경우에는 “Body Transform을 사용해 Root Transform을 계산하거나 투영하는 대신 Root Node에 설정된 트랜스폼을 사용”하며, Rig 탭에서 Root Node의 기본값은 None입니다. 따라서 여기에서 엉덩이 본이나 루트 본을 선택해야 하며, 그렇지 않으면 루트 모션이 아무 경고 없이 작동하지 않습니다.

Blender 쪽 규칙은 이동을 아마추어 오브젝트가 아닌 본에 애니메이션으로 적용하는 것입니다. 익스포터는 아마추어 오브젝트를 Null 노드로 기록하며(Armature FBXNode Type, “Blender의 Empty와 유사”), Unity의 루트 모션 설정은 해당 Empty가 아니라 Avatar 아래의 본을 확인합니다. 바닥에 위치하고 Hips의 부모이며 이동 키가 적용된 전용 루트 본은 Unity의 Root Node 옵션이 의도한 구조입니다. 이동을 코드로 처리하도록 제자리에서 제작된 클립에는 루트 본이 전혀 필요하지 않으며, 대부분의 애니메이션 라이브러리도 이러한 형태로 제공됩니다.

애니메이션: 액션, NLA 스트립, 베이킹 ​

Unity는 FBX AnimStack을 읽고 Animation 탭에 각각을 클립으로 표시하며, 여기에서 클립을 분할하고 이름을 바꾸고 반복하거나 다듬을 수 있습니다. Blender의 Bake Animation 패널은 생성되는 AnimStack 수를 결정합니다.

클립당 하나의 Action. All Actions를 켜면 익스포터가 “전역 씬 애니메이션 대신 각 Action을 별도의 FBX AnimStack으로 내보냅니다(애니메이션이 적용된 오브젝트에는 호환되는 모든 Action이 포함되며, 그 외에는 애니메이션이 전혀 포함되지 않음)”. Action 이름을 Idle, Walk, Run, Jump로 지정하면 Unity에 해당 이름으로 표시됩니다. 이 설명에는 주의할 점이 있습니다. 채널이 아마추어와 일치하는 모든 Action은 호환되는 것으로 간주되므로, 다른 리그에서 남은 Action이 잘못 연결될 수 있습니다. 배포하지 않을 Action은 삭제하세요.

클립당 하나의 NLA 스트립. NLA Strips를 켜면 익스포터가 “전역 씬 애니메이션 대신 음소거되지 않은 각 NLA 스트립을 별도의 FBX AnimStack으로 내보냅니다”. 각 Action을 자체 트랙으로 Push Down하고, 배포하지 않을 트랙을 음소거하면 프레임 범위를 정확히 제어할 수 있으며 두 Action을 블렌딩한 클립도 내보낼 수 있습니다.

제약 조건을 사용했다면 먼저 베이크하세요. Blender FBX 매뉴얼은 내보내지지 않는 항목에 제약 조건을 포함합니다. “제약 조건 사용 결과는 키프레임 애니메이션으로 내보내지지만 제약 조건 자체는 FBX에 저장되지 않습니다.” IK, Copy Rotation, Child Of는 내보내기 Sampling Rate에 따라 샘플링되므로 Key All Bones(“모든 본에 최소 하나 이상의 애니메이션 키를 강제로 내보내기”)와 Force Start/End Keying을 켜 두어야 합니다. Unity 자체의 Bake Animations 옵션은 “Autodesk Maya, Autodesk 3ds Max 및 Cinema 4D 파일에서만 사용할 수 있으므로” 베이킹은 Blender에서 수행해야 합니다. 복사본에서 Visual Keying과 Clear Constraints를 사용해 Object > Animation > Bake Action을 실행하면 어떤 프로그램에서도 잘못 해석할 여지가 없는 FK 전용 Action을 얻을 수 있습니다.

Simplify. 익스포터의 Simplify(“베이크된 값을 단순화할 정도. 0.0이면 비활성화되며 값이 높을수록 더 많이 단순화됨”) 기본값은 1.0이며 게임용 클립에 안전한 설정입니다. Blender에서는 정상인 클립이 Unity에서 흔들린다면 이 값을 0으로 설정하고 Unity의 Anim. Compression이 키프레임을 줄이도록 하세요.

Unity에서 유용한 두 가지 습관도 있습니다. [email protected]라는 이름의 파일은 자동으로 하나로 묶입니다. 애니메이션 분할 페이지에 따르면 “Unity는 네 파일을 모두 자동으로 임포트하고 모든 애니메이션을 @ 기호가 없는 파일에 수집”합니다. 따라서 hero.fbx와 [email protected]를 함께 사용하면 Walk 클립이 포함된 하나의 캐릭터가 생성되며, 메시를 건드리지 않고 개별 클립 하나만 다시 내보낼 수 있습니다. 또한 FBX에는 반복 개념이 없으므로 Animation 탭에서 반복 애니메이션의 Loop Time을 설정하세요.

CGDive가 Blender의 Generic 캐릭터 리그와 Unity용 FBX 내보내기 설정을 설명하며, 위에서 다룬 변형 본과 리프 본 선택도 함께 보여 줍니다.

텍스처와 분홍색 머티리얼 ​

별도로 설정하지 않으면 Blender의 FBX 익스포터는 경로로 텍스처를 참조합니다. Path Mode를 Copy로 설정하면 “FBX 바이너리 파일에 텍스처 포함('Copy' 경로 모드에서만 사용 가능!)”으로 설명된 Embed Textures 토글을 사용할 수 있습니다. 이제 .fbx 파일에 이미지가 포함됩니다. Unity의 Materials 탭은 기본적으로 머티리얼을 하위 에셋으로 유지하며(“Use Embedded Materials”), 두 버튼을 사용해 이를 추출할 수 있습니다. Extract Textures는 포함된 이미지를 폴더에 기록하고, Extract Materials는 하위 에셋을 편집 가능한 .mat 파일로 변환합니다. 먼저 Textures를 추출한 다음 Materials를 추출해야 추출된 머티리얼이 추출된 텍스처를 참조합니다. 추출한 뒤에는 “새로운 임포트 또는 원본 에셋의 변경 사항이 추출된 머티리얼에 영향을 주지 않습니다.” 이는 원하는 동작입니다. 메시를 백 번 다시 내보내도 Unity 쪽 머티리얼 수정 사항이 사라지지 않습니다.

임포트되는 것은 베이스 컬러와 몇 가지 슬롯입니다. Blender의 Principled BSDF와 일대일로 대응하는 FBX PBR 표준은 없으므로 Unity에서 러프니스, 메탈릭, 노멀 맵을 직접 할당해야 합니다. Material Creation Mode의 “Import via MaterialDescription”은 FBX에 포함된 머티리얼 설명을 읽으므로 Standard (Legacy) 모드보다 원본에 더 가깝게 가져옵니다.

다음은 분홍색 문제입니다. Unity의 오류 셰이더 페이지에 따르면 “Unity는 오브젝트의 머티리얼이나 셰이더에 문제가 있을 때 해당 오브젝트를 기본 오류 셰이더로 렌더링”합니다. 예를 들어 셰이더가 컴파일되지 않거나 지원되지 않는 경우이며, “기본 오류 셰이더는 마젠타색(밝은 분홍색)”입니다. 임포트와 관련된 구체적인 사례도 있습니다. “프로젝트에서 Universal Rendering Pipeline(URP)을 사용하는 경우 오브젝트가 Built-In Render Pipeline의 셰이더를 사용하면 Unity가 기본 오류 셰이더로 렌더링할 수 있습니다.” 임포트된 FBX 머티리얼은 기본적으로 Built-in 셰이더를 사용하므로 URP 또는 HDRP 프로젝트에서는 분홍색으로 표시됩니다. 텍스처 누락은 머티리얼을 분홍색으로 만들지 않으며, 회색이나 흰색으로 만듭니다.

해결 방법은 메뉴 하나입니다. 분홍색 머티리얼을 선택하고 Edit > Rendering > Materials > Convert Selected Materials to URP를 실행하세요. 또는 컨버터 문서에 따라 Window > Rendering > Render Pipeline Converter를 열고 Built-in Render Pipeline to URP를 선택한 후 Material Upgrade를 체크하고 실행하세요. 한 가지 제한은 “이 컨버터가 커스텀 셰이더를 사용하는 머티리얼을 지원하지 않는다”는 것이지만, 임포트된 FBX 머티리얼은 커스텀 셰이더를 사용하지 않습니다. HDRP에도 Edit > Rendering > Materials 아래에 동일한 기능이 있습니다.

스무딩과 노멀 ​

Blender의 Smoothing 드롭다운에는 네 가지 옵션이 있으며, 그중 하나는 Unity 기능 하나를 망가뜨립니다. Normals Only는 “에지 또는 페이스 스무딩 데이터를 기록하지 않고 노멀만” 내보냅니다. 매뉴얼에서는 “임포터가 커스텀 분할 노멀을 지원한다면 일반적으로 Normals Only가 가장 정확하다”고 설명합니다. Face는 페이스 스무딩을 기록하고, Edge는 에지 스무딩을 기록하며, Smoothing Groups는 함께 셰이딩되는 페이스 그룹을 기록합니다. Unity는 모든 경우에 노멀을 정상적으로 임포트합니다(Normals 설정의 기본값은 Import). 하지만 Unity의 Model 탭은 Import BlendShapes 항목에서 “블렌드 셰이프 노멀을 임포트하려면 FBX 파일에 스무딩 그룹이 필요합니다”라고 경고합니다. 셰이프 키가 있는 페이스를 Normals Only로 내보내면 모프 타깃의 셰이딩이 평평해지거나 깨진 상태로 임포트됩니다.

Unity에서는 Face가 안전한 기본값이며, 파일을 3ds Max 계열 도구에도 전달한다면 Smoothing Groups를 사용하세요. 하드 에지가 Smooth by Angle 모디파이어로 생성된 경우 Apply Modifiers를 체크하지 않으면 하드 에지가 사라집니다. Blender에서는 매끄럽지만 Unity에서는 메시가 각져 보인다면, 빠른 진단을 위해 Unity의 Normals를 Calculate로, Smoothness Source를 From Angle로 변경한 다음 내보내기 설정을 수정하세요.

증상, 원인, 해결 방법 ​

Unity에서 나타나는 증상원인해결 방법
모델이 매우 작거나 100배 크게 표시됨Scale Factor가 변경되었거나 Convert Units가 꺼져 있음. 또는 Blender Unit Scale이 1.0이 아닌 상태에서 Apply Unit이 켜져 있음Unity: Scale Factor 1, Convert Units 켜기. Blender: Unit Scale 1.0, Scale 1.00
크기는 맞지만 스케일이 100이고 File Scale이 0.01로 표시됨Apply Scalings가 All Local로 설정되어 있음Apply Scalings를 FBX Units Scale 또는 FBX All로 설정하고 다시 임포트
루트가 X축에서 -90도(또는 -89.98도) 회전함축 변환이 트랜스폼으로 저장됨Model 탭에서 Bake Axis Conversion 체크
캐릭터가 뒤쪽이나 옆쪽을 바라봄Blender에서 +Y 또는 +X 방향을 바라보도록 모델링됨Blender에서 -Y 방향(정면 뷰)을 바라보게 하고 Forward -Z 유지
추가 Head_end, Hand_end 본이 생김Add Leaf Bones가 켜져 있음Add Leaf Bones 체크 해제
Hierarchy에 수백 개의 본, IK 타깃, 위젯이 표시됨컨트롤 리그 전체가 내보내짐Only Deform Bones를 체크하고 먼저 변형 본에 베이크
Configure 옆에 X 표시가 있고 Avatar가 없음필수 본 15개 중 일부가 매칭되지 않았거나 본을 인식하지 못함신체 부위에 따라 본 이름을 바꾸고 필수 본 15개를 확인한 뒤 직접 매핑
“Character not in T-Pose”레스트 포즈가 A-포즈이거나 편안한 자세임Pose > Enforce T-Pose를 실행하거나 Blender에서 레스트 포즈 수정
애니메이션은 재생되지만 캐릭터가 이동하지 않음Generic 리그에서 Root Node가 None이거나 이동 키가 아마추어 오브젝트에 적용됨Rig 탭에서 Root Node를 설정하고 루트 본에 이동 키 적용
클립 하나만 임포트됨NLA Strips와 All Actions가 꺼져 있거나 Action에 Fake User가 없음둘 다 켜고 클립당 하나의 Action 또는 스트립 사용
IK를 사용한 부분에서 팔다리가 밀리거나 튐제약 조건이 샘플링된 키로 내보내졌으며 Simplify 값이 너무 높음Blender에서 Bake Action 실행, Simplify 0
머티리얼이 밝은 분홍색임URP 또는 HDRP 프로젝트에서 Built-in 셰이더를 사용함Convert Selected Materials to URP(또는 HDRP) 실행
머티리얼이 회색이고 텍스처가 누락됨Path Mode가 Copy가 아니거나 Embed Textures가 꺼져 있음Copy와 Embed Textures를 사용한 다음 Unity에서 Extract Textures 실행
블렌드 셰이프의 셰이딩이 평평하거나 잘못됨Smoothing이 Normals Only로 설정됨Smoothing을 Face 또는 Smoothing Groups로 설정
Blender에서는 매끄럽지만 각져 보임Smooth by Angle 모디파이어가 적용되지 않음Apply Modifiers 체크
모든 팀원에게 임포트 오류가 발생함Assets에 .blend 파일이 있지만 팀원의 컴퓨터에 Blender가 없음FBX로 내보내고 .blend 파일을 Assets 외부에 보관
시간을 절약하는 순서로 확인할 여섯 가지 질문뒤의 각 검사는 앞의 검사가 통과되었다고 가정하므로, 회전 전에 크기를, 애니메이션 전에 본을 수정하세요.아니요아니요아니요아니요아니요아니요크기가 맞고 트랜스폼 스케일이 1인가요?1.8m 캐릭터의 높이가 1.8유닛으로 표시됨Apply Scalings: FBX Units Scale. Unity: Convert Units 켜기.Blender Unit Scale 1.0, 익스포터 Scale 1.00루트 회전이 0, 0, 0인가요?그리고 +Z를 향하고 있나요?Unity의 Model 탭에서 Bake Axis Conversion을 켜세요.-Z Forward, Y Up 유지. Blender에서는 -Y 방향.본 목록에 변형 스켈레톤만 있나요?_end 본, IK 타깃, 위젯이 없어야 함Add Leaf Bones 끄기. Only Deform Bones 켜기.먼저 컨트롤 릭 모션을 변형 본에 베이크Humanoid Avatar 매핑이 녹색인가요?Configure 옆에 X가 없고 T-pose 메시지도 없음신체 부위 본 이름, 필수 본 15개, T-pose 레스트.Pose > Enforce T-Pose, 빨간 본은 직접 매핑모든 클립이 있고 실제로 움직이나요?액션 또는 스트립당 클립 하나, 루트 모션 작동NLA Strips + All Actions 켜기, Key All Bones 켜기.Generic 릭: Root Node 설정. 익스포트 전 IK 베이크.머티리얼에 텍스처가 있고 분홍색이나 회색이 아닌가요?분홍색 = 잘못된 파이프라인, 회색 = 텍스처 없음Convert Selected Materials to URP. Copy + Embed Textures.그다음 Extract Textures, 이어서 Extract Materials
왼쪽 열을 위에서 아래로 확인하세요. 답이 ‘아니요’라면 오른쪽에 있는 원인 설정 하나를 수정하면 됩니다. 아마추어의 스케일 100은 다른 모든 문제에 가려지므로 크기를 먼저 확인하고, Unity가 인식하지 못한 스켈레톤에서는 클립이 재생될 수 없으므로 애니메이션보다 본을 먼저 확인합니다.

10단계 체크리스트 ​

Blender에서 파일 복사본을 대상으로 이 절차를 실행한 다음 Unity에서 이어서 진행하세요.

  1. 씬을 정리합니다. 카메라, 조명, 참조 이미지와 최종 빌드에 포함되지 않을 모든 요소를 삭제하세요. 적절한 경우 같은 머티리얼을 공유하는 메시를 합치고, 변형되어야 하는 모든 메시가 Armature 모디파이어와 함께 아마추어에 페어런팅되어 있는지 확인하세요.
  2. 단위를 확인합니다. Scene Properties의 Units에서 Unit System을 Metric, Unit Scale을 1.0, Length를 Meters로 설정하세요. 캐릭터의 Dimensions 패널(N)을 확인하세요. 사람 캐릭터라면 1.6~2.0m여야 합니다.
  3. 트랜스폼을 적용합니다. 메시를 선택하고 Object > Apply > All Transforms를 실행하세요. 애니메이션이 없는 아마추어에도 적용합니다. 애니메이션된 아마추어는 그대로 두고 스케일이 이미 1.0인지 확인하세요.
  4. 포즈와 이름을 수정합니다. 레스트 포즈는 T-pose이고 -Y 방향(정면 뷰)을 향해야 합니다. 본 이름은 신체 부위로 알아볼 수 있게 지정하고, 좌우 대칭에는 .L과 .R 또는 Left와 Right를 사용하세요. 직접 만든 _end 본은 없어야 합니다.
  5. 클립을 준비합니다. 페이크 유저가 지정된 클립당 액션 하나 또는 클립당 NLA 스트립 하나를 사용하세요. IK나 제약 조건으로 구동되는 모든 애니메이션은 Object > Animation > Bake Action에서 Visual Keying을 켜고 베이크하세요.
  6. 익스포트합니다. File > Export > FBX (.fbx)를 선택하세요. Selected Objects를 켭니다. Object Types는 Armature와 Mesh입니다. Scale 1.00, Apply Scalings FBX Units Scale, Forward -Z, Up Y, Apply Unit 켜기, Use Space Transform 켜기, Apply Transform 끄기로 설정합니다. Smoothing은 Face, Apply Modifiers는 켜기입니다. 컨트롤 릭에서는 Only Deform Bones를 켜고 Add Leaf Bones를 끕니다. Bake Animation을 켜고 Key All Bones, NLA Strips, All Actions, Force Start/End Keying을 모두 켜며, Sampling Rate는 1.0, Simplify는 1.0으로 설정합니다. Path Mode는 Copy, Embed Textures는 켜기입니다. 이 설정을 오퍼레이터 프리셋으로 저장하세요(패널 상단의 +).
  7. 임포트합니다. .fbx를 Assets에 넣으세요. Model 탭에서 Scale Factor 1, Convert Units 켜기, Bake Axis Conversion 켜기로 설정하고, 셰이프 키가 있다면 Import BlendShapes도 켭니다. Apply를 누르세요.
  8. 릭을 설정합니다. Rig 탭에서 이족 캐릭터는 Humanoid, 그 외에는 Generic을 선택합니다. Avatar Definition은 Create From This Model로 설정하세요. Configure를 누르고 본이 녹색인지, T-pose 메시지가 없는지 확인하세요. Generic에서는 클립이 캐릭터를 이동시켜야 할 경우 Root Node를 설정합니다. Apply를 누르세요.
  9. 애니메이션을 설정합니다. Animation 탭에서 액션당 클립 하나가 있는지 확인하세요. 반복 애니메이션에는 Loop Time을 켭니다. 대기 애니메이션에서는 Root Transform Position (XZ)의 Bake Into Pose를 켭니다. Apply를 누르세요.
  10. 머티리얼을 설정합니다. Materials 탭에서 텍스처를 Textures 폴더로 추출한 다음, 머티리얼을 Materials 폴더로 추출하세요. URP 또는 HDRP 프로젝트에서는 추출한 머티리얼을 선택하고 Edit > Rendering > Materials > Convert Selected Materials to URP를 실행합니다. 프리팹을 씬으로 드래그하고 Blender와 비교해 크기, 방향, 셰이딩을 확인하세요.

원클릭 방식 ​

6단계를 외우고 싶지 않다면 Cinevva Rig 애드온의 익스포트 카드에 이 설정을 그대로 적용하는 Unity 프리셋이 있습니다. FBX, Forward -Z, Up Y, FBX All로 단위 스케일 적용, 리프 본 없음, Face 스무딩, 텍스처 임베드 및 최대 2048px 제한을 사용합니다. Export를 누르기 전에 크기 분석 기능이 예상 파일 크기를 지오메트리, 텍스처, 애니메이션, 셰이프 키로 나누어 보여 주므로, 60MB의 원인이 메시가 아니라 4K 텍스처 3개라는 사실을 확인할 수 있습니다. 기본 Blender GLB 익스포트와 비교했을 때, 이 프리셋은 실제 모델 4개에서 파일 크기를 각각 68%, 89%, 92%, 98% 줄였으며, 거의 모든 절감 효과가 텍스처 크기 제한과 재인코딩에서 나왔습니다. 익스포트는 키, 계정, 네트워크 없이 로컬에서 실행됩니다. 애드온의 유료 기능은 리깅입니다. 출시 가격 $29로 한 번 구매하면 약 2.4GB의 엔진을 한 차례 다운로드한 뒤 Blender 4.2 이상에서 로컬 리깅을 무제한으로 사용할 수 있습니다. 또한 릭에 리타기팅된 CC0 애니메이션 클립 260개를 Blender 안에서 사용할 수 있으며, 이후 위에서 설명한 액션으로 익스포트할 수 있습니다.

FBX 왕복 작업을 위한 검증된 유료 솔루션은 Mesh Online의 Better FBX Importer & Exporter로, Superhive에서 12,800건 이상 판매되었습니다. Autodesk의 공식 FBX SDK를 기반으로 처음부터 구현한 FBX 솔루션이며, 제품 페이지에 따르면 “ASCII부터 바이너리까지, FBX 5.3부터 FBX 2020까지 모든 FBX 버전과 호환”되고, 익스포트는 “Unity Engine 2021, Unreal Engine 4/5 및 Godot Engine v4.1.1에서 검증”되었습니다. 가장 돋보이는 두 기능은 임포트 시 자동 본 방향 설정(Blender 임포터가 뒤틀린 채로 두는 본 축을 수정)과 아마추어를 “단위 스케일과 0 회전”으로 기록하는 “Optimize For Game Engine” 익스포트입니다. 다른 아티스트의 FBX를 자주 임포트하거나 Maya 또는 3ds Max와 왕복 작업을 한다면 첫 주 안에 비용 이상의 가치를 얻을 수 있습니다. 자신의 Blender 작업물을 Unity로 익스포트하기만 한다면 이 페이지의 설정으로 같은 결과를 무료로 얻을 수 있습니다.

자주 묻는 질문 ​

Blender에서 Unity로 어떻게 익스포트하나요? ​

.blend가 아니라 FBX를 익스포트하세요. File > Export > FBX (.fbx)에서 Selected Objects를 켜고, Scale 1.00, Apply Scalings FBX Units Scale, Forward -Z, Up Y, Add Leaf Bones 끄기, Smoothing Face, Path Mode Copy와 Embed Textures 켜기로 설정합니다. Unity의 Model 탭에서 Convert Units와 Bake Axis Conversion을 켠 다음 Materials 탭에서 텍스처와 머티리얼을 추출하세요.

Unity에서 Blender 모델의 스케일이 0.01 또는 100인 이유는 무엇인가요? ​

FBX는 센티미터 단위로 계산하므로 Blender의 익스포터는 미터 단위 씬에 100을 곱합니다. 기본 Apply Scalings 값인 All Local을 사용하면 이 100이 모든 오브젝트의 트랜스폼에 들어가고, Unity의 Convert Units가 0.01 파일 스케일로 이를 상쇄합니다. 대신 FBX Units Scale 또는 FBX All을 선택하면 해당 계수가 파일 헤더에 들어가 모든 트랜스폼이 1로 유지됩니다. 모델이 100배 크게 보인다면 Convert Units가 꺼져 있거나 Unity에서 Scale Factor가 변경된 것입니다.

Unity에서 Blender FBX의 X 회전이 -90인 이유는 무엇인가요? ​

Blender는 Z축이 위쪽이고 Unity는 Y축이 위쪽이며, 익스포터는 두 좌표계 사이의 90도 회전을 루트 오브젝트의 회전으로 저장합니다. Unity에서는 이를 -90(종종 -89.98)으로 표시합니다. Unity의 Model 탭에서 Bake Axis Conversion을 켜면 회전이 버텍스에 베이크되어 루트가 0으로 표시됩니다. 리깅된 모델에서는 익스포터의 Apply Transform을 사용하지 마세요. 해당 옵션의 설명에도 아마추어와 애니메이션에서 제대로 작동하지 않는다고 명시되어 있습니다.

Blender에서 Unity로 애니메이션을 어떻게 익스포트하나요? ​

클립당 액션 하나(또는 클립당 NLA 스트립 하나)를 만들고, IK나 제약 조건으로 구동되는 모든 모션을 Bake Action으로 베이크하세요. Bake Animation을 켠 뒤 Key All Bones, NLA Strips, All Actions, Force Start/End Keying을 선택하여 익스포트합니다. 각 액션은 Blender에서 사용한 이름 그대로 Unity의 Animation 탭에 클립으로 표시됩니다. Generic 릭에서 루트 모션을 사용하려면 Rig 탭에서 Root Node를 설정하고, 반복 애니메이션에는 Loop Time을 켜세요.

Unity에서는 FBX와 glTF 중 무엇을 사용해야 하나요? ​

리깅되거나 애니메이션된 모든 모델에는 FBX를 사용하세요. Unity는 FBX를 기본 지원하지만 glTF에는 com.unity.cloud.gltfast 패키지가 필요합니다. 이 패키지는 레거시 Animation 시스템에서만 애니메이션 임포트가 완전하며 Mecanim에는 “추가 작업”이 필요하고, Unity는 WebP 텍스처를 읽을 수 없습니다. glTF는 정적 프롭이나 서버에서 런타임에 불러오는 모델에 적합합니다.

Blender에서 임포트한 뒤 Unity의 머티리얼이 분홍색인 이유는 무엇인가요? ​

분홍색은 Unity의 오류 셰이더를 뜻하며, 임포트의 경우 거의 항상 URP 또는 HDRP 프로젝트에서 Built-in Render Pipeline 셰이더를 사용하는 것이 원인입니다. 머티리얼을 선택하고 Edit > Rendering > Materials > Convert Selected Materials to URP를 실행하거나 Window > Rendering > Render Pipeline Converter를 사용하세요. 텍스처가 없으면 머티리얼이 분홍색이 아니라 회색으로 표시됩니다. 이 경우 Path Mode Copy와 Embed Textures를 켜고 익스포트한 다음 Unity에서 Extract Textures를 누르세요.

Unity가 Blender 릭에서 Humanoid Avatar를 만들지 못하는 이유는 무엇인가요? ​

Unity가 인식할 수 있는 필수 본은 최소 15개이며, 캐릭터는 T 포즈여야 합니다. Configure 옆의 X 표시는 매핑에 실패했다는 뜻이고, Mapping 탭의 빨간색 본은 Unity가 배치하지 못한 본이며, "Character not in T-Pose"는 기본 포즈가 올바르지 않다는 뜻입니다. 본 이름은 신체 부위에 맞게 지정하고(Mixamo 이름은 항상 매핑됩니다), _end 본으로 인한 혼동을 막으려면 Add Leaf Bones를 선택 해제하세요. 빨간색 본은 올바른 위치로 직접 드래그하고, Pose > Enforce T-Pose를 사용하세요.

관련 문서 ​