FBX 스켈레탈 메시 파이프라인

FBX 콘텐츠 파이프라인을 사용하여 스켈레탈 메시를 구성, 익스포트, 임포트합니다.

Choose your operating system:

Windows

macOS

Linux

FBX 임포트 파이프라인의 스켈레탈 메시 지원은 게임에서 사용할 애니메이팅된 메시를 3D 애플리케이션에서 언리얼 엔진으로 가져오는 간소화된 워크플로를 제공합니다. 메시뿐만 아니라 애니메이션 및 모프 타깃도 FBX 포맷을 사용하여 모두 같은 파일로 전송할 수 있습니다. 또한 3D 애플리케이션에서 이러한 메시에 적용된 머티리얼에 사용하는 텍스처(디퓨즈 및 노멀 맵만 해당)도 임포트되고 머티리얼이 자동으로 생성되어 임포트된 메시에 적용됩니다.

FBX를 사용한 스켈레탈 메시 임포트에서 지원되는 기능은 다음과 같습니다.

현재 각 스켈레탈 메시당 하나의 애니메이션만 단일 파일로 임포트될 수 있습니다. 다수의 모프 타깃은 하나의 파일로 스켈레탈 메시 에 전송할 수 있습니다.

이 페이지는 FBX 콘텐츠 파이프라인을 사용하여 스켈레탈 메시를 언리얼 엔진으로 임포트하는 방법에 대한 기술적 개요입니다.

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

문서에서 에셋 임포트(Import Asset) 버튼을 사용하도록 안내하는 경우에는 OS의 파일 브라우저에서 FBX 파일을 클릭하여 드래그해도 됩니다.

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

3D 아트 툴 선택

Autodesk Maya

Autodesk 3ds Max

일반 구성

단일 메시와 멀티 파트 메시

스켈레탈 메시 는 하나의 연속적인 메시로 구성되거나 모두 동일한 스켈레톤으로 스킨 처리된 여러 개의 분리된 메시로 구성될 수 있습니다.

multipart.png

다수의 메시를 사용하면 개별 파트에 LOD를 다르게 적용하고 각 파트를 별도로 익스포트하여 모듈형 캐릭터 시스템에서 사용할 수 있습니다. 스켈레탈 메시 를 이 같은 방식으로 만들어도 퍼포먼스에 미치는 영향은 없습니다. 개별 파트는 언리얼 에디터로 임포트될 때 모두 결합됩니다.

리깅

리깅(rigging)은 메시를 본/조인트의 스켈레탈 계층구조에 바인딩하는 것을 가리킵니다. 이를 통해 기반 스켈레톤의 본/조인트가 메시 버텍스에 영향을 미치면서 움직일 때 마다 이를 디폼할 수 있습니다.

스켈레톤

Maya에서는 조인트 툴(Joint Tool) 을 사용하여 스켈레탈 메시 의 스켈레톤을 생성합니다. 앞서와 마찬가지로 Maya에서 이 툴을 사용하여 릭을 생성하는 방법에 대한 튜토리얼이 많이 나와 있습니다. Maya 도움말을 확인하면 이러한 주제에 대한 정보를 쉽게 얻을 수 있습니다.

3ds Max에서 스켈레탈 계층구조를 어떻게 만들지는 전적으로 사용자에게 달려 있습니다. 아주 잘 작동하는 표준 본 툴 을 사용할 수도 있고, 자체 오브젝트 계층구조를 만들어서 완전한 커스텀 지오메트리 및 컨트롤을 만들 수도 있습니다. 고양이에게 스킨을 입히는 방법은 굉장히 많고 게임 캐릭터를 위한 애니메이션 릭을 생성하는 방법에 대한 튜토리얼 또한 많습니다. 이러한 툴을 사용하는 방법에 대한 자세한 내용은 3ds Max 도움말을 참고하세요.

max_rig.png

바인딩

Maya에서 메시는 스무드 바인딩(Smooth Bind) 명령을 사용하여 스켈레톤에 바인딩되어야 합니다. 이 프로세스는 스켈레탈 메시 가 하나의 연속적인 메시로 구성되었든 다수의 메시 파트로 구성되었든 동일합니다.

  1. 바인딩할 메시를 선택합니다.

  2. Shift 를 누른 채 스켈레톤의 루트 조인트를 선택합니다.

  3. 스무드 바인드스킨(Skin) > 스킨 바인딩(Bind Skin) 메뉴에서 선택합니다.

    maya_skin_3.jpg

  4. 이제 메시의 버텍스 가중치를 각 본에 대해 조정하여 어떤 버텍스가 어떤 조인트에 어느 정도 영향을 받는지 정할 수 있습니다. 이는_페인트 스킨 가중치 툴(Paint Skin Weights Tool)_ 을 사용하거나 기타 선호하는 방식으로 수행할 수 있습니다.

3ds Max에서 메시는 스킨 모디파이어를 사용하여 스켈레톤에 바인딩되어야 합니다. 이 프로세스는 스켈레탈 메시 가 하나의 연속적인 메시로 구성되었든 다수의 메시 파트로 구성되었든 동일합니다.

  1. 바인딩할 메시를 선택합니다.

    max_skin_1.png

  2. 스킨 모디파이어를 모디파이어 목록(Modifier List) 에서 추가합니다.

    max_skin_2.jpg

  3. 스킨 모디파이어의 파라미터 롤아웃에서 skin_add_button.jpg 버튼을 클릭하여 메시에 영향을 미칠 본을 추가합니다. 본 선택(Select Bones) 창이 열립니다.

    max_skin_3.jpg

  4. 본 선택 창에서 본을 선택하고 선택(Select) 버튼을 눌러서 본을 추가합니다.

    max_skin_4.jpg

  5. 이제 본이 모디파이어의 목록에 표시됩니다.

    max_skin_5.jpg

  6. 이제 메시의 버텍스 가중치를 각 본에 대해 조정하여 어떤 버텍스가 어떤 본에 어느 정도 영향을 받는지 결정할 수 있습니다. 이는 엔벨로프를 사용하여 버텍스 가중치를 직접 입력하거나 기타 선호하는 방식으로 수행할 수 있습니다.

    max_skin_6.png

피벗 포인트

언리얼 엔진에서 메시의 피벗 포인트(pivot point)는 트랜스포메이션(이동, 회전, 스케일)이 수행될 중심 포인트를 결정합니다.

pivot.png

스켈레탈 메시 의 피벗 포인트는 항상 스켈레톤의 루트 본/조인트에 위치합니다. 즉, 스켈레톤의 루트가 씬에서 어디에 있든 무관합니다. 3D 모델링 애플리케이션에서 익스포트할 때 피벗 포인트는 마치 원점(0,0,0)에 있는 것처럼 취급됩니다.

pivot_root.png

트라이앵글화

그래픽 하드웨어는 트라이앵글만 처리하므로 언리얼 엔진에서 메시는 반드시 트라이앵글화되어야 합니다.

tris.jpg

메시를 트라이앵글화하는 방법에는 여러 가지가 있습니다.

  • 메시를 트라이앵글로만 모델링 - 가장 좋은 솔루션입니다. 최종 결과에 가장 많은 컨트롤을 제공합니다.

  • 3D 앱에서 메시 트라이앵글화 - 좋은 솔루션입니다. 익스포트 전에 수정 작업을 수행할 수 있습니다.

  • 임포터를 통해 메시 트라이앵글화 - 양호한 솔루션입니다. 수정 작업은 불가능하지만 단순 메시에서는 잘 작동합니다.

  • FBX 익스포터를 통해 메시 트라이앵글화 - 양호한 솔루션입니다. 수정 작업은 불가능하지만 단순 메시에서는 잘 작동합니다.

참고: FBX 익스포터로 메시를 트라이앵글화할 때 '일치하지 않는 트라이앵글 분할(Split Non-Matching Triangles)'이 체크되어 있으면 완전히 랜덤하게 스무딩됩니다. FBX 트라이앵글화된 메시를 Maya로 임포트하고 다시 익스포트하면 적절한 스무딩이 표시됩니다.

3D 애플리케이션에서 메시를 수동으로 트라이앵글화하면서 에지의 방향과 배치를 제어하는 것이 가장 좋습니다. 자동으로 트라이앵글화하면 원치 않는 결과가 발생할 수 있습니다.

tris_bad.jpg

노멀 맵 생성하기

대부분의 모델링 애플리케이션에서는 저해상도 렌더 메시와 고해상도 디테일 메시를 모두 생성하여 메시에 대해 노멀 맵을 직접 생성할 수 있습니다.

SideBySide.jpg

고해상도 디테일 메시의 지오메트리는 노멀 맵의 노멀을 생성하는 데 사용됩니다. 에픽게임즈는 내부적으로 XNormal을 프로세스에 도입하는 워크플로를 사용하며 언리얼 엔진 4에서 렌더링할 때 일반적으로 훨씬 뛰어난 노멀이 생성됩니다. 이 프로세스에 대한 자세한 내용은 언리얼 엔진 텍스처 페이지를 참고하세요.

머티리얼

외부 애플리케이션에서 모델링된 메시에 적용된 머티리얼은 메시와 함께 익스포트된 다음 언리얼 엔진으로 임포트됩니다. 이렇게 하면 텍스처를 별도로 언리얼 엔진으로 임포트할 필요가 없고 머티리얼을 생성하여 적용하지 않아도 되기 때문에 프로세스가 간소화됩니다. FBX 파이프라인을 사용하는 경우 임포트 프로세스에서 이 모든 액션을 수행할 수 있습니다.

이러한 머티리얼은 특별한 방식으로 구성되어야 합니다. 특히 메시에 다수의 머티리얼이 있거나 메시에서 머티리얼의 순서가 중요한 경우에 그렇습니다(예: 머티리얼 0은 바디, 머티리얼 1은 머리인 캐릭터 모델).

익스포트를 위해 머티리얼을 구성하는 방법에 대한 자세한 내용은FBX 머티리얼 파이프라인 페이지를 참고하세요.

버텍스 컬러

_스켈레탈 메시_용 버텍스 컬러(한 세트만 해당)는 FBX 파이프라인을 사용하여 전송할 수 있으며 특별한 구성이 필요하지 않습니다.

vertex_color.jpg

3D 애플리케이션에서 메시 익스포트하기

스켈레탈 메시_는 개별적으로 익스포트할 수 있으며 다수의 메시는 단일 FBX 파일로 익스포트할 수 있습니다. 임포트 파이프라인은 여러 스켈레탈 메시_ 를 대상 패키지에서 여러 에셋으로 분리합니다.

  1. '뷰포트'에서 익스포트할 메시 및 조인트를 선택합니다.

    meshAndJointsSel.png

  2. 파일 메뉴에서 선택 익스포트 를 선택합니다. 선택과 무관하게 씬에 있는 모든 것을 익스포트하려면 모두 익스포트 를 선택합니다.

    maya_export_2.jpg

  3. FBX 익스포트 대화창에서 메시를 익스포트할 위치와 FBX 파일의 이름을 선택하고 적절한 옵션을 설정한 후 maya_export_button.jpg 버튼을 클릭하여 메시를 포함하는 FBX 파일을 생성합니다.

    maya_export_3.jpg

  1. '뷰포트(Viewport)'에서 익스포트할 메시 및 본을 선택합니다.

    max_export_1.png

  2. 파일(File) 메뉴에서 선택 익스포트(Export Selected) 를 선택합니다. 선택과 무관하게 씬에 있는 모든 것을 익스포트하려면 모두 익스포트(Export All) 를 선택합니다.

    max_export_2.jpg

  3. FBX 파일이 메시를 익스포트할 위치와 이름을 선택하고 max_save_button.jpg 버튼을 클릭합니다.

    max_export_3.jpg

  4. FBX 익스포트(FBX Export) 대화창에서 적절한 옵션을 설정하고 max_ok_button.jpg 버튼을 클릭하여 메시를 포함하는 FBX 파일을 생성합니다.

    max_export_4.jpg

메시 임포트하기

  1. 콘텐츠 브라우저(Content Browser) 에서 import_button.png 버튼을 클릭합니다. 파일 브라우저가 열리면 임포트할 FBX 파일을 찾아서 선택합니다. 참고: 드롭다운에서 import_fbxformat.jpg 을 선택하여 원하지 않는 파일을 필터링하는 것이 좋습니다.

    import_file.jpg

    임포트된 에셋의 임포트 경로는 임포트 도중 콘텐츠 브라우저 의 현재 위치에 따라 달라집니다. 따라서 임포트하기 전에 적절한 폴더로 이동해야 합니다. 임포트가 완료되면 임포트된 에셋을 새 폴더로 드래그할 수 있습니다.

  2. FBX 임포트 옵션(FBX Import Options) 대화창에서 적절한 세팅을 선택합니다. 기존 스켈레톤을 공유하지 않는 메시를 임포트할 때는 디폴트 세팅으로도 충분합니다. 모든 세팅에 대한 자세한 내용은 FBX 임포트 대화창 섹션을 참고하세요.

    SkeletalMeshFBXOptions.png

    임포트되는 스켈레탈 메시 가 기존 스켈레톤을 공유하는 경우 스켈레톤 선택(Select Skeleton) 드롭다운 메뉴를 클릭하고 목록에서 스켈레톤 에셋을 선택합니다.

    FBX 스켈레탈 메시 스켈레톤 브라우저

  3. Import Button 버튼을 클릭하여 메시 및 LOD를 임포트합니다. 프로세스가 성공하면 결과 메시(옵션이 활성화된 경우 머티리얼과 텍스처 포함)가 콘텐츠 브라우저 에 표시됩니다.

    ImportedCharacter.png

    페르소나에서 임포트된 메시를 보면 프로세스가 성공적이었는지 확인할 수 있습니다.

스켈레탈 메시 LOD

_스켈레탈 메시_는 게임 내에서 레벨 오브 디테일(LOD)을 사용하여 메시가 카메라에서 멀어질 때의 영향을 제한할 수 있습니다. 일반적으로 각 레벨 오브 디테일에서는 트라이앵글 수가 적어지고 스켈레톤이 단순해지며 보다 단순한 머티리얼이 적용되기도 합니다.

FBX 파이프라인을 사용하여 LOD 메시를 익스포트/임포트할 수 있습니다.

LOD 구성

일반적으로 LOD는 디테일 수준이 가장 높은 베이스 메시부터 디테일 수준이 가장 낮은 LOD 메시까지 복잡도가 다양한 모델을 생성하여 처리됩니다. 이는 동일한 피벗 포인트로 동일한 공간을 차지하도록 정렬되어야 하며 모두 동일한 스켈레톤에 스킨을 입혀야 합니다. 스켈레탈 메시 가 3D 애플리케이션 내에서 다수의 개별 메시로 구성될 수도 있습니다. 각 파트는 나머지 메시와 독립된 LOD를 가질 수 있습니다. 즉, 어떤 파트는 다른 LOD에서 보다 단순한 버전의 LOD를 갖고 나머지 파트는 계속해서 높은 디테일 버전을 유지할 수도 있습니다. 각 LOD 메시에는 완전히 다른 머티리얼이 할당될 수 있으며 머티리얼의 양도 달라질 수 있습니다. 즉, 베이스 메시가 다수의 머티리얼을 사용하여 가까이에서는 원하는 수준의 디테일을 제공하지만, 멀리에서는 디테일이 덜 눈에 띄므로 디테일 수준이 낮은 메시를 통해 단일 머티리얼만 사용할 수도 있습니다.

  1. 모든 메시(베이스와 LOD)를 베이스 LOD부터 마지막 LOD까지 순서대로 선택합니다. 이렇게 해야 복잡도 순서대로 적절히 추가됩니다. 그런 다음 편집(Edit) 메뉴에서 레벨 오브 디테일 > 그룹 명령을 선택합니다.

    maya_lod_group.jpg

  2. 메시가 모두 LOD 그룹으로 그룹화됩니다.

    maya_lod_contents.jpg

  1. 모든 메시를 선택(베이스와 LOD, 순서는 중요하지 않음)하고 그룹(Group) 메뉴에서 그룹 명령을 선택합니다.

    max_lod_group.jpg

  2. 대화창이 열리면 새 그룹의 이름을 입력하고 max_lod_ok_button.jpg 버튼을 클릭하여 그룹을 생성합니다.

    max_lod_group_name.jpg

  3. max_utilities_button.jpg 버튼을 클릭하여 유틸리티(Utilities) 패널을 열고 레벨 오브 디테일(Level of Detail) 유틸리티를 선택합니다. 참고: max_utility_more_button.jpg 버튼을 클릭하고 목록에서 선택해야 합니다.

    max_lod_utility.jpg

  4. 그룹을 선택한 채 max_lod_create_button.jpg 버튼을 눌러서 새 LOD 세트를 생성하고 선택된 그룹의 메시를 세트에 추가합니다. 메시가 복잡도에 따라 자동으로 정렬됩니다.

    max_lod_contents.jpg

멀티 파트 LOD

멀티 파트 _스켈레탈 메시_에 대해 LOD를 구성하는 것은 전체 메시에 대해 LOD를 구성하는 것과 거의 같습니다. LOD를 포함하는 개별적인 각 파트에 LOD 그룹이 생성된다는 것만 다릅니다. 이 개별 LOD 그룹을 구성하는 프로세스는 위에서 설명한 프로세스와 같습니다.

LOD 익스포트하기

스켈레탈 메시 LOD를 익스포트하려면 다음 단계를 따릅니다.

  1. 익스포트할 LOD 그룹과 조인트를 선택합니다.

    meshAndJointsSel.png

  2. 위의 메시 익스포트 섹션에서 설명한 베이스 메시에 사용된 것과 동일한 익스포트 단계를 따릅니다.

  1. 익스포트할 LOD 세트와 본을 구성하는 메시 그룹을 선택합니다.

    max_export_1.png

  2. 위의 메시 익스포트 섹션에서 설명한 베이스 메시에 사용된 것과 동일한 익스포트 단계를 따릅니다.

LOD 임포트하기

스켈레탈 메시 LOD는 메시 디테일(Mesh Details) 패널에 있는 LOD 세팅(LOD Settings)페르소나(Persona) 에서 손쉽게 임포트할 수 있습니다.

  1. LOD를 적용할 스켈레탈 메시페르소나 에서 열고 메시(Mesh) 탭으로 이동합니다.

  2. 메시 디테일 패널에서 스크롤을 내려서 LOD 세팅 섹션을 찾아 LOD 임포트(LOD Import) 옵션을 클릭합니다.

    LOD_Import.png

  3. 파일 브라우저가 열리면 임포트할 FBX 파일을 찾아서 선택합니다.

    ImportFileBrowser.png

  4. 임포트된 LOD가 메시 디테일 패널에 추가됩니다.

    LOD_Added.png

  5. 각 LOD에서 화면 크기(Screen Size) 세팅은 LOD를 사용할 시점을 나타냅니다.

    LODs_Set.png

    참고: 적은 수를 사용하면 더 멀리 떨어져야 LOD를 사용하며 큰 수를 사용하면 보다 가까울 때 LOD를 사용합니다. 위 이미지에서 'LOD0'은 위치가 스켈레탈 메시 에 가까울 때, 'LOD1'은 위치가 스켈레탈 메시 에서 멀 때 사용됩니다.

  6. LOD를 임포트하거나 추가할 때 감소 세팅(Reduction Settings) 을 LOD에 맞게 조정할 수 있습니다.

    LOD_ReductionSettings.png

언리얼 에디터에서 FBX로 임포트하기

앞서 '언리얼 에디터'로 임포트한 스켈레탈 메시콘텐츠 브라우저 내에서 다시 FBX 파일로 익스포트할 수 있습니다.

쿠킹된 패키지의 에셋은 쿠킹된 소스 데이터가 익스포트 프로세스에 필요하므로 익스포트할 수 없습니다.

  1. 콘텐츠 브라우저 에서 익스포트할 스켈레탈 메시 를 선택합니다.

    SelectSkeletalMesh.png

  2. 스켈레탈 메시를 우클릭 하고 에셋 액션(Asset Actions) > 익스포트 를 선택합니다.

    ExportMenu.png

  3. 파일 브라우저가 열리면 익스포트할 파일의 위치와 이름을 선택합니다. 참고: FBX 파일(*.FBX) 이 파일 유형으로 선택되었는지 확인하세요.

    export_file.jpg

피직스 에셋

피직스 에셋 툴(PhAT) 사용법에 대한 자세한 내용은 피직스 에셋 툴 사용자 문서를 참고하세요.

애니메이션

FBX 콘텐츠 파이프라인을 사용한 애니메이션 생성 및 임포트에 대한 자세한 내용은 FBX 애니메이션 파이프라인 페이지를 참고하세요.

모프 타깃

FBX 콘텐츠 파이프라인을 사용한 모프 타깃 생성 및 임포트에 대한 자세한 내용은 FBX 모프 타깃 파이프라인 페이지를 참고하세요.