Unreal engine 4 게임개발, Sword RPG, 랜드스케이프 - 1

랜드스케이프 - 1

지난번에 만들었던 맵에 이어 랜드스케이프와 랜드스케이프 머티리얼을 만들어보겠습니다.

기억이 잘 안나기 때문에 이번에도 언리얼 공식 문서를 참고하며 하겠습니다.

랜드스케이프 만들기

http://api.unrealengine.com/KOR/Engine/Landscape/Creation/

랜드스케이프 머티리얼

http://api.unrealengine.com/KOR/Engine/Landscape/Materials/index.html


저번에 만든 맵입니다. 우선 랜드스케이프를 새로 만들어보겠습니다.


왼쪽 위 모드창에 있는 산 모양을 랜드스케이프 관련 작업을 할 수 있습니다.
기본 Section Size인 63x63 쿼드로 랜드스케이프를 생성하겠습니다.


만들었습니다. 참고로 Ctrl + 숫자를 누르면 뷰포트 위치를 저장할 수 있습니다.
이쯤에서 Ctrl + 1로 화면을 저장하면 어디에 있던간에 1을 누르고 위의 화면으로 이동할 수 있습니다. 작업할 때 편합니다.


Brush Size를 4000으로 하고 랜드스케이프를 조각해보겠습니다. 
공식 문서나 유튜브에 조각 방법들이 많으니 참고하면 좋습니다.



시간날 때 더 예쁘게 만들어보겠습니다...


어느 정도 만들었으니 랜드스케이프에 쓸 머티리얼을 만들겠습니다.
우선 Material 폴더를 새로 만들고


새 머티리얼을 만듭시다.


만들었습니다. 이름은 LandscapeMaterial입니다.


새거라 깔끔하게 비어있습니다.
이제 여기를 채워가야 할텐데 그전에 작업에 쓸 텍스처를 프로젝트에 추가하겠습니다.


예~전에 마켓 플레이스에 무료로 나눠줬던 것들을 프로젝트에 추가하겠습니다.


순서가 조금 꼬여서 GameTextures는 없는 화면이지만 신경쓰지 마십쇼.
이제 아까 만든 머티리얼로 돌아가겠습니다.


가장 먼저 LandscapeLayerCoords를 추가합니다.
이것은 랜드스케이프 터레인에 머티리얼 망을 매핑시키는 데 사용할 수 있는 표현식입니다.
즉 랜드스케이프로 만든 땅덩이에 머티리얼을 어떻게 깔 것인지 대신 고민해주는 친구입니다.


기본 색칠에 쓸 Texture Sample을 4개 만들었습니다. 위 2개는 텍스처에 쓰고 아래 2개는 위 텍스처들에 노말맵을 적용하는 데 사용하겠습니다.


심심하니 텍스처 하나 추가해보고...


LandscapeLayerBlend 는 배열을 사용하여 랜드스케이프 레이어 정보를 저장하기 때문에 
화면의 디테일 창에 보이는 +부호 아이콘을 클릭하면 레이어를 추가할 수 있습니다.
 
계속 진행하기 전에 디테일 창에 있는 BlendType에 대해 정리하고 가겠습니다.
적절한 BlendType을 선택하면 원하는 랜드스케이프를 만드는 데 도움이 되기 때문입니다.
 
레이어를 블렌딩 하는 방식을 결정하는 BlendType3가지로
LB Weight Blend, LB Alpha Blend, LB Height Blend가 있습니다.
 
 

LB Weight Blend

다른 레이어를 신경쓰지 않고 순서 상관없이 칠하고 싶은 레이어가 있을 때 쓰면 좋은 타입입니다.
 
 

LB Alpha Blend

레이어 칠을 세세하게 하면서도 레이어의 순서를 확실하게 하는 타입입니다. 흙바닥을 눈으로 덮고 나중에 눈을 지워서 흙이 살짝 드러나게 하는 식의 표현이 가능합니다.
 
 

LB Height Blend

기본적으로는 LB WeightBlend와 같지만 하이트맵에 따라 레이어 전환을 더 세세하게 해줄 수 있습니다. 이를 통해 바위에서 흙으로 전환할 때, 바위 사이에 흙이 나타나는 식으로 표현할 수 있습니다.
 
다양하게 써보고 싶지만 사실 이것들을 전혀 써보지 않았습니다...
일단 이 포스트에서는 LB Weight Blend만 해보고 나중에 다른 포스트에서 다양한 BlendType를 써보겠습니다.

저는 Grass와 Dirt(나중에 Mud로 바꿉니다)를 추가했습니다.


텍스처를 마저 추가하고


노말맵들도 추가해줍니다.


위와 같이 연결하면 기본적인 머티리얼이 완성됩니다. 한 번 칠해보겠습니다.


왼쪽 위의 랜드스케이프 - 페인트 - Layers 로 간 후 각 Layer 옆의 +버튼을 누르고 LayerInfo를 추가해줍니다.


Dirt를 Mud로 바꾸고 Sky_Light와 LightMassImportanceVolume을 추가한 후 칠했습니다. 마음대로 막 칠하니 기분이 좋습니다. 일단 SwordRPG의 배경은 분지가 전부이기 때문에 대충 이런 느낌으로 가면 될 것 같습니다.

그리고 캡처를 못했는데 처음에 칠할 때는 검은색으로 격자무늬가 나타나서 당황했습니다. Directional Light를 무버블로 하거나 라이팅 빌드를 하니까 괜찮아졌습니다. 검색 결과 사소한 버그로 밝혀졌습니다.

이번 포스트는 여기에서 마치겠습니다.
다음 포스트에서는 조각과 BlendType을 활용해 랜드스케이프를 더 꾸밀 예정입니다.

댓글