언리얼 엔진의 랜드스케이프 시스템
랜드스케이프란?
언리얼 엔진에서 랜드스케이프(Landscape)는 대규모 지형을 효율적으로 렌더링하고 관리하기 위한 시스템입니다. 산, 계곡, 평야 등의 자연 지형을 쉽게 만들고 편집할 수 있는 도구를 제공합니다.
주요 기능
•
높이맵 기반 지형: 높이맵을 사용하여 지형의 높낮이를 조절할 수 있습니다.
•
레이어 시스템: 여러 레이어를 사용하여 다양한 재질과 텍스처를 지형에 적용할 수 있습니다.
•
LOD(Level of Detail) 시스템: 거리에 따라 지형의 상세도를 자동으로 조절하여 성능을 최적화합니다.
•
프로시저럴 포지셔닝: 지형에 나무, 바위 등의 에셋을 자동으로 배치할 수 있습니다.
•
스플라인 도구: 도로, 강 등을 쉽게 만들 수 있는 스플라인 기반 도구를 제공합니다.
랜드스케이프 작업 흐름
1. 랜드스케이프 생성
새 랜드스케이프를 생성하거나 기존 높이맵을 가져와 시작합니다. 이 단계에서 지형의 크기, 섹션 수, 컴포넌트 크기 등을 설정합니다.
2. 지형 조각하기
언리얼 에디터의 랜드스케이프 도구를 사용하여 지형을 조각합니다. 높이 변경, 평탄화, 침식 등의 도구를 활용할 수 있습니다.
3. 재질 적용
랜드스케이프 재질 시스템을 사용하여 지형에 다양한 텍스처와 재질을 적용합니다. 여러 레이어를 혼합하여 자연스러운 전환을 만들 수 있습니다.
4. 식물 및 오브젝트 배치
폴리지(Foliage) 시스템을 사용하여 나무, 풀, 바위 등을 효율적으로 배치합니다.
성능 최적화 팁
•
적절한 LOD 설정으로 먼 거리의 지형 폴리곤 수를 줄입니다.
•
콜리전 설정을 최적화하여 불필요한 계산을 줄입니다.
•
프록시 메시를 활용하여 먼 거리의 지형을 단순화합니다.
•
효율적인 재질 레이어 설계로 렌더링 부하를 최소화합니다.
고급 기법
•
World Composition: 대규모 오픈 월드를 여러 레벨로 나누어 스트리밍하는 기술
•
Landscape Spline: 도로, 강 등의 자연스러운 곡선 요소 생성
•
Blueprint와의 연동: 동적인 지형 변화 및 상호작용 구현
•
프로시저럴 생성: 알고리즘을 통한 자동화된 지형 생성
랜드스케이프 작업 시 프로젝트의 요구사항과 타겟 플랫폼의 성능을 고려하여 적절한 복잡도와 최적화 전략을 선택하는 것이 중요합니다.
관련 리소스
랜드스케이프 실행하기
실행하는 방법은 간단합니다. 실행모드를 랜드스케이프 모드로 바꾸어 줍니다.
새로운 레벨을 생성해줍니다.
스컬프팅(sculpt)
스컬프팅은 언리얼 엔진의 랜드스케이프 시스템에서 지형을 조각하는 핵심 기능입니다. 언리얼 엔진 5에서는 더욱 직관적이고 강력한 스컬프팅 도구를 제공합니다.
스컬프팅 도구의 종류
•
Sculpt: 지형의 높이를 높이거나 낮추는 기본 도구입니다. 브러시 강도와 크기를 조절할 수 있습니다.
•
Smooth: 거친 지형을 부드럽게 다듬는 도구로, 급격한 높이 변화를 완화합니다.
•
Flatten: 선택한 영역을 특정 높이로 평탄화합니다. 평지, 도로, 건물 부지 등을 만들 때 유용합니다.
•
Ramp: 두 지점 사이에 경사로를 생성합니다. 도로나 계단식 지형을 만들 때 사용합니다.
•
Erosion: 자연스러운 침식 효과를 시뮬레이션하여 현실적인 지형을 만듭니다.
•
Hydro Erosion: 물에 의한 침식을 시뮬레이션하여 강이나 계곡 같은 지형을 자연스럽게 만듭니다.
•
Noise: 지형에 무작위성을 추가하여 자연스러운 질감을 부여합니다.
•
Retopologize: 지형의 토폴로지를 재구성하여 메시 품질을 개선합니다.
언리얼 엔진 5의 스컬프팅 개선사항
언리얼 엔진 5에서는 이전 버전보다 더 정교한 스컬프팅 경험을 제공합니다:
•
개선된 브러시 시스템: 더 높은 정밀도와 직관적인 브러시 컨트롤을 제공합니다.
•
실시간 피드백: 변경 사항을 즉시 확인할 수 있어 작업 효율이 향상됩니다.
•
나노메시 지원: 초고해상도 디테일을 표현할 수 있는 나노메시 기술과의 통합이 가능합니다.
•
브러시 마스크: 복잡한 패턴을 적용할 수 있는 커스텀 브러시 마스크 기능이 강화되었습니다.
•
성능 최적화: 대규모 지형 작업 시에도 안정적인 성능을 제공합니다.
스컬프팅 작업 시 Ctrl 키를 누른 상태에서 작업하면 반대 방향으로 지형을 조작할 수 있습니다(예: 높이기 대신 낮추기). 또한 브러시 크기는 [ 및 ] 키로, 브러시 강도는 Shift + [ 또는 Shift + ] 키로 조절할 수 있습니다.
페인트 모드
랜드스케이프에서는 지형만 생성하는 것이 아닙니다. 배경에서는 지형의 기복 외에 지표면의 모습도 중요합니다.
페인트 모드는 랜드스케이프 지형에 다양한 재질과 텍스처를 적용하는 기능입니다. 이 모드를 통해 산, 계곡, 평원 등 다양한 지형에 적합한 시각적 표현을 구현할 수 있습니다.
페인트 모드의 주요 기능
•
레이어 시스템: 여러 재질 레이어를 생성하고 관리할 수 있습니다. 각 레이어는 서로 다른 지형 유형(흙, 풀, 바위, 모래 등)을 나타냅니다.
•
웨이트 기반 블렌딩: 여러 재질 레이어 간의 자연스러운 전환을 위해 가중치 기반 블렌딩을 사용합니다.
•
마스킹: 높이, 경사도, 방향 등의 조건에 따라 재질 적용을 제한할 수 있습니다.
•
브러시 설정: 브러시 크기, 강도, 폴오프 등을 조절하여 정교한 페인팅이 가능합니다.
•
프로시저럴 페인팅: 알고리즘을 통해 자동화된 재질 적용이 가능합니다.
랜드스케이프 재질 설정
페인트 모드를 효과적으로 사용하기 위해서는 먼저 적절한 랜드스케이프 재질을 설정해야 합니다:
•
랜드스케이프 레이어 블렌드: 여러 텍스처 레이어를 혼합하는 노드입니다.
•
랜드스케이프 레이어 샘플: 특정 레이어의 정보를 가져오는 노드입니다.
•
텍스처 설정: 각 레이어에 베이스 컬러, 노말 맵, 러프니스, 디스플레이스먼트 맵 등을 설정합니다.
언리얼 엔진 5에서는 메가스캔 에셋과의 통합으로 더욱 사실적인 지형 재질을 쉽게 적용할 수 있게 되었습니다. 또한 Virtual Heightfield Mesh(VHM) 기술을 통해 텍스처 해상도와 퀄리티를 크게 향상시켰습니다.
페인트 작업 시 레이어 간의 적절한 블렌딩이 자연스러운 지형 표현의 핵심입니다. 또한 텍스처의 타일링이 눈에 띄지 않도록 충분히 큰 텍스처를 사용하거나 매크로 변형을 적용하는 것이 좋습니다.
랜드스케이프용 메테리얼 만들기
해당 텍스처를 랜드스케이프용 메테리얼을 만들고 추가해줍니다.
랜드스케이프 도구로 돌아와서 [Manage] 버튼에서 Add로 선택되어 다른것을 선택 합니다.
랜드스케이프는 사실상 지면을 여러 레이어로 나누어서 만드는 과정이라고 생각하시면 됩니다.
방금 만든 메테리얼을 선택해줍니다.
브러쉬 사이즈나 모양을 선택해나가면서 다뤄보면 다음과 같은 지형을 만들 수 있다. 이제 한번 직접 재미있게 여러지형을 다뤄보면서 만들어보자.
페인트 모드도 사용해보자.
메테리얼에 Lanscape layer blend 노드를 추가한후 Layer정보를 디테일패널창처럼 만들어주자.
그리고 2개의 텍스처를 레이어에 맞추어 연결시킨후 basecolor로 출력해주자
LayerInfo를 생성해준다 +버튼을 이용해서 그리고 원하는 레이어를 클릭해준후 해당 랜드스케이프 영역에 클릭하면 해당 텍스처로 지형이 텍스처가 입혀지는 걸 볼수 있다.