[Unreal Engine 5] 강의 2-5 환경 디자인 - 머티리얼 & 라이팅

2025. 11. 28. 20:50·프로그래밍/Unreal Engine 5

1. 머티리얼이란?

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

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

 

2. 랜드 스케이프 마무리

2-1. 커스텀 머티리얼 생성

 

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

 

왼쪽에서부터 순서대로 각 텍스처에 관한 설명이다.

 

  1. 컬러 정보 (Albedo) = 베이스 컬러
    • 물체의 색상 정보가 저장된 텍스처
    • 조명, 그림자 등의 영향을 받지 않은 상태의 순수한 정보.
  2. 라이팅 정보 (Normal Map)
    • 미세한 굴곡을 표현하는 텍스처
    • 조명이 닿았을때, 튀어나온 부분은 밝고, 패인 부분은 어둡게 표현됨.
  3. 패킹 텍스쳐 (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
'프로그래밍/Unreal Engine 5' 카테고리의 다른 글
  • [Unreal Engine 5] 언리얼에서의 레벨 디자인
  • [Unreal Engine 5] 강의 2-6 환경 디자인 - 머티리얼 애니메이션
  • [Unreal Engine 5] 강의 2-4 환경 디자인 - 랜드스케이프 & 폴리지
  • [Unreal Engine 5] 강의 2-3 콜리전(Collision)
hanong8
hanong8
hanong8 님의 블로그 입니다.
  • hanong8
    HaNong
    hanong8
  • 전체
    오늘
    어제
    • 분류 전체보기 (103) N
      • 프로그래밍 (100) N
        • Unreal Engine 5 (45)
        • C++ (22)
        • UML (2)
        • 자료구조 (2)
        • 알고리즘 (9)
        • 개발일지 (4)
        • DirectX11 (5)
        • Git (2)
        • 코드카타 (9) N
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
hanong8
[Unreal Engine 5] 강의 2-5 환경 디자인 - 머티리얼 & 라이팅
상단으로

티스토리툴바