그냥 게임개발자

개발일지_008(언리얼엔진)_더 나은 3D메시 만들기2 본문

엔진스터디

개발일지_008(언리얼엔진)_더 나은 3D메시 만들기2

sudoju 2021. 11. 23. 17:34

■스태틱 메시 익스포트

언리얼 엔진은 스태틱과 스케레탈 메시는 FBX 파일 포맷을 사용한다.

여기에는 애니메이션 도 포함

FBX는 다음 유형의 데이터를 포함할 수 있는데 기본 머티리얼 데이터와 함께 스태틱 메시 데이터를 또 기본 머티리얼 데이터와 함께 스킨을 입힌 메시 데이터를 포함할 수 있으며, LOD 데이터와 기반 애니메이션 데이터가 포함되어 있다.

FBX는 익스포트 할 수 있는 주요 포맷이다.

3dmax에서 FBX를 익스포트 할 때 smoothing Groups, Triangulate, Preserve Edge Orientation을 꼭 체크해주셔야 하고 Animation, Deformations, Skins는 선택사항이다.

그다음에 그냥 노멀로 임포트 하면 된다.

보통 노멀로 임포트 하면 되지만 스태틱 메시 임포트 설정에 강조된 표시만 설명하겠다.

Auto Generate Collision - 해당 메시의 콜리전을 생성한다.

Generate Lightmap UVs - 라이트맵 UV를 생성한다.(다만 최고의 라이트맵 UV를 생성하지 않는다.)

그래서 적절한 최고 라이트맵 UV를 생성하려면 이것을 체크 해제하고 DCC에서 직접 만든 라이트맵을 사용

Transform Vertex to Absolute는 꺼져 있으면 바로 알 수 있는게 내가 배치해놓은 오브젝트들이 다시 피벗포인트가 0, 0, 0으로 배치되는 경우가 있다(드물지만) 

Import Materials, Import Textures - 이것은 꺼져있는게 맞다. 왜냐하면 메시 작업 완료와 동시에, 또는 완료가 된 후에야 임포트와 구성이 될 것이기 때문이다.

보통 메시를 확인하거나 메시가 갖출 외형을 보기 위해서는 임포트 할 때는 프로젝트에 테스트 애셋을 많이 배치할 거다.

그때는 이 두 가지 옵션을 반드시 꺼서 여분의 리소스가 이 메시와 함께 임포트가 되는 것을 방지해야 한다.

하지만 굳이 그렇게 해도 되지는 않지만 강의에서는 이 방법이 좋다고 말하는 것뿐이다.

 

이제는 스켈레탈 메시의 임포트 애니메이션에서는

스켈레탈이나 애니메이티드 메시를 임포트 할 것이었다면 Skeletal Mesh를 활성화한 다음, 기존의 스켈레톤을 찾아서 임포트 할지 말지 선택하는 거다.

Import Materials와 Import Textures는 마음대로다 먼저 넣어도 되고 나중에 내가 넣고 싶으면 체크 해제하면 된다.

 

■애셋 리 임포트

애셋을 리 임포트 하려면 리 임포트 할 메시를 오른쪽 클릭 후 리 임포트를 누르면 자동적으로 리 임포트가 된다.

또는 드래그 & 드롭을 하게 되면 언리얼 엔진은 리임포트가 자동으로 어디에 위치해있는지 업데이트가 자동으로 된다.

스태틱 메시의 컴퓨터 상 소스를 정의하여 리 임포트 할 때마다 그 소스로부터 자동으로 리임포트 한다.

하지만 다른 사람이 이 애셋을 받고 다른사람이 리 임포트를 하면 작동하지 않을 거다.

왜냐하면 컴퓨터 상 소스의 정의가 다르기 때문이다.

또한 텍스처의 리임포트 버튼을 누르면 텍스처가 리임포트 되지 않고 탐색기가 뜬다.

왜냐하면 텍스처 소스가 다르기 때문에 파일을 찾아서 소스를 정의해주라고 하는 거다.

그러면 리 임포트의 소스위치가 정의가 되며 리임포트 할 시 자동으로 리임포트가 된다.

 

■자동 리임포트

전에 다른 사람과의 협업 방법에 대해서 얘기했다. 업데이트가 저장될 Dropbox 또는 Goole 폴더를 수신 대기하도록 폴더를 구성해두면 자동으로 폴더를 읽어 그 안의 콘텐츠를 업데이트할 수가 있었다고 했다.

이 폴더를 에디터 개인 설정의 Loading & Saving에서 설정할 수 있으며 언리얼에게 수신 대기를 시킬 폴더를 지정할 수 있다.

 

■전체 씬 임포트

전체 씬 임포트의 멋진 점은 예를 들어 3dmax로 성을 만들면 이 성을 전체 임포트 할 수 있다.

스태틱 메시만 지원하는 게 아니라 스켈레탈 메시, 애니메이션, 머티리얼, 텍스처, 리지드 바디, 모프 타깃, 카메라와 라이팅도 모두 지원한다.

다 자동으로 구성해준다.

여기서 두 가지 알아둘 점은 머티리얼과 카메라 둘 다 일정한 제한이 있다.

머티리얼은 디퓨즈와 노멀 맵만 가져올 것이고 카메라는 애니메이션을 전혀 가져올 수 없어 언리얼 엔진에서 애니메이션을 구성해야 한다.

불러오는 방법은 파일 > 레벨로 임포트

해서 열어주면 된다.

이렇게 하면 모든 파일을 일일이 임포트 한 것처럼 임포트를 해준다.

이게 다 끝나면 전체 신을 재구성해 블루프린트에 배치해 주어서 씬의 모든 메시를 쉽고 빠르게 업데이트해준다.

 

■언리얼 엔진에서 애셋 익스포트

언리얼 엔진에서는 애셋을 익스포트 할 수 있다.

콘텐츠 브라우저에서 오른쪽 버튼을 눌러 애셋 액션 > 익스포트 하거나 파일 > 선택 익스포트나 모두 익스포트를 해서 익스포트 할 수 있다.

 

■애셋 이주

만약 언리얼 엔진 버전을 4.62에서 4.71로 상향시켰다고 하자 그럼 4.62에 있는 애셋을 4.71로 그냥 옮겨버리게 되면 애셋의 내부 연결이 모두 사라지면서 머티리얼도 다 ㅁ망가지기 때문에 옮겨지기는 하지만 모두 재구성을 해야 해서 이상적인 방법은 아니다. 

이때 애셋 이주를 사용하면 된다. 

액터를 옮기려는 애셋과 관련된 모든 애셋까지 외부에서 취한 다음 이 애셋들을 모두 패키 징하여 콘텐츠 폴더로 옮기게 된다.

이걸 새 프로젝트로 다시 열면 텍스처, 머티리얼, 메시 모두의 내부 연결이 그대로 연결된 채 유지되어 프로젝트를 열고 망가진 연결을 고칠 필요 없이 그냥 프로젝트를 실행한 다음 작업을 계속할 수 있다.

애셋을 이주하게 되면 위 이미지와 외부에서 애셋과 관련된 모든 것을 패키징 하게 된다.

다만 콘텐츠 브라우저 폴더를 제외한 다른 디렉터리에 배치하게 되면 모든 내부 연결이 망가지는 위험이 정말 커진다.

하지만 이미 프로젝트에 있는 애셋은 이주할 수 없다.