다음 두 가지 방법으로 3D 모델을 Unity로 임포트할 수 있습니다.
프로젝트 뷰에서 파일을 선택하고 인스펙터 창의 Model 탭으로 이동하여 임포트 옵션을 설정합니다. 임포트 옵션에 대한 자세한 내용은 모델 문서를 참조하십시오.
Unity는 가장 인기 있는 3D 애플리케이션에서 모델을 임포트하는 기능을 지원합니다. 특정 3D 패키지에서 임포트하는 방법에 대한 자세한 설명은 다음 페이지를 참조하십시오.
Unity 프로젝트의 Assets 폴더(익스포트된 메시 옆) 안에 있는 Textures 라는 폴더에 텍스처를 저장해야 합니다. 그러면 Unity 에디터가 텍스처를 찾아 생성된 머티리얼에 연결할 수 있습니다. 자세한 내용은 텍스처 임포트 문서를 참조하십시오.
Unity는 아래 두 종류의 파일에서 메시를 임포트할 수 있도록 지원합니다.
Unity는 두 파일 타입 모두 임포트하고 사용할 수 있으며, 각각 장단점이 있습니다.
Unity에서 읽기 가능한 파일 타입은 .fbx, .dae (Collada), .3ds, .dxf, .obj, .skp입니다. 3D 파일을 익스포트하는 방법에 대한 자세한 내용은 사용하는 3D 모델링 소프트웨어 문서를 참조하십시오.
장점:
단점:
Unity는 Max, Maya, Blender, Cinema4D, Modo, Lightwave, Cheetah3D 와 같은 DCC 소프트웨어에서 전용 파일을 임포트할 수 있습니다. 이렇게 가져온 파일은 임포트하는 동안 Unity가 .fbx 파일로 전환합니다.
장점:
단점:
참고:.ma, .mb, .max, .c4d, .blend 파일로 저장된 에셋은 사용자의 컴퓨터에 해당 DCC 소프트웨어가 설치되지 않은 경우, 임포트할 수 없습니다. 이는 Unity 프로젝트에 작업하는 모든 컴퓨터에 올바른 소프트웨어를 설치해야 함을 의미합니다. 예를 들어, ExampleModel.mb 를 Maya를 사용하여 생성하고 프로젝트에 복사한 경우, 프로젝트를 열기 위해서는 컴퓨터에 Maya가 설치되어 있어야 합니다.
Unity 프로젝트의 Assets 폴더에 위치한 모델 파일은 자동으로 임포트되고 Unity 에셋으로 저장됩니다.
모델 파일에는 캐릭터, 빌딩, 가구 같은 3D 모델이 포함될 수 있습니다. 모델은 여러 에셋으로 임포트됩니다. 임포트되는 주요 오브젝트는 프로젝트 창에 표시되는 모델 프리팹입니다. 일반적으로 모델 프리팹에서 참조하는 여러 메시 오브젝트도 이 창에 표시됩니다.
모델 파일에는 자신을 비롯한 다른 모델을 애니메이션화하는 데 사용할 수 있는 애니메이션 데이터도 포함될 수 있습니다. 애니메이션 데이터는 하나 이상의 애니메이션 클립으로 임포트됩니다.
![메시 렌더러와 함께 메시 필터를 사용하면 모델을 화면에 나타낼 수 있습니다.](../uploads/Main/MeshExample40.png)
모델 파일의 Import Settings 는 모델을 선택하면 FBX 임포터 인스펙터 창의 Model 탭에 표시됩니다. 메시와 해당 노멀에 영향을 미칩니다. 설정은 디스크의 에셋별로 적용되므로, 설정이 다른 에셋이 필요하다면 중복 파일을 만들고 이름을 적절히 바꾸십시오.
프로퍼티 | 기능 | |
---|---|---|
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 | 기본 모델 스케일을 사용하거나 커스텀 File Scale 값을 모델에 사용하도록 설정하려면 선택 해제합니다. Unity의 물리 시스템은 임포트한 파일의 1단위를 게임 월드의 1미터에 맞추도록 설정되어 있습니다. 모델을 임포트할 때 다른 스케일을 적용하고 싶다면 여기에서 값을 조절하면 됩니다. | |
File Scale | 모델에 사용할 커스텀 스케일을 설정합니다. Use File Scale 이 선택된 경우에만 사용 가능. | |
Mesh Compression | 값을 높게 설정하면 메시 파일 크기를 줄일 수 있지만 모델이 불규칙해질 수 있습니다. 따라서 압축되지 않은 버전과 비교해서 메시가 지나치게 차이가 나지 않는 선에서 이 값을 최대한 높게 설정하는 것이 좋습니다. 게임 크기 최적화에 유용합니다. | |
Read/Write Enabled | 활성화하면 메시 데이터가 메모리에 저장되어 커스텀 스크립트에서 데이터를 읽고 변경할 수 있습니다. 이 옵션을 비활성화하면 Unity 에디터가 게임의 메시 데이터 사본을 언로드할 수 있기 때문에 메모리가 절약됩니다. 하지만 메시가 메시 콜라이더와 함께 사용되는 일부 특별한 경우에는 이 옵션을 활성화해야 합니다. 여기에는 다음과 같은 경우가 포함됩니다. - 음수 스케일(예: (–1, 1, 1)). - 전단 변환(예를 들어, 회전된 메시에 스케일링된 상위 트랜스폼이 있는 경우). |
|
Optimize Mesh | 삼각형이 메시에 나열되는 순서를 Unity 에디터가 결정하도록 합니다. Unity는 보다 나은 GPU 성능을 위해 버텍스와 인덱스를 재정렬합니다. | |
Import BlendShapes | Unity 에디터에서 BlendShape를 메시와 함께 임포트하도록 설정합니다. | |
Generate Colliders | 활성화하면 메시를 임포트할 때 메시 콜라이더를 자동으로 추가합니다. 환경 지오메트리에 충돌 메시를 빠르게 생성할 때 유용하지만 움직이는 지오메트리에는 사용하지 말아야 합니다. | |
Keep Quads | Unity 에디터는 모든 타입의 다각형(삼각형부터 N각형)을 임포트할 수 있습니다. 꼭지점이 4개 이상인 다각형은 항상 삼각형으로 변환됩니다. 사각형은 “Keep Quads”가 꺼져있을 때에만 삼각형으로 변환됩니다. 테셀레이션 셰이더를 사용할 때는 사각형(quad)이 다각형(polygon)보다 더 좋습니다. 자세한 내용은 표면 셰이더 테셀레이션 문서를 참조하십시오. | |
Index Format | 메시 인덱스 버퍼의 크기를 정의합니다. 참고: 대역폭 및 메모리 저장소 크기를 고려하여 일반적으로 16 bit 인덱스를 기본으로 유지하고, 필요한 때에만 32 bit 를 사용하는 것이 좋습니다. | |
Auto | Unity 에디터가 메시를 임포트할 때 메시 버텍스 수에 따라 16비트 인덱스를 사용할지 32비트 인덱스를 사용할지 자동으로 선택합니다. Unity 2017.3 이상의 버전에서 추가된 에셋에 적용되는 기본값입니다. | |
16 bit | Unity 에디터가 메시를 임포트할 때 항상 16비트 인덱스를 사용합니다. 메시가 상대적으로 크면 64k보다 작은 버텍스 청크로 분할됩니다. Unity 2017.2을 포함한 이전 버전에서 만든 프로젝트에 포함된 에셋에는 이 설정이 적용됩니다. | |
32 bit | Unity 에디터가 메시를 임포트할 때 항상 32비트 인덱스를 사용합니다. GPU 기반 렌더링 파이프라인 작업을 (예를 들어 컴퓨트 셰이더 삼각형 컬링을 통해) 수행하는 경우 유용할 수 있습니다. 모든 메시에 동일한 인덱스 포맷이 사용되도록 보장하고, 컴퓨트 셰이더가 한 가지 포맷만 처리하면 되므로 더 간단해집니다. | |
Weld Vertices | 공간에서 같은 위치를 공유하는 버텍스를 결합합니다. 이 기능은 전체 개수를 줄여 메시의 버텍스 개수를 최적화합니다. 기본적으로 이 옵션은 활성화되어 있습니다. In some cases, you might need to switch this optimization off when importing your Meshes; for example, if you have constructed your Mesh in such a way that you intentionally have duplicate vertices which occupy the same position, and you want to use scripting to read or manipulate the individual vertex or triangle data. 경우에 따라 메시를 임포트할 때 이 최적화를 해제해야 할 수도 있습니다. 예를 들어 중복된 두 개의 버텍스를 메시의 같은 위치에 존재하도록 의도했을 경우 각 버텍스나 삼각형 데이터를 읽거나 수정할 수 있게 하려면 스크립트를 사용하는 편이 나을 수 있습니다. |
|
Import Visibility | MeshRenderer 컴포넌트의 활성화(가시성) 여부를 지정하는 FBX 설정을 임포트합니다. 자세한 내용은 아래 가시성 임포트를 참조하십시오. | |
Import Cameras | .FBX 파일에서 카메라를 임포트합니다. 자세한 내용은 아래 카메라 임포트를 참조하십시오. | |
Import Lights | .FBX 파일에서 광원을 임포트합니다. 자세한 내용은 아래 광원 임포트를 참조하십시오. | |
Preserve Hierarchy | 이 모델에 루트가 하나만 있는 경우에도 항상 명시적인 프리팹 루트를 생성합니다. 일반적으로 FBX 임포터는 최적화 방법의 하나로 빈 루트 노드를 모델에서 제거합니다. 하지만 동일한 계층 구조의 일부분이 포함된 FBX 파일이 여러 개인 경우 이 옵션을 사용하여 원래 계층 구조를 유지할 수 있습니다. 예를 들어 file1.fbx에 릭과 메시가 있고 file2.fbx에는 동일한 릭이 있지만 메시의 애니메이션만 포함된 경우, 이 옵션을 활성화하지 않고 file1.fbx를 임포트하면 애니메이션이 릭 없이 임포트되고 계층 구조가 일치하지 않고 애니메이션이 끊어집니다. |
|
Swap UVs | 메시의 기본 UV 채널과 보조 UV 채널을 서로 바꿉니다. 디퓨즈 텍스처가 라이트맵에서 UV를 사용할 경우 이 옵션을 사용합니다. | |
Generate Lightmap UVs | 라이트매핑에 사용할 두 번째 UV 채널을 생성합니다. 자세한 내용은 라이트매핑 문서를 참조하십시오. | |
Normals & Tangents | ||
Normals | 노멀을 계산해야 하는지 여부와 그 방법을 정의합니다. 게임 크기 최적화에 유용합니다. | |
Import | 기본값입니다. 파일에서 노멀을 임포트합니다. | |
Calculate | Smoothing Angle 을 기준으로 노멀을 계산합니다. 선택하면 Smoothing Angle 이 활성화됩니다. | |
None | 노멀을 비활성화합니다. 메시가 노멀 매핑되지 않고 실시간 조명의 영향을 받지 않을 때 이 옵션을 사용합니다. | |
Normals Mode | Unity 에디터가 노멀을 계산되는 방법을 정의합니다. Normals 가 Calculate 로 설정되어 있을 때에만 사용할 수 있습니다. | |
Unweighted Legacy | 노멀을 계산하는 레거시(2017.1 이전 버전) 방법입니다. 경우에 따라 결과가 현재 구현 방법과 약간 다를 수 있습니다. 프로젝트를 최신 Unity 버전으로 마이그레이션하기 전에 임포트된 모든 FBX 프리팹의 기본값입니다. | |
Unweighted | 노멀에 가중치를 부여하지 않습니다. | |
Area Weighted | 면 영역을 기준으로 노멀에 가중치를 부여합니다. | |
Angle Weighted | 각 면의 버텍스 각도를 기준으로 노멀에 가중치를 부여합니다. | |
Area and Angle Weighted | 면 영역과 각 면의 버텍스 각도를 모두 기준으로 노멀에 가중치를 부여합니다. 해당 옵션이 기본값입니다. | |
Tangents | 버텍스 탄젠트를 임포트하거나 계산할 방법을 정의합니다. Normals 가 Calculate 또는 Import 로 설정된 경우에만 사용할 수 있습니다. | |
Import | Normals 가 Import 로 설정된 경우에만 FBX 파일에서 버텍스 탄젠트를 임포트합니다. 메시에 탄젠트가 없는 경우 노멀 매핑된 셰이더와 함께 사용할 수 없습니다. | |
Calculate Tangent Space | MikkTSpace를 사용하여 탄젠트를 계산합니다. Normals 가 Calculate 로 설정된 경우 기본 옵션입니다. | |
Calculate Legacy | 레거시 알고리즘을 사용하여 탄젠트를 계산합니다. | |
Calculate Legacy - Split Tangent | 레거시 알고리즘을 사용해 탄젠트를 UV 차트 간에 분할하여 계산합니다. 메시의 경계 부분으로 노멀 맵 조명이 구분되는 경우에 사용합니다. 일반적으로 캐릭터에만 적용됩니다. | |
None | 버텍스 탄젠트를 임포트하지 않습니다. 메시에는 탄젠트가 없으므로 노멀 매핑된 셰이더에 사용할 수 없습니다. | |
Smoothing Angle | 가장자리의 각도가 날카로운지 여부를 결정하는 기준 값을 설정합니다. 노멀 맵 탄젠트를 분할할 때에도 사용됩니다. |
Unity는 Import Visibility 프로퍼티를 사용하여 FBX 파일에서 가시성 프로퍼티를 읽을 수 있습니다.
Renderer.enabled 프로퍼티를 제어하여 값과 애니메이션 커브에서 MeshRenderer 컴포넌트를 활성화하거나 비활성화할 수 있습니다.
가시성 상속은 기본적으로 true지만 오버라이드할 수 있습니다. 예를 들어 부모 메시의 가시성을 0으로 설정하면 그 자식의 렌더러도 모두 비활성화됩니다. 이 경우 자식의 Renderer.enabled
프로퍼티에 대해 애니메이션 커브가 각각 하나씩 생성됩니다.
일부 3D 모델링 애플리케이션은 가시성 프로퍼티를 지원하지 않거나 제한적으로 지원합니다. 자세한 내용은 다음을 참조하십시오.
FBX 파일에서 카메라를 임포트할 때 다음 카메라 프로퍼티가 지원됩니다.
프로퍼티: | 기능: |
---|---|
Projection 모드 | 직교 또는 원근입니다. 애니메이션은 지원하지 않습니다. |
Field of View | 애니메이션을 지원합니다. |
Near 및 Far Clipping Plane 거리 | 애니메이션을 지원하지 않습니다. 3DSMax에서 익스포트하는 경우 Clip Manually 설정을 활성화하십시오. 그러지 않으면 임포트 시에 기본값이 적용됩니다. |
참조: 타겟 카메라는 지원되지 않습니다.
다음 광원 타입이 지원됩니다.
다음 광원 프로퍼티가 지원됩니다.
프로퍼티: | 기능: |
---|---|
Range | UseFarAttenuation 이 활성화된 경우 FarAttenuationEndValue 가 사용됩니다. FarAttenuationEndValue 는 애니메이션을 지원하지 않습니다. |
Color | 애니메이션을 지원합니다. |
Intensity | 애니메이션을 지원합니다. |
Spot Angle | 애니메이션을 지원합니다. 스폿 광원에만 사용할 수 있습니다. |
참고: 3DSMax에서 익스포트되는 기본값은 현재 선택된 프레임의 프로퍼티 값입니다. 혼동이 없도록 익스포트할 때 플레이헤드를 프레임 0으로 이동하십시오.
일부 3D 모델링 애플리케이션에서는 광원 프로퍼티에 스케일링을 적용합니다. 예를 들어 스폿 광원을 계층별로 스케일링하고 광원 원뿔에 영향을 미칠 수 있습니다. Unity에서는 이렇게 하지 않으므로 광원이 Unity에서 다르게 보일 수 있습니다.
FBX 포맷을 사용하면 면 광원의 너비와 높이가 정의되지 않습니다. 일부 3D 모델링 애플리케이션에는 이 프로퍼티가 없으므로 스케일링을 사용하여 사각 영역만 정의할 수 있습니다. 그렇기 때문에 면 광원을 임포트할 때 광원의 크기는 항상 1입니다.
타겟 광원 애니메이션은 해당 애니메이션이 베이크된 경우 외에는 지원되지 않습니다.
2017–09–04 일부 편집 리뷰를 거쳐 페이지 수정됨
2018–03–12 일부 편집 리뷰를 거쳐 페이지 수정됨
Unity 5.6 매뉴얼에서 Unity 5.6 이전부터 있던 Keep Quads 기능을 처음 설명
Unity 2017.1에서 Normals Mode, Light, Camera 임포트 옵션 추가됨 NewIn20171
Unity 2017.2에서 Materials 탭 추가됨 NewIn20172
Unity 2017.3에서 Index Format 프로퍼티 추가됨 NewIn20173
2017.3에서 Preserve Hierarchies 추가됨 NewIn20173