FBX 머티리얼 파이프라인

FBX 콘텐츠 파이프라인을 사용하여 기본 머티리얼 및 텍스처를 메시와 함께 전달하는 방법에 대한 가이드입니다.

Choose your operating system:

Windows

macOS

Linux

FBX 파이프라인은 메시(스태틱 메시 및 스켈레탈 메시)에 적용된 머티리얼 및 텍스처를 3D 애플리케이션에서 언리얼 엔진으로 전달합니다. 단순 머티리얼은 소스 머티리얼에서 사용된 텍스처를 임포트하여 변환할 수 있습니다. 따라서 텍스처가 적절한 채널에 연결된 머티리얼을 언리얼 엔진에서 생성한 다음 마지막으로 임포트된 메시에 머티리얼을 적용합니다. FBX 파이프라인은 손이 많이 가는 수동 프로세스를 자동화함으로써 메시 임포트 프로세스를 간소화합니다.

언리얼 엔진 FBX 임포트 파이프라인은 FBX 2020.2 를 사용합니다. 익스포트하는 동안 다른 버전을 사용하는 경우 호환되지 않을 수도 있습니다.

이 페이지에는 Autodesk MayaAutodesk 3ds Max 에 대한 정보가 포함되어 있습니다. 아래에서 선호하는 콘텐츠 제작 툴을 선택하면 해당 툴과 관련된 정보가 표시됩니다.

3D 아트 툴 선택

Autodesk Maya

Autodesk 3ds Max

머티리얼 지원

언리얼 엔진의 FBX 파이프라인에서는 기본 머티리얼 임포트만 지원됩니다. 전달 가능한 머티리얼 유형은 다음과 같습니다.

  • 표면

  • 애니소트로픽

  • 블린

  • 램버트

  • 퐁 E

  • 표준

  • 멀티/서브 오브젝트

이러한 머티리얼 유형뿐 아니라 머티리얼의 특정 피처만 전달할 수 있습니다. FBX 머티리얼 파이프라인은 개별 세팅을 전달할 수 없지만 머티리얼이 사용하는 특정 맵 또는 텍스처를 전달할 수 있도록 지원합니다.

현재 메시와 함께 임포트되는 지원되는 맵(텍스처)은 머티리얼에 추가되며, 일부 공통 유형이 머티리얼에서 디폴트 입력에 연결되지만 일부는 수동으로 연결해야 합니다. 또한 Maya에서 앰비언트 오클루전에 디퓨즈 채널을 사용하는 등 보다 일반적이지 않은 맵 유형은 전혀 임포트되지 않을 수 있습니다.

다수의 머티리얼

메시에는 다수의 머티리얼이 적용될 수 있으며, 각각은 메시의 특정 면을 커버할 수 있습니다. FBX 파이프라인은 3D 애플리케이션에서 적절하게 구성된 경우 다수의 머티리얼이 있는 메시 임포트를 처리할 수 있습니다.

Maya는 메시에서 다수의 머티리얼을 사용하는 방법이 매우 단순합니다. 머티리얼을 적용할 메시 면을 선택하고 머티리얼을 적용하기만 하면 됩니다.

mat_mult_maya.jpg

mat_mult_maya_result.jpg

머티리얼은 '언리얼 에디터'에서 Maya의 메시에 적용된 각 머티리얼마다 생성되며 임포트된 메시는 각 머티리얼에 대한 미티리얼 머티리얼 슬롯을 갖습니다. 메시에 적용된 머티리얼은 Maya에서와 마찬가지로 해당 메시 폴리곤에만 영향을 미칩니다.

3ds Max에서 다수의 머티리얼은 멀티/서브 오브젝트 머티리얼을 사용하여 처리됩니다. 메시의 각 면은 머티리얼 ID 를 가지며 멀티/서브 오브젝트 머티리얼 내의 각 표준 머티리얼이 해당되는 머티리얼 ID 에 적용됩니다.

mat_multi_max.jpg

mat_multi_max_result.jpg

머티리얼은 '언리얼 에디터(Unreal Editor)'에서 멀티/서브 오브젝트 머티리얼 내의 각 표준 머티리얼마다 생성되며 임포트된 메시는 각 머티리얼에 대한 머미티리얼 슬롯을 갖습니다. 메시에 적용된 머티리얼은 3ds Max에서와 마찬가지로 해당 메시 폴리에만 영향을 미칩니다.

머티리얼 명명하기

임포트 프로세스 도중 '언리얼 에디터'에 의해 생성된 머티리얼은 3D 애플리케이션의 소스 머티리얼과 동일하게 명명됩니다. 이름을 가져오는 위치는 메시가 익스포트된 애플리케이션에 따라 달라집니다.

Maya에서 임포트한 경우 '언리얼 에디터'에서 머티리얼의 이름은 Maya의 메시에 적용된 셰이딩 엔진의 이름에서 이전됩니다.

mat_name_maya.jpg

3ds Max에서 임포트한 경우 '언리얼 에디터'에서 머티리얼의 이름은 3ds Max의 메시에 적용된 머티리얼의 이름에서 직접 이전됩니다.

mat_name_max.jpg

머티리얼 순서 지정하기

MaterialSlots.png

4.14를 기준으로 Skin## 명명 규칙은 머티리얼 순서 지정에 필요하지 않습니다.

머미티리얼이 처음 FBX에서 임포트될 때 머티리얼 이름이 머티리얼 슬롯에 할당되므로 FBX를 리임포트할 때 원본 임포트 머티리얼 이름(Original Import Material Name) 을 사용하여 머티리얼을 적합한 엘리먼트 인덱스에 일치시킬 수 있습니다. 이 메서드는 Skin## 명명 규칙으로 머티리얼 순서를 지정하는 것보다 훨씬 일관적이며 임포트 프로세스가 FBX 파일의 이름을 직접 참조하여 목록을 이미 채운 기존 머티리얼과 일치시킬 섹션을 결정할 수 있게 해줍니다. 여기서 '슬롯 이름(Slot Name)'은 메시 레벨 오브 디테일(LOD) 섹션의 '머티리얼 이름(Material Name)' 드롭다운에서 선택한 것과 일치합니다.

슬롯 이름 텍스트로 마우스를 가져가면 임포트된 머티리얼 이름이 툴팁으로 나열됩니다. 4.14 이전에 임포트된 스태틱 메시 또는 스켈레탈 메시의 경우 툴팁에 `None`이라는 머티리얼 이름이 지정됩니다.

MaterialNameTooltip.png

머티리얼 슬롯 추가 또는 제거하기

머티리얼 슬롯을 추가 또는 제거하려면 머티리얼 목록 상단에서 + 모양의 추가 버튼을 사용하거나 슬롯 이름 옆에 있는 x 모양의 제거 버튼을 사용합니다. 추가된 슬롯은 하위 LOD 섹션을 오버라이드하는 데 사용될 수 있지만 베이스 LOD는 예외입니다.

AddMaterialSlot.png

RemoveMaterialSlot.png

머티리얼 슬롯 추가(+)

머티리얼 슬롯 제거(x)

블루프린트 및 C++에서 머티리얼 슬롯 설정

이름으로 머티리얼 설정(Set Material By Name) 을 호출하여 머티리얼에 부여한 슬롯 이름을 사용하면 런타임에서 컴포넌트의 머티리얼을 설정할 수 있습니다. 이렇게 하면 원하는 머티리얼 슬롯을 가져오기 위해 머티리얼 엘리먼트의 인덱스 번호를 하드 코딩할 필요가 없습니다. 또한 슬롯 이름을 참조하게 되므로 메시의 머티리얼 순서가 바뀌더라도 게임플레이 코드가 제대로 작동합니다.

텍스처 임포트

머티리얼에 3D 애플리케이션에서 디퓨즈 또는 노멀 맵으로 할당된 텍스처가 있는 경우, 해당 텍스처는 FBX 임포트 프로퍼티에서 텍스처 임포트(Import Texture) 세팅이 활성화되어 있는 한 언리얼 엔진으로 임포트됩니다.

ImportedMeshAndTex.png

텍스처 샘플 표현식이 언리얼 엔진에서 새로 생성된 머티리얼에 빌드되고 임포트된 텍스처는 해당 텍스처 샘플에 할당됩니다. 텍스처 좌표 표현식 또한 머티리얼에 추가되고 텍스처 샘플의 UV 입력에 연결됩니다. 하지만 일부 텍스처를 머티리얼 슬롯에 연결해야 합니다.

FBXMaterial.png

3D 애플리케이션에서 머티리얼에 적용된 텍스처가 언리얼 엔진과 호환되지 않는 포맷이거나 알려지지 않은 머티리얼 어트리뷰트(예: Maya의 디퓨즈)에 연결되어 있는 경우 임포트되지 않습니다. 이 경우, 그리고 텍스처가 머티리얼에 아예 존재하지 않는 경우 '언리얼 에디터'의 머티리얼에는 랜덤 컬러 벡터 파라미터가 채워집니다.

NoTexture.png

태그