언어:
페이지 정보
엔진 버전:
언리얼 엔진

버텍스 애니메이션 툴 - 타임라인 메시

언리얼 엔진

여기서는 3Ds Max 애니메이션 타임라인과 함께 버텍스 애니메이션 툴을 사용하여 주어진 3D 메시의 버텍스 위치를 저장하는 2D 텍스처를 만드는 법에 대해 다뤄보도록 하겠습니다.

3Ds Max 콘텐츠 제작 & 타임라인 애니메이티드 메시 구성

  1. 우선 Standard Primitives (표준 프리미티브)에서 Teapot (차주전자)를 월드의 0,0,0 위치에 다음 옵션으로 배치합니다.

    • Radius: 70.0

    • Segments: 5

    [VAT_Teapot_Setup_00.png

  1. 다음 Modifier List 에서 차주전자에 Bend Modifier 를 적용한 다음 Direction90 으로 설정합니다.

    VAT_Teapot_BendMod_00.png

  2. 이제 Auto Key 를 켠 다음 Time Slider10 으로 옮기고 Bend ModifierAngle-50 으로 설정한 뒤, Time Slider25 로 옮기고 Bend 의 Angle50 으로 설정합니다. 마지막으로 Time Slider35 로 옮기고 Bend 의 Angle0 으로 설정합니다. 모든 작업이 끝났으면 Auto Key 옵션을 꺼서 실수로 다른 키를 놓지 않도록 합니다.

  3. 차주전자가 굽었으니, 버텍스 애니메이션 툴이 이미 열려있지 않으면 엽니다. Animation OptionsAnimated Meshes 로, Anim End35 로 설정합니다.

    VAT_Tool_Settings_Setup.png

  4. 올바른 툴 옵션이 설정되었으니, Process Animated Meshes 버튼을 눌러 텍스처 생성 프로세스를 시작합니다. 프로세스가 절반쯤 지나서 생성되는 텍스처 저장 위치를 묻는 Windows 대화창이 뜹니다. 이 예제에서는 데스크톱에 Vertex_Anims 라는 폴더를 놓고, 텍스처는 그 안에 저장했습니다. 완료되면 데스크톱에 놓인 폴더 안에는 두 개의 텍스처 파일이 있을 것입니다. .EXR 텍스처에는 버텍스 위치 데이터가 들어있고, .BMP 텍스처에는 차주전자의 노멀 정보가 들이었습니다.

    VAT_Output_Textures.png

  5. 텍스처가 생성되었으니 3Ds Max 로 돌아가서 이름에 "_MorphExport" 가 추가된 차주전자 메시를 선택하고, 텍스처가 익스포트된 동일 폴더에 .FBX 파일로 익스포트합니다. 메시 이름을 "SM_Teapot_Bend_00" 라 하고 FBX 옵션에서 스무딩 그룹이 켜졌는지 확인한 다음 나머지 세팅은 기본값으로 놔둡니다.

UE4 타임라인 애니메이티드 메시용 콘텐츠 구성 & 사용

모든 콘텐츠를 3Ds Max 에서 익스포트했으면, UE4 안에서 정상 작동하도록 콘텐츠를 임포트하고 구성해 줄 차례입니다. 여기 나열된 단계 하나하나 반드시 설명된 그대로 해 주지 않으면 UE4 안에서 정상 작동하지 않을 수 있음에 유의하시기 바랍니다.

텍스처 임포트 & 구성

UE4 텍스처 임포트 프로세스에 익숙치 않으신 경우, 텍스처 임포트 튜토리얼 문서를 참고하시기 바랍니다.

먼저 해 줘야 하는 작업은, 3Ds Max 에서 익스포트한 텍스처 둘 다 UE4 로 임포트해 줘야 합니다. 그 방법은, Windows 탐색기에서 익스포트한 위치에 있는 각 텍스처를 선택한 다음 콘텐츠 브라우저에 끌어 놓으면 임포트 프로세스가 시작됩니다. 그 때 2 제곱수 크기가 아닌 텍스처는 스트리밍이나 밉 맵에 정상 작동하지 않는다는 창이 뜹니다. 버튼을 눌러 창을 해제하고 임포트 프로세스를 계속합니다.

각 텍스처가 임포트되었으면, 정상 작동하도록 하기 위해 구성해 줘야 하는 방식이 정해져 있습니다. 먼저 구성해 줄 텍스처는 버텍스 위치 데이터가 들어있는 .EXR 텍스처입니다. 콘텐츠 브라우저에서 이 텍스처를 더블클릭하여 열고, 옵션이 다음과 같이 설정되었는지 확인합니다.

  • Mip Gen Settings (밉 생성 세팅)이 No Mip Maps (밉 맵 없음)으로 설정되었는지 확인합니다.

  • Texture Group (텍스처 그룹)을 UI 로 설정합니다.

  • SRGB 옵션이 꺼졌는지 확인합니다.

  • Compression Settings (압축 세팅)을 TC_HDR 로 설정합니다.

  • Filter (필터)를 Nearest (가장 가까움)으로 설정합니다.

    VAT_EXR_Texture_Setup.png

다음, 노멀 맵 텍스처를 연 뒤 옵션이 다음과 같이 설정되었는지 확인합니다.

  • Mip Gen Settings (밉 생성 세팅)이 No Mip Maps (밉 맵 없음)으로 설정되었는지 확인합니다.

  • Texture Group (텍스처 그룹)을 UI 로 변경합니다.

  • SRGB 옵션이 꺼졌는지 확인합니다.

  • Compression Settings (압축 세팅)을 TC_Vector Displacement Map 으로 설정합니다.

  • Filter (필터)를 Nearest (가장 가까움)으로 설정합니다.

    VAT_Normal_Texture_Setup.png

텍스처 구성이 제대로 되었으면, 콘텐츠 브라우저의 모두 저장 버튼을 눌러 지금까지의 변경사항을 저장하도록 합니다.

VAT_Save_All.png

스태틱 메시 임포트 & 구성

텍스처의 임포트와 구성이 완료되었으니, 차주전자 스태틱 메시를 임포트하고 구성할 차례입니다. 텍스처를 임포트했던 것과 같은 방식으로 차주전자 스태틱 메시를 임포트합니다. 먼저 Windows 탐색기에서 차주전자 스태틱 메시를 끌어 콘텐츠 브라우저에 놓으면 임포트 프로세스가 시작됩니다. 그 때 다음과 같은 대화창이 뜹니다. 이 대화창에서 옵션이 다음과 같이 설정되었는지 확인합니다.

스태틱 메시를 UE4 에 임포트하는 방법이 익숙치 않으신 경우, FBX 스태틱 메시 파이프라인 문서를 참고해 주시기 바랍니다.

  • Auto Generate Collision (콜리전 자동 생성) 옵션을 끕니다.

  • Remove Degenerates (퇴화된 것 제거) 옵션을 끕니다.

  • Generate Lightmap UV's (라이트맵 UV 생성) 옵션을 끕니다.

  • Combine Meshes (메시 합침) 옵션을 켭니다.

  • Import Materials (머티리얼 임포트) & Import Textures (텍스처 임포트) 옵션을 둘 다 끕니다.

    VAT_SM_Import_Options.png

옵션이 전부 설정되었으면, 임포트 버튼을 눌러 임포트 프로세스를 시작합니다. 스태틱 메시가 임포트된 이후, 스태틱 메시를 열고 옵션이 다음과 같이 설정되었는지 확인합니다.

  • Use Full Precision UVs (최대 정밀도 UV 사용) 옵션을 켭니다.

  • Distance Field Resolution Scale (디스턴스 필드 해상도 스케일)을 0.0 으로 설정합니다.

    VAT_SM_Setup_Options.png

이제 스태틱 메시가 제대로 구성되었으니, 스태틱 메시 에디터에서 변경사항 적용 버튼을 누른 뒤 콘텐츠 브라우저 에서 모두 저장 버튼을 눌러 지금까지의 변경사항을 모두 저장합니다.

UE4 머티리얼 구성 & 사용

필수 콘텐츠를 전부 임포트하고 제대로 구성했으니, 콘텐츠를 사용할 수 있는 머티리얼을 만들어 줄 차례입니다.

UE4 안에서의 머티리얼 작업방식에 익숙치 않은 경우, 머티리얼 문서를 참고하시기 바랍니다.

  1. 먼저 우클릭기본 애셋 생성 부분 아래 머티리얼 을 선택하여 머티리얼을 새로 만듭니다. 머티리얼 이름은 MAT_Vertex_Animation 라 짓습니다.

  2. 다음, MAT_Vertex_Animation 머티리얼을 열고 전 단계에서 콘텐츠 브라우저로 임포트한 텍스처 두 개를 찾습니다. 두 텍스처 다 선택한 다음 콘텐츠 브라우저에서 끌어 머티리얼 그래프에 놓습니다.

  3. 메인 머티리얼 노드 를 선택한 뒤 디테일 패널 에서 Num Customized UVs 를 검색합니다. Num Customized UVs 입력을 찾았으면, 값을 4 로 입력합니다. 메인 머티리얼 노드에 Customized UV 0 부터 3 까지 네 개의 입력이 생긴 것이 보일 것입니다.

    VAT_Cus_UVs.png

  4. 다음 그대로 메인 머티리얼 노드의 디테일 패널에서 Tangent Space Normal 옵션 체크를 해제합니다.

    VAT_UnCheck_Tan_Normals.png

  5. 그 후 1 키를 누른 상태에서 머티리얼 그래프에 좌클릭하여 Constant Parameter 노드를 배치합니다. Constant 의 값을 0.5 로 설정한 뒤 그 출력을 메인 머티리얼 노드의 베이스 컬러 입력에 연결합니다.

    VAT_Add_Const.png

  6. 이펙트에 힘을 실어줄 머티리얼 함수를 추가할 차례입니다. 머티리얼 그래프 안에 우클릭하면 뜨는 메뉴에서 MS 를 입력하여 Maxscript 머티리얼 함수를 표시합니다. 마우스로 MS_VertexAnimationTools_MorphTargets 머티리얼 함수를 클릭하면 머티리얼 그래프에 추가됩니다.

  7. 이제 머티리얼 그래프에 필수 텍스처와 머티리얼 함수가 전부 추가되었으니 이제 모든 것의 연결을 시작하면 되지만, 우선 Texture Sampler 두 개를 선택하고 그 중 하나에 우클릭한 다음 텍스처 오브젝트로 변환 옵션을 선택하여 텍스처 오브젝트 로 변환해 줍니다.

  8. 다음으로 노멀 텍스처 오브젝트의 출력을 Morph Normal(T2d) 입력에 연결합니다. 그리고 .EXR 텍스처 오브젝트를 Morph Texture (T2d) 입력에 연결합니다. 마지막으로 MS_VertexAnimationTools_MorphTargets 머티리얼 함수의 출력을 메인 머티리얼 노드의 관련된 입력으로 연결합니다.

    VAT_Wired_Up.png

  9. 이제 1 키를 누르고 머티리얼 그래프를 클릭하여 Constant Parameter 를 또 하나 추가합니다. Constant 노드를 추가했으면 그 값을 51 로 설정하고 MS_VertexAnimationTools_MorphTargets 머티리얼 함수의 Number of Morph Targets 입력에 연결합니다.

    VAT_Num_Morph_Targets.png

    Number of Morph Targets 입력에 사용되는 수치는 노멀 텍스처와 .EXR 의 Y 값에서 옵니다. 텍스처의 수치를 사용하지 않으면 UE4 에서의 이펙트 작동방식이 3Ds Max 에서와는 다를 수 있으니 항상 확인하시기 바랍니다.

  10. 모든 것이 연결되었으면 적용 버튼을 눌러 머티리얼을 컴파일하고 저장 버튼을 눌러 저장한 뒤, 완료되면 머티리얼 그래프 에디터를 닫습니다.

  11. 콘텐츠 브라우저 에서 임포트된 차주전자 메시를 선택한 다음 콘텐츠 브라우저에서 끌어 레벨에 놓습니다. 레벨에 차주전자 메시가 배치되면, 생성한 MAT_Vertex_Animation 머티리얼을 선택한 뒤 콘텐츠 브라우저에서 레벨에 배치된 메시 위에 놓아 적용합니다.