랜드스케이프 야외 지형

Landscape, 랜드스케이프는 드넓은 개방형 야외 환경을 만들기 위한 시스템입니다.

Windows
MacOS
Linux

랜드스케이프 (Landscape) 시스템은 산악, 협곡, 울퉁불퉁 경사진 땅, 심지어 동굴 공간까지도, 월드의 지형을 만들어 주고, 다양한 툴을 사용해서 그 모양이나 겉모습까지도 쉽게 편집할 수 있습니다.

랜드스케이프 툴을 열고 사용하는 법에 대한 정보는, 랜드스케이프 만들기 문서를 참고하세요.

랜드스케이프 툴 모드

Landscape Tool Modes

랜드스케이프 툴의 모드는 세 가지로, 랜드스케이프 툴 창 상단의 아이콘으로 접할 수 있습니다.

아이콘

모드

설명

Landscape_ManageMode.png

Manage 모드

관리 모드 - 새 랜드스케이프를 만들고, 랜드스케이프 컴포넌트를 편집할 수 있습니다. 관리 모드는 랜드스케이프 기즈모 를 가지고 작업을 하는 곳이기도 한데, 랜드스케이프를 부분적으로 복사/붙여넣기, 임포트/익스포트할 수 있습니다. 관리 모드 관련 상세 정보는 관리 모드 문서를 참고하세요.

Landscape_SculptMode.png

Sculpt 모드

조각 모드 - 전용 툴을 사용해서 랜드스케이프의 모양을 변경할 수 있습니다. 조각 모드 관련 상세 정보는 조각 모드 문서를 참고하세요.

Landscape_PaintMode.png

Paint 모드

페인트 모드 - 랜드스케이프의 머티리얼에 정의된 레이어에 따라 랜드스케이프에 텍스처를 칠하여, 랜드스케이프의 부분적인 겉모습을 변경할 수 있습니다. 페인트 모드 관련 상세 정보는, 페인트 모드 문서를 참고하세요.

랜드스케이프를 만든다는 것은, 랜드스케이프 액터를 만드는 것입니다. 다른 액터와 마찬가지로 레벨 에디터의 디테일 패널에서 할당된 머티리얼을 포함한 그 프로퍼티 다수를 편집할 수 있습니다. 디테일 패널 참고.

랜드스케이프 특징

랜드스케이프 지형 시스템의 주요 특징과 채택된 기법에 대한 설명은 아래와 같습니다.

거대한 지형 크기

랜드스케이프 시스템으로 기존 언리얼 엔진에서 가능했던 것 보다 수십 배 큰 규모의 지형을 만들 수 있습니다. 강력한 LOD 시스템과 메모리의 효율적인 사용 덕에 현재 8192x8192 까지의 하이트맵이 가능합니다. 언리얼 엔진에서는 이제 어떠한 유형의 게임이든 원하는 만큼 거대한 야외 세계를, 내부 엔진이나 툴 변경 없이도 쉽고 빠르게 만들어낼 수 있습니다.

Landscape_Terrain_Size.png

랜드스케이프 메모리 사용량

거대한 지형 제작에 있어서는, 일반적으로 랜드스케이프가 스태틱 메시보다 좋습니다.

랜드스케이프는 버텍스 데이터의 경우 버텍스당 4 바이트를 사용합니다. 스태틱 메시는 위치를 12 바이트 벡터로 저장하며, 탄젠트 X 와 Z 벡터는 각각 4 바이트씩으로 압축 저장하고, 16 비트 또는 32 비트 float UV 해서, 버텍스당 24 바이트 또는 28 바이트를 사용합니다.

즉 같은 밀도의 버텍스의 경우, 스태틱 메시는 랜드스케이프보다 6~7 배의 메모리를 사용하게 됩니다. 랜드스케이프는 데이터를 텍스처로도 저장하여, 먼 지역의 미사용 LOD 레벨은 스트림 아웃 시켰다가 가까워지면 백그라운드로 디스크에서 로드할 수도 있습니다. 랜드스케이프는 정규 하이트필드를 사용하므로, 콜리전 데이터 역시도 스태틱 메시에 비해 보다 효율적으로 저장 가능합니다.

정적 렌더 데이터가 GPU 메모리에 텍스처로 저장

랜드스케이프 시스템은 지형에 대한 렌더 데이터를 GPU 메모리에 텍스처로 저장하여, 버텍스 셰이더에서 데이터를 찾아볼 수 있도록 합니다. 데이터는 32비트 텍스처로 패킹되는데, 하이트맵이 R 과 G 채널을 16비트 형태로 차지하며, X 와 Y 오프셋은 8비트 값으로 B 와 A 채널에 각각 저장됩니다.

연속 지오-밉맵 LOD

랜드스케이프 터레인에 대한 LOD는 표준 텍스처 밉맵을 사용하여 처리합니다. 각 밉맵은 레벨 오브 디테일(LOD)이며, 샘플링할 밉맵은 =text2Dlod= HLSL 인스트럭션(명령)을 사용하여 지정할 수 있습니다. 이 방법으로 두 밉 레벨 다 샘플링한 다음 높이와 X Y 오프셋을 버텍스 셰이더에서 보간시켜 깨끗한 모핑 효과를 낼 수 있기에, 다수의 LOD 는 물론 부드러운 LOD 전환도 가능합니다.

Landscape_LOD1.png

Landscape_LOD1toLOD2.png

Landscape_LOD2.png

완전 LOD 1

LOD 1 에서 LOD 2 로 모핑

완전 LOD 2

하이트맵과 웨이트맵 데이터 스트리밍

데이터가 텍스처에 저장되므로, 언리얼 엔진 4의 표준 텍스처 스트리밍 시스템을 활용하여 필요한 대로 밉맵을 스트림 인/아웃시킬 수 있습니다. 이는 하이트맵 데이터에만 적용될 뿐 아니라, 텍스처 레이어에 대한 웨이트에도 적용됩니다. 각 LOD에 필요한 밉맵만 요구하니 어느때고 사용되는 메모리의 양이 최소화되는 것이고, 그에 따라 만들 수 있는 지형의 크기도 커질 수 있는 것입니다.

고해상도 LOD-독립형 라이팅

지형의 X Y 기울기가 저장되기에, (LOD 가 적용되지 않은) 온전한 고해상도 노멀 데이터가 라이팅 계산에 활용됩니다.

Landscape_LODs.png

Landscape_FullResNormals.png

랜드스케이프 LOD

전해상도 노멀

이 방법으로 멀리 있어서 LOD 가 낮아진 컴포넌트에도 픽셀별 라이팅을 하는 데 항상 최고해상도 지형을 사용할 수 있는 것입니다.

Landscape_SimpleVertexLighting.png

Landscape_HRPerPixel.png

심플 버텍스 라이팅

고해상도 픽셀별 라이팅

이 고해상도 노멀 데이터를 디테일 노멀 맵과 결합하면, 별다른 부하 없이 랜드스케이프 지형에 매우 디테일한 라이팅을 낼 수 있습니다.

Landscape_GeometryNormals.png

Landscape_DetailNormals.png

지오메트리 노멀만

디테일 노멀 포함

PhysX 콜리전

랜드스케이프는 언리얼과 리짓 바디 콜리전 둘 다에 대한 콜리전으로 PhysX 하이트필드 오브젝트를 사용합니다. 각 레이어에 피지컬 머티리얼 지정이 가능하며, 콜리전 시스템은 어떤 피지컬 머티리얼을 사용할지 결정하는 데 있어 각 위치에서의 우세(dominant) 레이어를 사용합니다. 해상도가 (렌더 해상도 절반 정도로) 감소된 콜리전 하이트필드를 사용하여 거대한 랜드스케이프 지형에 필요한 메모리를 절약할 수도 있습니다. 원거리 랜드스케이프에 대한 콜리전과 렌더 컴포넌트 역시도 레벨 스트리밍 시스템을 사용하여 스트림 아웃 시킬 수 있습니다.

새로운 언리얼 엔진 4 문서 사이트에 오신 것을 환영합니다!

문서 사이트에 대한 의견을 모을 수 있는 피드백 시스템을 포함해서 여러가지 새로운 기능을 준비하고 있습니다. 아래 Documentation Feedback 포럼(영문) 또는 언리얼 엔진 네이버 공식 카페(한글) 중 편하신 곳에 의견이나 문제점을 알려 주세요.

새 시스템이 준비되면 알려 드리겠습니다.

네이버 카페
공식 포럼