언리얼 엔진은 기본 콘텐츠 에셋도 많고, 에픽게임즈 마켓플레이스에 배포된 좋은 에셋도 매우 많다. 이러한 에셋들은 프로젝트에 추가도 쉬워 사용하기 편하지만, 개인이나 단체에서 프로젝트를 진행하며 직접 제작한 에셋을 엔진에 임포트하는 것은 몇 가지의 단계를 거쳐야 한다.
먼저 에셋을 저장할 폴더를 언리얼 에디터의 콘텐츠 브라우저에서 새로 만든다.
이 dreamworld_pillars.fbx
에셋을 임포트해보자. 위와 같이 탐색기에서 폴더를 찾아 직접 에셋을 저장하거나, 콘텐츠 브라우저에 에셋을 드래그앤드롭으로 저장할 수 있다. 스태틱 메시의 확장자는 .fbx
를 기준으로 한다.
콘텐츠 브라우저가 아닌 탐색기에서 에셋을 포함시키면 위와 같은 메시지를 에디터에서 마주할 수 있다. 임포트 키를 눌러주자.
언리얼 엔진의 임포트 옵션이다. 에셋을 임포트할 때 항상 마주하게 되며, 스태틱 메시뿐 아니라 다른 타입의 에셋도 각각의 임포트 옵션을 선택한다. 언리얼 공식 문서에서 모든 FBX 에셋 임포트 옵션 정보를 확인할 수 있다.
현재 단계에서 주목해야 할 것은 나나이트 빌드
옵션과 Convert Scene Unit
옵션이다.
나나이트는 언리얼5의 렌더링 시스템으로, 많은 양의 폴리곤을 빠르게 렌더링하기 위한 기술이다. 만들어진 모델의 스무딩 그룹이나 UV 이음새 등의 기준에 따라 끊기지 않는 클러스터라는 트라이앵글 그룹을 구성한다.
이는 카메라와의 거리, 가시성, 프러스텀 등의 정보로 렌더링을 최적화하는 LOD에 더하여서 하나의 모델이 다른 모델에 의해 일부가 가려져 전체가 렌더링될 필요가 없을 때 필요한 메시 구역(클러스터)만 불러와 가장 효율적인 렌더링이 가능하도록 한다.
듣기만 하여선 무조건 좋은 옵션으로 보일 수 있지만, 말한 것처럼 많은 양의 폴리곤 모델에 적합한 옵션이고, 특정한 경우엔 해제해야하는 옵션이 된다.
위와 같이 Translucent
모드로 설정된 반투명 머티리얼이 필요하다고 하자. 가로등은 투명한 유리 재질을 가지도록 할 것인데, 나나이트로 빌드된 가로등 에셋에 해당 머티리얼을 적용하면 다음과 같은 현상이 발생한다.
불투명도는 커녕 색상도 제대로 적용되지 않는 모습이다. 이러한 불투명 머티리얼을 위해선 나나이트 빌드
옵션을 비활성화 해주어야 한다. 해당 옵션을 비활성화해주면 아래와 같이 투명도와 색상이 정상적으로 적용된 것을 확인할 수 있다.
임포트할 모델을 해당 플랫폼(엔진)의 좌표계 길이 단위에 맞추는 옵션이다. 모델링 프로그램에서 길이를 지정하여 제작하였더라도 해당 옵션을 체크하지 않으면 정확하지 않은 크기로 임포트될 수 있다.
좌측은 Convert Scene Unit 옵션을 설정하지 않은, 우측은 설정한 상태이다. 좌측 트랜스폼 기즈모 주변에 아주 깨알같은 크기로 pillars
에셋이 배치된 것을 확인할 수 있다. 모델링 툴에서 의도한 크기와 일치하지 않는 모습이다. 언리얼은 m(미터) 단위를 사용하며, 해당 옵션을 설정해야 위와 같이 정상적인 크기로 에셋이 임포트된다.
이렇게 에셋을 임포트하면 정상적으로 머티리얼이 적용되지 않았을 수 있다. 이때 임포트할 .fbx
파일과 함께 머티리얼 베이스 이미지와 필요에 따라 노멀맵 이미지 등을 함께 임포트해주어야 한다. 마찬가지로 윈도우 탐색기 폴더 혹은 에디터의 콘텐츠 브라우저 패널에 사용할 머티리얼용 이미지를 가져온다.
그리고 메시에 적용할 머티리얼을 연다. 위 경우에선 pillar_mtrl
을 열어 머티리얼 에디터를 띄울 것이다. 이때 콘텐츠 브라우저와 머티리얼 에디터를 동시에 사용해야 하므로 화면을 분할해 작업하는 것을 추천한다.
그리고 임포트한 머티리얼용 이미지를 콘텐츠 브라우저에서 클릭해 머티리얼 그래프 영역으로 드래그앤드롭한다.
베이스 이미지는 베이스 컬러
노드 연결부에, 노멀맵 이미지는 Normal
노드 연결부에 연결하고 상단 저장
버튼을 눌러준다. 노멀맵은 있으면 넣고 없으면 넣지 않아도 된다.
저장
버튼을 누르면 적용
이 자동으로 이루어지며, 적용
만 해주면 에디터를 닫기 전에도 해당 머티리얼을 사용하는 에셋에 변경된 머티리얼이 적용된 모습을 확인할 수 있다. 에디터를 닫을 때는 반드시 저장해주어야 하며, 이때 저장하지 않으면 작업 내용은 모두 소멸된다.
현재 저장 버튼을 누르지 않아 pillar_mtrl
에셋 이름 옆에 *
기호가 표시되는데, 적용
버튼만 눌러주어도 레벨에 배치된 에셋에 머티리얼이 정상적으로 적용된다는 것을 의미한다.