01 Terrain Map 개요
▶ 유니티에서 제공하는 미들웨어 엔진으로 높이 맵을 제작할 수 있는 툴
→ 맵의 높낮이를 설정 (높낮이 정보는 grayscale 형태의 raw 파일로 저장)하고 타일링된 텍스처를 여러 장 겹친 후 마스킹 텍스처의 RGBA를 섞어주는 방식
✅ 장점
- 제작 및 수정이 용이하다. (작업시간 단축)
- LOD (Level of Detail) 지원 (최적화 작업)
- Asset Store에 제공되는 다양한 지형지물 오브젝트, Terrain 텍스처
✅ 단점
- 메모리를 많이 사용한다
- 연산이 많아 CPU 자원을 많이 사용한다 (= 게임이 느려진다)
본격적으로 실습을 진행해보자.
먼저 3D 오브젝트에서 Terrain을 생성해준다.
✅ Terrain Object
Terrain Object의 경우 Terrain 제작을 할 수 있으며 높낮이 생김새로 충돌처리까지 할 수 있다.
scene 뷰를 살펴보면 평지가 생성되어 있는 것을 확인할 수 있다.
Terrain 설정 값을 위 이미지와 같이 수정해줄 수 있다.
Terrain Component의 기능은 위와 같이 총 5개 정도가 있음을 확인할 수 있다.
02 Create Neighbor Terrains
▶ Terrain 주변에 현재 Terrain의 기본 텍스처와 크기를 동일하게 갖는 Terrain을 생성하는 메뉴
위 이미지와 같이 현재 Terrain이 배치되어 있는 곳에서 이웃한 네 방향으로 새로운 Terrain을 생성할 수 있다.
네 공간 중 빈 부분을 클릭하면 동일한 크기의 Terrain이 생성되고 생성된 Terrain을 기준으로 배치할 수 있는 가이드라인의 갯수도 늘어나는 것을 확인할 수 있다.
위 그림과 같이 기본으로 설정된 Texture Layer가 있을 때 이웃 Terrain에 그대로 적용된다
03 Paint Terrain
▶ Terrain 오브젝트의 텍스처 즉, 높낮이를 설정할 수 있는 부분
위 이미지와 같이 Paint Terrain 부분에서 드롭다운으로 메뉴를 선택하여 사용할 수 있다.
✅ Raise or Lower Terrain : Brush 정보를 바탕으로 Terrain의 높낮이를 바꾸는 기능
위와 같이 높이와 브러쉬의 모양으로 다양한 형태를 생성시킬 수 있다.
✅ Paint Holes : Brush 정보를 바탕으로 Terrain에 구멍을 뚫거나 메꾸는 기능
다음과 같이 설정한 모양으로 구멍이 생긴것을 볼 수 있다.
✅ Paint Texture : Terrain에 Texture를 입혀주는 역할
Paint Texture로 Terrain을 생성하는 것을 확인해보면 위와 같이 선택할 수 있는 부분이 보이고,
설정 이후 다음과 같은 것을 확인할 수 있다.
Terrain Layer 부분에 가장 맨 앞으로 온 것이 Terrain의 기본 Texture로 설정된 것을 확인할 수 있다.
✅ Terrain Layer - Timing Settings::Size
이를 직접 생성해보면 위와 같이 바뀐 색상들을 확인할 수 있다.
✅ Set Height : 높이의 최대치를 설정하여 Terrain에 평평한 언덕을 만드는 기능
다음과 같이 높이 설정 후, 추가해줄 수 있다.
✅ Smooth Height : Terrain의 언덕 가장자리를 부드럽게 다듬어주는 기능
✅ Stamp Terrain : 설정된 Stamp Height 높이만큼 브러쉬와 동일한 모양을 Terrain에 찍어낸다
위와 같이 설정한 높이 값에 대해 바로 높이조절 없이 생성되는 것을 확인할 수 있다.
Terrain는 사용자 정의 브러쉬를 이용해 원하는 모양의 Tecture및 설정을 더 확인할 수 있다.
04 Paint Tree
▶ 유니티의 Tree 오브젝트 또는 일반 오브젝트를 Terrain에 배치하는 기능
그렇다면 위와 같이 설정된 중에서도 나무가지와 잎 설정도 진행하고 이를 확인할 수 있다.
위와 같이 나무를 직접 설정할 수 있다.
이후 앞에서 에셋스토어를 통해 다운로드 받은 프리팹을 추가해줄 수 있다.
나무의 밀집도 등을 설정하고 위와 같이 삽입해줄 수 있다.
05 Paint Details
▶ 풀이나 돌 같은 지형지물을 심을 때 사용하는 것으로 풀의 경우 바람에 흔들리는 효과를 적용할 수 있다.
기능을 활용하여 풀을 삽입하고 실제 게임 실행 후 결과 확인을 위해 카메라 위치 설정도 변경해주고 게임을 실행하면 나무가 바람을 받아 흔들리는 것을 확인할 수 있다.
06 Terrain Settings
▶ 현재 terrain에 대한 다양한 설정을 할 수 있는 부분
✅ Basic Terrain
✅ Tree & Detail Objects
✅ Wind Settings for Grass
✅ Mesh Resolution
✅ Texture Resolutions
유니티에서는 위와 같이 Export Raw 버튼을 클릭하여 설정완료해준 후 Export 버튼을 클릭해 최종적으로 저장해줄 수 있다. 이를 새로운 Scene을 만들어 Import Raw 버튼을 끌어와서 저장한 Terrain을 불러오면 이전에 저장한 Terrain 설정이 모두 그대로 가져와지는 것을 확인할 수 있다.
'Study > Unity' 카테고리의 다른 글
[Unity 3D Basic] 3D Animations / Simple Combat (0) | 2024.05.29 |
---|---|
[Unity 3D Basic] Animation Layer, Blend Tree 실습 (0) | 2024.05.22 |
[Unity 3D Basic] Animation Layer, Blend Tree (0) | 2024.05.22 |
[Unity 3D Basic] 3D Model / Animations (0) | 2024.05.15 |
[Unity 3D Basic] Navigation Mesh 응용 (0) | 2024.05.15 |