1. 머티리얼이란?
머티리얼은 게임 오브젝트의 표면 특성을 결정하는 중요한 요소이다.

눈으로 보는 모든 3D 모델의 외관은 머티리얼에 의해 만들어지며, 이는 텍스쳐, 색상, 반사, 굴절 등 다양한 시각적 효과를 구현하는 기반이 된다.
- 머티리얼의 역할
- 표면 표현 : 금속, 유리, 나무, 플라스틱 등 다양한 재질을 사실적으로 표현할 수 있다.
- 빛의 상호작용 : 조명에 따른 반사, 굴절, 그림자 효과를 통해 현실감을 부여한다.
- 효과 구현 : 노멀 맵, 스페큘러, 메탈릭 등 세밀한 속성을 통해 복잡한 시각 효과를 구현한다.
2. 랜드 스케이프 마무리
2-1. 커스텀 머티리얼 생성


- 팹에서 몇 가지 머티리얼 들을 받은 뒤 새로운 머티리얼 에셋을 생성하고 더블 클릭해 열어준다


왼쪽에서부터 순서대로 각 텍스처에 관한 설명이다.
- 컬러 정보 (Albedo) = 베이스 컬러
- 물체의 색상 정보가 저장된 텍스처
- 조명, 그림자 등의 영향을 받지 않은 상태의 순수한 정보.
- 라이팅 정보 (Normal Map)
- 미세한 굴곡을 표현하는 텍스처
- 조명이 닿았을때, 튀어나온 부분은 밝고, 패인 부분은 어둡게 표현됨.
- 패킹 텍스쳐 (Packed Texture)
- 성능 최적화를 위해 개별 텍스쳐를 하나로 합쳐놓은 형태
- AO (Ambient Occlusion), Roughness, Metalness 등의 정보가 들어있다.

- LandscapeLayerCoords 노드를 생성 한 뒤 각 머티리얼 별로 3개의 텍스쳐와 UVs 핀에 연결해준다.

- LandscapeLayerCoords의 디테일에서 적용된 텍스쳐들의 크기, 회전, 반복 수 등을 조절할 수 있다.

- LandScapeLayerBlend 노드를 추가하고 사용할 3가지의 레이어를 추가하고 이름을 작성한다.
2-2. 머티리얼 속성 블렌드

- 위에서 만든 LandscapeLayerBlend 노드를 3개 복사하고 순서대로 코멘트를 작성한다.

- Base Color를 나타내는 텍스처는 Base Color 노드
- Normal Map은 Normal Map노드
- 패킹 텍스쳐 노드의 Red는 A/O(Ambient Occlusion) 노드로, Green은 Roughness 노드로 연결한다.


- 머터리얼의 기본 옵션 중, 블렌드 모드를 'Masked'로 바꿔주면 머터리얼 노드의 '오파시티 마스크'가 활성화 되는데 'Landscape Visbility Mask' 노드를 생성해 추가해 준다.
- 이는 랜드스케이프만의 전용 특성이며 랜드스케이프의 투명도를 관리할 수 있게 해준다
cf) 언리얼 엔진의 랜드스케이프 비저빌리티 툴 | 언리얼 엔진 5.7 문서 | Epic Developer Community

- 각 레이어 노드들도 이름에 맞춰 머티리얼 아웃풋 노드에 연결해 준다.
2-3. 랜드스케이프 머티리얼 적용

- 2-4에서 학습한대로 뷰포트에서 폴리지를 숨긴다.
- 생성한 M_Landscape를 추가해준다.

- 생각한대로 작동하기 위해선 생성한 3개의 레이어에 대한 정보를 추가해야 한다.
- 랜드스케이프 모드 > 페인트 선택 > 할당된 머터리얼에서 레이어 생성 버튼누른다.
- 3가지 머티리얼 모두 우측에 + 버튼 > '웨이트 블렌딩된 레이어(노멀)을 클릭해 'Materials' 폴더에 레이어 정보를 저장한다



- 랜드스케이프 내부의 레이어 노드의 디테일 패널에 있는 값들을 수정하며 반복수, 회전, 사이즈 등과
랜드스케이프 모드의 페인트에서 툴 강도, 브러시 크기, 감쇠 등을 적절히 조절하며 칠한다.
3. 라이팅(Lighting)
라이팅은 게임의 분위기를 결정짓는 핵심 요소이다.
적절한 조명 설정은 게임 환경에 생명력을 불어넣으며, 플레이어의 몰입감을 극대화한다.
- 디렉셔널 라이트, 포인트 라이트, 스포트 라이트 등 다양한 조명 옵션을 활용하여 각 상황에 맞는 분위기를 연출한다.
3-1. 포스트 프로세스 볼륨(Post Process Volume)
포스트 프로세스 볼륨은 플레이어의 카메라에 여러가지 효과를 줄 수 있는 효율적인 툴이다. 주로 시네마틱 카메라와 함께 사용.
cf) 문서 | Epic Developer Community


- 포스트 프로세스 볼륨을 생성 > 디테일에서 'unbound' 검색 > 무한 규모(언바운드)를 체크에 레벨 전체에 효과가 적용되도록 한다.

- Lneds > Exposure(노출)에서 미러링 모드를 Manual로 바꾸면 엔진에서 노출보정을 자동으로 처리하지 않고 일관된 라이팅 값을 보여준다.
- 노출 보정은 높을수록 밝아지고 '0'으로 하면 아무것도 보이지 않는다.


- Lens Flares를 활성화 시키면 빛을 바라볼때 카메라의 빛의 산란이 발생
그 외 다른 기능들은 공식문서를 참고할 수 있다. 다만, 대부분 시네마틱을 위한 기능이라 성능저하 문제가 발생할 가능성이 크다.
3-2. 디렉셔널 라이트(Directional Light)

- 2.4강의에서 BP_SunSky 액터를 생성해 스카리 라이트와 관련된 모든 컴포넌트를 추가함으로서 한 번에 관리 할 수 있게 했다.

- 디렉셔널 라이트의 회전값을 변경하면 햇빛의 각도를 조절할 수 있다.

작업을 하다가 해당 경고가 발생한다면

- 컨텐츠 브라우저에서 사용중인 모든 스태틱 매시들을 선택한 뒤 나나이트 옵션을 킨다
cf) 나나이트란 언리얼 엔진의 가상화된 지오메트리 시스템으로, 수십억 개의 폴리곤을 실시간으로 자동 최적화하여 높은 디테일을 유지하면서 성능을 극대화 하는 기술
dev.epicgames.com/documentation/ko-kr/unreal-engine/nanite-virt
3-3. 스카이 라이트



- 월드 영향 옵션을 끄면 디렉셔널 라이트만 적용되고 물체들 끼리의 반사광은 사라진다.


- 익스포넨셜 하이트 포그 컴포넌트(Exponential Height Fog) 액터를 추가해 안개 효과를 줄 수 있다.
- 포그 밀도 : 안개의 밀도
- 포그 높이 감쇠 : 안개의 높이, 0으로 하면 하늘의 구름까지 잠긴다
3-4. 디테일 추가




- 시작용 컨텐츠를 추가하면 불과 연기 등 각종 블루 프린트들을 사용할 수 있고 펩에서 마음에 드는 에셋을 추가해 사용해도 된다.
'프로그래밍 > Unreal Engine 5' 카테고리의 다른 글
| [Unreal Engine 5] 언리얼에서의 레벨 디자인 (0) | 2025.12.02 |
|---|---|
| [Unreal Engine 5] 강의 2-6 환경 디자인 - 머티리얼 애니메이션 (0) | 2025.12.01 |
| [Unreal Engine 5] 강의 2-4 환경 디자인 - 랜드스케이프 & 폴리지 (1) | 2025.11.27 |
| [Unreal Engine 5] 강의 2-3 콜리전(Collision) (0) | 2025.11.24 |
| [Unreal Engine 5] 강의 2-2 액터의 상호작용 - 오버랩, 충돌이벤트 (0) | 2025.11.21 |