Unity는 여러 3D 모델링 애플리케이션에서 익스포트할 수 있는 FBX 파일을 지원합니다. 아래 가이드라인을 사용하면 최선의 결과를 얻을 수 있습니다.
참고: 3D 모델링 애플리케이션에서 익스포트하는 방법에 대한 위의 일반적인 가이드라인 외에, 일부 3D 모델링 애플리케이션에 대한 더 구체적인 내용을 다음 섹션에서 확인할 수 있습니다.
무엇을 익스포트할지 생각해 보십시오. 일부 씬 오브젝트는 필수적이지만 나머지는 불필요할 수 있습니다. 애플리케이션에서는 종종 선택된 오브젝트나 전체 씬을 익스포트할 수 있습니다. 필수적인 오브젝트만 유지하여 Unity에서 데이터를 최적화할 수 있습니다.
씬의 특정 오브젝트만 익스포트할 경우 다음 작업을 수행할 수 있습니다.
다음 사항을 고려하여 에셋을 익스포트할 수 있게 준비합니다.
오브젝트: | 준비 사항: |
---|---|
메시 | 모든 NURBS, NURMS, 스플라인, 패치 및 subdiv 표면을 폴리곤으로 전환(삼각형화 또는 사각형화)해야 합니다. |
Animation | 올바른 릭을 선택하고 프레임 속도와 애니메이션 길이를 확인합니다. |
블렌드 셰이프 또는 모핑(Morphing) | Blendshape(Maya) 또는 Morph 타겟(Max)이 할당되었는지 확인합니다. 익스포트 메시를 적절하게 설정합니다. |
텍스처 | 텍스처가 Unity 프로젝트에서 제공되었는지 확인하거나, 텍스처를 Unity 프로젝트 안의 textures 라는 폴더로 복사합니다. 참고: 미디어 포함(Embed Media) 옵션을 사용하여 텍스처를 FBX 파일에 포함시키는 방법은 권장되지 않습니다. 텍스처를 사용하기 전에 추출해야 하므로, 텍스처를 포함시키면 프로젝트가 불필요하게 커지기만 하고 임포트 프로세스가 느려집니다. |
스무딩(Smoothing) | 스무딩 그룹과 스무스 메시 설정을 모두 확인합니다. 중요: 블렌드 셰이프 노멀을 임포트하려면 FBX 파일에 스무딩 그룹이 있어야 합니다. |
FBX 익스포트 설정을 확인합니다.
FBX 파일을 Unity로 임포트하기 전에 다음 작업을 수행하십시오.
익스포트된 파일의 크기를 확인합니다. 파일 크기에 대한 온전성 검사를 수행합니다(예: >10kb?).
FBX 파일을 생성하는 데 사용한 3D 모델링 소프트웨어의 새로운 씬으로 FBX 파일을 다시 임포트합니다. 파일이 예상했던 것인지 확인합니다.
파일을 Unity로 임포트하려면 3D 모델링 소프트웨어에서 익스포트 옵션을 어떻게 설정했는지 고려하면서 임포트 지침을 따르십시오.
FBX 익스포트 옵션을 사용하여 FBX 파일에서 익스포트할 항목을 선택할 수 있습니다.
Maya에서 블렌드 셰이프(모핑)를 익스포트하는 경우 다음 가이드라인을 따르십시오.
파일을 Unity로 임포트한 경우 프로젝트(Project) 뷰에서 해당 파일을 선택하고 모델 임포터의 애니메이션(Animations) 탭에서 애니메이션 베이크(Bake Animations) 를 활성화합니다.
Cinema 4D에서 IK를 사용하여 캐릭터를 애니메이션화하는 경우, 익스포트하기 전에 Cinema 4D의 Plugins > Mocca > Cappucino 메뉴를 사용하여 IK를 베이크해야 합니다. Unity로 임포트하기 전에 IK를 베이크하지 않으면 애니메이션화된 로케이터만 얻고 애니메이션화된 뼈대는 얻지 못합니다.
익스포트하기 전에 Cinema 4D의 텍스처 포함(Embed Textures) 환경 설정을 해제하여 Unity로 파일을 임포트하는 속도를 높일 수 있습니다. Cinema 4D 문서의 설명을 참조하십시오.
Autodesk는 일반적으로 게임 에셋으로 익스포트되는 에셋을 타겟으로 하는 게임 익스포터 유틸리티를 제공합니다. 스탠다드 FBX 익스포트 유틸리티를 사용하여 FBX 파일에서 익스포트할 항목을 선택할 수도 있습니다.
예를 들어 기본적으로 모든 것을 익스포트하는 기본 FBX 익스포터 옵션에는 텍스처를 이미지 맵으로 파일에 임베드하는 옵션이 있습니다. 이렇게 하면 파일의 이식 가능성이 크게 높아지지만 파일 크기도 커집니다.
또한 Maya에서 익스포트하는 경우 다음 항목을 사용할 때 추가로 고려해야 하는 사항이 몇 개 더 있습니다.
3dsMax의 편집 가능한 메시는 항상 삼각형을 익스포트합니다. 편집 가능한 폴리곤에는 임포트 시에 사각형과 N각형이 유지됩니다. 따라서 사각형을 Unity로 임포트하려면 3ds Max에서 편집 가능한 폴리곤을 사용해야 합니다.
3ds Max에서 뼈대 기반 애니메이션을 익스포트하려면 다음 가이드라인을 따르십시오.
메시와 애니메이션이 있는 뼈대 계층 구조를 3ds Max에서 Unity로 익스포트하는 경우, 생성되는 게임 오브젝트 계층 구조는 3ds Max Schematic 뷰에서 볼 수 있는 계층 구조에 해당합니다. 하지만 Unity는 게임 오브젝트를 애니메이션이 포함된 새로운 루트로 사용하고 메시 및 머티리얼 정보를 루트 뼈대에 저장합니다.
애니메이션 정보와 메시 정보를 같은 Unity 게임 오브젝트에 보관하려면 익스포트하기 전에 메시 모드를 3ds Max의 뼈대 계층 구조에 있는 뼈대의 부모로 지정합니다.
3ds Max에서 Morph 타겟을 익스포트하려면 다음 가이드라인을 따르십시오.
Unity에 빌트인 라이트매퍼가 있지만, 3ds Max의 텍스처 베이킹(렌더링 메뉴의 텍스처로 렌더(Render To Texture)) 기능과 자동 언래핑 기능을 사용하여 라이트맵을 생성할 수도 있습니다.
일반적으로 UV 세트 하나가 메인 텍스처 또는 노멀 맵에 사용되고 다른 UV 세트 하나가 라이트맵 텍스처에 사용됩니다. 두 UV 세트가 올바르게 표시되려면 3ds Max에서 머티리얼이 스탠다드여야 하고, 디퓨즈(메인 텍스처의 경우) 및 자체 조명(라이트맵의 경우) 맵 슬롯을 모두 설정해야 합니다.
참고: 오브젝트에 셸 머티리얼 타입이 사용되는 경우 Autodesk의 FBX 익스포터가 UV를 올바르게 익스포트하지 않습니다.
또는 아래 그림과 같이 멀티/하위 오브젝트 머티리얼 타입을 사용하고 각각의 디퓨즈 맵 슬롯에 메인 텍스처와 라이트맵을 사용하여 하위 머티리얼을 두 개 설정할 수 있습니다. 하지만 모델의 면마다 서로 다른 하위 머티리얼 ID가 사용되는 경우 여러 머티리얼이 임포트되어 성능이 최적화되지 않습니다.
LightWave 레이아웃의 파일(File) 툴바에서 저장(Save) > 익스포트(Export) > FBX 익스포트(Export FBX)를 선택하여 LightWave 안에 있는 FBX 익스포트 설정(FBX Export Settings) 창에 액세스할 수 있습니다.
FBX 익스포트(Export FBX) 창이 표시됩니다.
프로퍼티: | 기능: | |
---|---|---|
FBX 파일 이름(FBX Filename) | FBX 파일의 이름과 위치를 설정합니다. Unity Assets 폴더 아래의 위치를 사용하십시오. |
|
애니메이션 레이어(Anim Layer) | 사용할 애니메이션 레이어의 이름입니다. | |
Type | 파일 크기를 줄이려면 바이너리(Binary) 를 사용하거나 텍스트 편집 가능 FBX 파일의 경우 ASCII 를 사용합니다. | |
FBX 버전(FBX Version) | 리스트에서 최신 FBX 버전을 선택하고 Unity에서 사용하는 버전과 일치하는지 확인합니다. | |
익스포트(Export) | ||
모델(Models) | 씬의 모든 모델을 익스포트합니다. | |
Morphs(블렌드 셰이프)(Morphs (Blend Shapes)) | 씬의 모든 블렌드 셰이프를 익스포트합니다. | |
메시 타입(Mesh type) | ||
케이지(분할 해제)(Cage (Subdivision Off)) | 분할이 적용되지 않은 상태로 오브젝트를 익스포트합니다. | |
분할(Subdivision) | 메시를 익스포트할 때 분할합니다. | |
뼈대 계층 구조에 부모 다시 지정(Re-parent bone hierarchy) | 뼈대 계층 구조의 새로운 부모 역할을 할 null을 생성합니다. 메시의 부모로 지정된 뼈대 계층 구조가 있는 레이아웃에서 릭을 익스포트하는 경우 변형된 메시의 실제 이동량은 원래 이동해야 하는 양의 2배입니다. 이 새로운 부모를 활성화하면 메시가 제자리를 유지합니다. |
|
Materials | LightWave의 스탠다드 표면 채널과 이미지 맵을 전환합니다. 절차적 텍스처와 노드는 포함되지 않습니다. | |
포함된 텍스처(Embedded Textures) | 포함된 텍스처를 별도의 이미지 디렉토리에 저장하지 않고, FBX 파일에 직접 포함된 이미지 맵으로 저장합니다. 그러면 더 크지만 독립적인 FBX 파일이 만들어집니다. | |
스무딩 그룹(Smoothing Groups) | LightWave의 노멀을 스무딩 그룹으로 전환합니다. | |
머티리얼 축소(Collapse Materials) | 머티리얼 이름이 동일한 표면을 축소하여 머티리얼을 별도로 익스포트합니다. 하지만 머티리얼 이름과 모든 표면 파라미터가 일치하면 이 설정에 관계없이 두 머티리얼이 항상 병합됩니다. | |
UV 병합(Merge UVs) | 여러 UV 맵을 오브젝트당 하나의 맵으로 축소합니다. | |
Unity 3D 모드(Unity 3D Mode) | LightWave, FBX 및 Unity에서 좌표 체계를 전환하여 발생하는 회전 오차를 정정합니다. LightWave와 Unity에서는 모두 왼쪽 좌표 체계를 사용하지만, FBX는 오른쪽 좌표 체계를 사용합니다. LightWave에서 FBX로 익스포트하는 경우 Z축을 따라 오른쪽 좌표로 전환합니다. Unity에서 FBX 파일을 임포트하는 경우 X축을 따라 왼쪽 좌표로 다시 전환하므로 씬이 180도 회전한 것처럼 보입니다. 이 설정을 사용할 경우 Unity로 들어가서 Z축을 내려다보면 임포트된 FBX가 LightWave 안에서 보이는 것과 동일하게 보입니다. |
|
카메라(Cameras) | 씬의 모든 카메라를 익스포트합니다. | |
광원(Lights) | 씬의 모든 광원을 익스포트합니다. | |
Animations | 단순 애니메이션을 베이크하지 않고 이동, 회전 또는 확대/축소를 기준으로 익스포트합니다. 캐릭터 애니메이션이나 IK 또는 동역학을 사용하는 그 외의 애니메이션은 모션 엔벨로프 베이크(Bake Motion Envelopes) 를 사용하여 계속 베이크해야 합니다. | |
모션 엔벨로프 베이크(Bake Motion Envelopes) | 캡처하지 않을 설정 프레임이 있는 경우 베이크 시작 및 종료 포인트를 임의로 설정합니다. 애니메이션(Animations) 이 선택된 경우에만 사용 가능합니다. | |
시작 프레임(Start Frame) 및 종료 프레임(End Frame) | 이 시간 범위 안의 데이터만 익스포트합니다. | |
씬 스케일 설정(Scale Scene) | 씬에 Unity 파일 스케일 값과 일치하는 스케일을 설정합니다. |