아트 에셋 베스트 프랙티스 가이드(Art Asset best practice guide)
FBX 익스포트 가이드

3D 앱에서 모델을 임포트하는 방법(How do I import models from my 3D app?)

다음 두 가지 방법으로 3D 모델을 Unity로 임포트할 수 있습니다.

  • 3D 모델 파일을 파일 브라우저에서 Unity 프로젝트 창으로 직접 드래그합니다.
  • 3D 모델 파일을 프로젝트의 Assets 폴더로 복사합니다.

Project 뷰에서 파일을 선택하고 인스펙터 창의 Model 탭으로 이동하여 임포트 옵션을 설정합니다. 임포트 옵션에 대한 자세한 내용은 모델 문서를 참조하십시오.

Unity는 가장 인기 있는 3D 애플리케이션에서 모델을 임포트하는 기능을 지원합니다. 특정 3D 패키지에서 임포트하는 방법에 대한 자세한 설명은 다음 페이지를 참조하십시오.

Textures(텍스처)

Unity 프로젝트의 Assets 폴더(익스포트된 메시 옆) 안에 있는 Textures 라는 폴더에 텍스처를 저장해야 합니다. 그러면 Unity 에디터가 텍스처를 찾아 생성된 머티리얼에 연결할 수 있습니다. 자세한 내용은 텍스처 임포트 문서를 참조하십시오.

3D 포맷(3D formats)

Unity는 아래 두 종류의 파일에서 메시를 임포트할 수 있도록 지원합니다.

  1. .fbx 또는 .obj와 같은 익스포트된 3D 파일 포맷. 3D 모델링 소프트웨어를 통하여 다양한 소프트웨어가 임포트하고 수정할 수 있는 일반 포맷 파일을 익스포트할 수 있습니다.
  2. 3D Studio Max 또는 Blender에서 가져온 .max와 .blend 파일 포맷과 같은 3D 또는 DCC(디지털 콘텐츠 제작) 애플리케이션 전용 파일. 전용 파일은 이를 생성한 동일한 소프트웨어에서만 수정할 수 있습니다. 이는 먼저 전환하고 임포트하지 않는 이상 다른 소프트웨어가 직접 수정할 수 없습니다. 단, SketchUp의 .skp 파일은 예외로 SketchUp와 Unity에서 모두 읽기 가능합니다.

Unity는 두 파일 타입 모두 임포트하고 사용할 수 있으며, 각각 장단점이 있습니다.

익스포트된 3D 파일

Unity에서 읽기 가능한 파일 타입은 .fbx, .dae (Collada), .3ds, .dxf, .obj, .skp입니다. 3D 파일을 익스포트하는 방법에 대한 자세한 내용은 사용하는 3D 모델링 소프트웨어 문서를 참조하십시오.

장점:

  • Unity에 전체 모델을 임포트하는 대신 필요한 모델의 일부만 임포트할 수 있습니다.
  • 익스포트된 일반 파일은 보통 전용 파일에 비해 용량이 작습니다.
  • 익스포트된 일반 파일을 사용하는 것은 모듈 단위 접근 방식을 용이하게 합니다(예를 들어, 각 충돌 타입이나 상호 작용성에 따라 서로 다른 컴포넌트 사용).
  • Unity가 직접 지원하지 않는 소프트웨어를 통해서 생성된 파일을 임포트할 수 있습니다.
  • 익스포트된 3D 파일(.fbx, .obj)은 익스포트한 이후 3D 모델링 소프트웨어로 다시 임포트해서 파일 전체를 올바르게 익스포트했는지 확인할 수 있습니다.

단점:

  • 원본 파일에 변경사항이 있는 경우 모델을 수동으로 다시 익스포트해야 합니다.
  • 소스 파일과 Unity가 임포트한 파일의 버전이 동일한지 주의를 계속 기울여야 합니다.

3D 애플리케이션 전용 파일

Unity는 Max, Maya, Blender, Cinema4D, Modo, Lightwave, Cheetah3D 와 같은 DCC 소프트웨어에서 전용 파일을 임포트할 수 있습니다. 이렇게 가져온 파일은 임포트하는 동안 Unity가 .fbx 파일로 전환합니다.

장점:

  • 원본 모델의 변경사항을 Unity가 자동으로 임포트합니다.
  • 초기에는 간단합니다(다만 이후 개발에서는 복잡해질 수 있습니다).

단점:

  • Unity 프로젝트를 사용하는 모든 컴퓨터에 정품 소프트웨어를 설치해야 합니다.
  • Unity 프로젝트를 사용하는 모든 컴퓨터에 사용되는 소프트웨어의 버전이 동일해야 합니다. 상이한 버전을 사용하는 경우, 3D 모델을 임포트하는 동안 오류나 예기치 못한 동작이 발생할 수 있습니다.
  • 불필요한 데이터로 인해 파일 용량이 커질 수 있습니다.
  • 용량이 큰 파일은 Unity 프로젝트나 에셋을 임포트하는 시간을 늘리는데, 이는 Unity에 모델을 임포트하는 동안 DCC 소프트웨어를 백그라운드 프로세스로서 실행해야 하기 때문입니다.
  • Unity는 내부적으로 전용 파일을 .fbx로 임포트하는 동안 전환합니다. 이는 .fbx 데이터를 검증하고 문제를 해결하기 어렵게 합니다.

참고:.ma, .mb, .max, .c4d, .blend 파일로 저장된 에셋은 사용자의 컴퓨터에 해당 DCC 소프트웨어가 설치되지 않은 경우, 임포트할 수 없습니다. 이는 Unity 프로젝트에 작업하는 모든 컴퓨터에 올바른 소프트웨어를 설치해야 함을 의미합니다. 예를 들어, ExampleModel.mbMaya를 사용하여 생성하고 프로젝트에 복사한 경우, 프로젝트를 열기 위해서는 컴퓨터에 Maya가 설치되어 있어야 합니다.

모델(Models)

Unity 프로젝트의 Assets 폴더에 위치한 모델 파일을 자동으로 임포트하고 Unity 에셋으로 저장합니다.

모델 파일에는 캐릭터, 빌딩, 가구 등 3D 모델이 포함될 수 있습니다. 모델은 여러 에셋으로 임포트됩니다. 프로젝트 창에서 임포트한 메인 오브젝트는 모델 프리팹입니다. 일반적으로 모델 프리팹에서 참조한 일부 메시 오브젝트도 포함됩니다.

모델 파일에는 이 모델이나 다른 모델을 애니메이션화하는 데 사용할 수 있는 애니메이션 데이터도 포함될 수 있습니다. 애니메이션 데이터는 하나 이상의 애니메이션 클립으로 임포트됩니다.

![메시 렌더러와 함께 메시 필터를 사용하면 모델이 스크린에 나타납니다.](../uploads/Main/MeshExample40.png)

메시 임포트 설정

모델 파일의 Import Settings 는 모델을 선택하면 FBX 임포터의 인스펙터 창에서 Model 탭에 표시됩니다. 이것은 Mesh, NormalsMaterials에 영향을 미칩니다. 설정은 디스크의 에셋별로 적용되므로 설정이 다른 에셋이 필요한 경우 중복 파일을 만들어 이름을 바꿔야 합니다.

프로퍼티 기능
Meshes
Scale Factor Unity의 물리 시스템은 게임 월드의 1미터를 임포트한 파일의 1유닛으로 가정합니다. 다른 크기로 모델을 구현하고 싶은 경우 여기에서 수치를 조정하면 됩니다. 여러 3D 패키지의 기본값은 다음과 같습니다.
.fbx, .max, .jas, .c4d = 0.01
.mb, .ma, .lxo, .dxf, .blend, .dae = 1
.3ds = 0.1
Use File Scale 디폴트 모델 스케일링을 사용하려면 체크박스를 선택하고, 커스텀 스케일링 값을 모델에 사용하려면 선택 해제해야 합니다. Unity의 물리 시스템은 게임 세계에서 1미터가 임포트한 파일에서 1유닛이 될 것으로 예상합니다. 다른 크기로 모델을 구현하고 싶은 경우, 여기에서 수치를 조정하면 됩니다.
    File Scale 모델에 사용할 스케일을 설정하려면 이 값 필드를 사용해야 합니다.
Mesh Compression 이 값을 증가시키면 메시 파일 크기가 줄어들지만 모델이 불규칙 해질 수 있습니다. 따라서 메시가 비압축 버전과 지나치게 차이가 발생하지 않는 선에서 이 값을 최대한 크게 하는 것이 좋습니다. 게임 크기 최적화에 유용합니다.
Read/Write Enabled 활성화되어 있는 경우 메시 데이터가 메모리에 저장되어 커스텀 스크립트가 읽고 변경할 수 있습니다. 이 옵션을 비활성화하면 Unity에 게임의 메시 데이터 사본을 언로드할 수 있기 때문에 메모리가 절약됩니다. 하지만 특히 메시가 메시 콜라이더와 함께 사용되는 경우 이 옵션을 활성화해야 합니다. 여기에는 다음과 같은 경우가 포함됩니다.
- 음수 스케일링(예: (–1, 1, 1)).
- 쉬어(shear) 변환(예를 들어, 회전된 메시에 스케일링된 상위 트랜스폼이 있는 경우).
Optimize Mesh 삼각형이 메시에 나열되는 순서를 Unity에서 결정하도록 하려면 이 체크박스를 선택해야 합니다.
Import Blendshapes Unity에서 BlendShape를 메시와 함께 임포트하려면 이 체크박스를 선택해야 합니다.
Generate Colliders 활성화되어 있는 경우 자동으로 첨부된 메시 콜라이더와 함께 메시를 임포트합니다. 환경 지오메트리에 충돌 메시를 빠르게 생성할 때 유용하지만 움직이는 지오메트리에는 피해야 합니다.
Keep Quads Unity는 모든 타입의 폴리곤(N-gon에 삼각형)을 임포트할 수 있습니다. 꼭지점이 4개 이상인 폴리곤은 항상 삼각형으로 변환됩니다. 쿼드는 “쿼드 유지”가 꺼져있는 경우에만 삼각형으로 변환됩니다. 테셀레이션 셰이더를 사용할 때는 쿼드가 폴리곤보다 더 좋습니다. 자세한 내용은 표면 셰이더 테셀레이션 문서를 참조하십시오.
Weld Vertices 공간에서 동일한 포지션을 공유하는 꼭지점을 결합하려면 이 체크박스를 선택해야 합니다. 이 기능은 전체적으로 메시의 꼭지점 수를 줄여서 이를 최적화합니다. 체크박스는 기본적으로 체크되어 있습니다.

ModelImporter 클래스에는 스크립트를 통해 동일한 작업을 수행하는 WeldVertices 파라미터가 있습니다.

경우에 따라 메시를 임포트할 때 이 최적화를 해제해야 할 수도 있습니다. 예를 들어 동일한 위치에 존재하도록 의도한 중복된 두 개의 꼭지점을 메시에 생성했을 때 스크립트가 각 꼭지점이나 삼각형 데이터를 읽거나 수정할 수 있도록 하고자 하는 경우에는 이 최적화 기능을 해제해야 합니다.
Import Cameras Tick this checkbox to import cameras from your .FBX file
Import Lights Tick this checkbox to import lights from your .FBX file
Swap UVs 라이트매핑된 오브젝트가 잘못된 UV ​​채널을 감지하는 경우 이 체크박스를 선택해야 합니다. 그러면 기본 및 보조 UV 채널이 서로 바뀝니다.
Generate Lightmap UVs Unity에서 라이트매핑에 사용할 두 번째 UV 채널을 생성하도록 하려면 이 체크박스를 선택해야 합니다. 자세한 내용은 라이트매핑 문서를 참조하십시오.
Normals & Tangents
Normals 노멀이 어떻게 계산되야 하는지 정의합니다. 게임 크기 최적화에 유용합니다.
Import 디폴트 옵션입니다. 파일에서 노멀을 임포트합니다.
Calculate Smoothing angle__을 기반으로 노멀을 계산합니다. 선택되어 있을 경우 Smoothing Angle__이 활성화됩니다.
None 노멀을 비활성화합니다. 메시가 노멀 매핑되지 않고 실시간 조명의 영향을 받지 않는 경우 사용해야 합니다.
Normals Mode Define how the normals are calculated by Unity. This is only available when Normals is set to Calculate.
Unweighted Legacy The legacy method of computing the normals (prior to version 2017.1). In some cases it gives slightly different results compared to the current implementation. It is the default for all FBX prefabs imported before the migration of the project to the latest version of Unity.
Unweighted The normals are not weighted.
Area Weighted The normals are weighted by face area.
Angle Weighted The normals are weighted by the vertex angle on each face.
Area and Angle Weighted Default option. The normals are weighted by both the face area and the vertex angle on each face. This is the default option.
Tangents 탄젠트 및 바이노멀이 어떻게 계산되야 하는지 정의합니다. 게임 크기 최적화에 유용합니다.
Import 파일에서 탄젠트 및 바이노멀을 임포트합니다. 이 옵션은 FBX, Maya, 3dsMax 파일 및 노멀을 파일에서 임포트했을 때만 사용할 수 있습니다.
Calculate 디폴트 옵션입니다. 탄젠트 및 바이노멀을 계산합니다. 이 옵션은 노멀을 임포트하거나 계산할 때만 사용할 수 있습니다.
None 탄젠트 및 바이노멀을 비활성화합니다. 메시는 탄젠트를 보유하지 않기 때문에 노멀 매핑된 셰이더에 동작하지 않습니다.
Smoothing Angle 하드 에지로 처리될 모서리의 날카로움 정도를 설정합니다. 또한 노멀 맵 탄젠트를 분할하는 데 사용됩니다.
Split Tangents 노멀 맵 조명이 메시에 경계로 깨질 경우 활성화해야 합니다. 일반적으로 캐릭터에만 적용합니다.
Materials
Import Materials 머티리얼이 생성되는 것을 원하지 않는 경우 비활성화해야 합니다. 기본적으로 디퓨즈 머티리얼이 대신 사용됩니다.
Material Naming Unity 머티리얼의 이름을 지정하는 방식을 정의하는 데 사용해야 합니다.
By Base Texture Name Unity에서 머티리얼의 이름을 지정할 때 사용되는 임포트한 머티리얼의 디퓨즈 텍스처 이름입니다. 디퓨즈 텍스처가 머티리얼에 할당되지 않을 때 Unity는 임포트한 머티리얼의 이름을 사용합니다.
From Model’s Material 임포트한 머티리얼의 이름은 Unity 머티리얼 이름을 지정할 때 사용됩니다.
Model Name + Model’s Material 모델 파일의 이름이 임포트한 머티리얼의 이름과 결합되어 Unity 머티리얼 이름 지정에 사용됩니다.
Material Search Unity에서 Material Naming 옵션에 의해 정의된 이름을 사용하여 기존 머티리얼을 검색하는 위치를 정의하는 데 사용해야 합니다.
Local Unity는 “로컬” 머티리얼 폴더, 즉 모델 파일과 동일한 폴더인 Materials 하위폴더에서만 기존 머티리얼을 검색합니다.
Recursive-Up Unity가 Assets 폴더의 모든 부모 폴더의 모든 머티리얼 하위 폴더에서 기존 머티리얼을 검색합니다.
Everywhere Unity가 모든 Unity 프로젝트 폴더에서 기존 머티리얼을 검색합니다.

Light and Camera import

Cameras

The following Camera properties are supported when importing Cameras from an .FBX file:

  • Field of View

  • Projection mode ( Orthographic or perspective )

  • Near plane distance

  • Far plane distance

Lights

The following light types are supported:

  • Omni
  • Spot
  • Directional
  • Area

The following light properties are supported:

  • Intensity
  • 컬러
  • Range (the FarAttenuationEndValue is used if UseFarAttenuation is enabled)
  • Spot Angle (spot lights only)

  • 2017–09–04 일부 편집 리뷰를 거쳐 페이지 수정됨

  • Existing (pre Unity 5.6) functionality of Keep Quads first documented in User Manual 5.6

  • Normals Mode, Light and Camera import options added in Unity 2017.1 NewIn20171

참고 항목

아트 에셋 베스트 프랙티스 가이드(Art Asset best practice guide)
FBX 익스포트 가이드