LandScape, Foliage
LandScape
LandScape는 언리얼에서 넓은 지형을 생성하고, 편집하기 위한 특수한 액터 타입으로
HeightMap 기반의 그리드형 타일 지형으로 구성된다
랜드 스케이프의 구조
요소 | 설명 |
---|---|
Heightmap | 회색조 이미지 기반의 높이 정보 |
Layer Paint | 지형 재질에 페인팅하는 머티리얼 레이어 |
Section / Component | LOD 및 최적화를 위한 내부 분할 단위 |
LandscapeSpline | 도로/강/경로 등을 그릴 수 있는 스플라인 시스템 |
Collision | 높이에 따른 자동 충돌 생성 지원 |
랜드 스케이프의 기능들
기능 | 설명 |
---|---|
Sculpt | Raise/Lower, Flatten, Smooth 등 툴로 높낮이 조정 |
Paint | Landscape Material에 정의된 Layer를 칠함 |
Visibility Mask | 특정 영역을 투명하게 처리 (예: 구멍 뚫기) |
Landscape Material | Layer 기반 머티리얼 시스템 지원 (예: 풀, 바위, 눈 등 분기) |
Runtime Virtual Texture | 거리별 텍스처 표현 최적화 |
LOD / Streaming | Level Streaming과 함께 대규모 월드 최적화 가능 |
전용 렌더링 파이프라인과 LandScape용 머테리얼이 존재
Foliage 와의 구성으로 대규모 월드를 구성하는데 도움을 주는 기능이다
스컬프팅, 스무드, 플래튼, 침식 등의 기능을 이용하여
간략한 지형맵을 구성한 모습
넓은 게임 월드를 구상할때 고려할만한 기술이며
동시에 ‘넓은 게임 월드’를 구현할때 고려되기에 최적화를 뺴놓을 수 없음
랜드 스케이프와 연관된 최적화 기술들
기능 | 설명 |
---|---|
LOD (Level of Detail) | 자동으로 거리 기반 LOD 적용 (섹션 단위로 분할) |
World Partition | 월드를 자동 스트리밍 가능하게 분할 |
Runtime Virtual Texture (RVT) | 지형 텍스처를 미리 굽고, Foliage와 캐릭터 그림자를 통합 렌더 |
시야 절단(Culling) | 오클루전 및 Distance Cull로 보이지 않는 부분 제거 |
Heightmap Resolution 제어 | 너무 정밀하면 오히려 LOD가 늦게 적용되어 성능 저하 |
Foliage
LandScape가 ‘지형’을 생성하는 주요 기능이라면
Foliage는 ‘정적인 물체’를 배치하는 주요 기능이다
(ex : 건물, 차, 나무, 풀 등등)
폴리지의 구조
요소 | 설명 |
---|---|
Foliage Type Asset | Foliage 인스턴스의 설정 데이터 (스케일, 밀도, 정렬, 랜덤성 등) |
Foliage Tool | 브러시처럼 클릭-드래그로 다수 배치 가능 |
Instanced Static Mesh | 성능을 위해 한 종류의 메시를 인스턴싱하여 렌더링 |
Cull Distance | 거리별 제거 설정으로 최적화 |
Align to Surface Normal | 지면 기울기에 따라 정렬 여부 |
폴리지의 기능들
기능 | 설명 |
---|---|
Paint Tool | 특정 영역에 브러시처럼 자연물 그리기 |
Erase Tool | 선택적 제거 |
Select Tool | 개별 선택 및 조정 (편집 모드) |
Foliage Type | 메시/스케일/랜덤/밀도 등 조절 가능 |
Collision | 충돌 ON/OFF 가능 (선택적) |
Procedural Foliage | 자동 스폰 (나무 자라기, 번식 등 시뮬레이션) |
폴리지를 이용한 ‘배치’의 특징
장점 | 단점 |
---|---|
✅ GPU 인스턴싱으로 매우 빠름 | ❌ 개별 액터가 아님 (트리거, 타겟팅이 어려움) |
✅ 대규모 자연환경 구축에 최적 | ❌ 상호작용하려면 수동 처리 필요 |
✅ 에디터 상에서 빠른 배치 | ❌ 리플리케이션/네트워크 미지원 |
- 건물을 Actor 폴리지로 배치한 상황
- 이후 풀과 나무, 바위 등을 StaticMesh 폴리지로 배치하였음
폴리지는 3D 환경의 ‘배치’용도로 자주 사용된다
다만, 많은 양의 물건을 배치할 수 있기에 폴리지 역시 최적화와 연관이 깊음
폴리지와 연관된 최적화 기능들
기능 | 설명 |
---|---|
Instanced Static Mesh (ISM) | 동일 메시를 GPU 인스턴싱으로 매우 빠르게 렌더 |
HISM (Hierarchical ISM) | 트리 구조로 거리별로 배치된 Foliage를 효율적으로 Cull |
Cull Distance 설정 | 거리별로 자동으로 삭제/비표시 처리 |
LOD 모델 사용 | 나무 같은 건 가까이선 고해상도, 멀리선 저해상도 버전 표시 |
Shadow 옵션 제한 | Foliage는 종종 그림자를 끄거나, 간접광만 받도록 설정함 |
- Nanite(나나이트)?
https://dev.epicgames.com/documentation/ko-kr/unreal-engine/nanite-virtualized-geometry-in-unreal-engine
UE5의 가상화 지오메트리 시스템으로, LandScape와 Foliage에 적용할 수 있는 새로운 기술
LOD의 자동처리와 매우 높은 수준의 퀄리티를 보장하지만 아직 개발중이며 지원하지 않는 부분이 많기에
Unreal의 버전이 더 올라갔을 때, 사용이 가능해보이며 현재로서는 키워드만 알아두자
- 초고해상도 메시를 실시간 렌더링하며, 자동으로 LOD까지 처리해주는 기술 정도로 인식하되
아직 개선이 필요한 기술임을 알아두자
- 초고해상도 메시를 실시간 렌더링하며, 자동으로 LOD까지 처리해주는 기술 정도로 인식하되
댓글남기기