icon
4장 : 레벨 디자인

기본 조명 설정과 환경 조정


이전 절에서 랜드스케이프를 생성하고 지형의 형태를 만드는 방법을 배우셨습니다. 이제 여러분이 만든 레벨에 생명을 불어넣을 차례입니다. 바로 조명(Lighting) 을 설정하고, 레벨의 전반적인 환경(Environment) 을 조정하는 방법을 배울 것입니다. 조명은 레벨의 분위기를 결정하고, 오브젝트의 형태를 강조하며, 플레이어의 시선을 유도하는 가장 중요한 시각적 요소입니다. 마치 사진작가가 빛을 이용하여 분위기를 만들듯, 언리얼 엔진의 조명 도구를 사용하여 여러분의 레벨에 감성을 더해봅시다.


언리얼 엔진 조명의 기본 개념

언리얼 엔진은 매우 사실적인 조명 시스템을 제공하며, 크게 세 가지 종류의 조명 액터와 여러 환경 요소들을 통해 레벨의 빛을 제어합니다.

  • 광원(Light Source): 빛을 직접 방출하는 액터 (예: Directional Light, Point Light, Spot Light).
  • 그림자(Shadows): 광원에 의해 생성되는 그림자.
  • 간접광(Indirect Lighting): 빛이 오브젝트에 반사되어 주변을 비추는 효과.
  • 후처리(Post Processing): 최종 렌더링된 화면에 적용되는 시각 효과 (예: 블룸, 색상 보정, 노출).
  • 스카이(Sky) 및 분위기(Atmosphere): 레벨의 전체적인 배경 하늘과 대기 효과.

주요 조명 액터와 그 역할

'기본 레벨' 템플릿에는 이미 몇 가지 조명 액터가 포함되어 있습니다. 각각의 역할과 디테일 패널의 주요 설정들을 살펴보겠습니다.

방향성 광원 (Directional Light)

  • 역할: 태양이나 달처럼 무한히 멀리서 평행하게 빛을 비추는 광원입니다. 모든 오브젝트에 동일한 방향으로 그림자를 드리웁니다. 야외 환경에서 가장 중요한 주 광원입니다.
  • 주요 설정 (디테일 패널)
    • Transform (트랜스폼)
      • Rotation (회전): 이 광원의 가장 중요한 속성입니다. Rotation Y 또는 Rotation X 값을 변경하여 태양의 높이와 방향을 조절할 수 있습니다. Rotation Z는 태양이 어느 방향을 비추는지 결정합니다.
    • Light (라이트)
      • Intensity (강도): 빛의 밝기를 조절합니다.
      • Light Color (빛 색상): 빛의 색상을 조절합니다. (예: 주황색은 일몰, 푸른색은 달빛)
      • Cast Shadows (그림자 드리우기): 활성화/비활성화하여 그림자를 생성할지 여부를 결정합니다.
    • Mobility (모빌리티)
      • Static (정적): 런타임에 움직이지 않고, 빌드 시에 빛 정보를 미리 계산하여 베이크(Bake)합니다. 가장 성능 효율적입니다.
      • Stationary (정지): 런타임에 움직이지 않지만, 일부 다이내믹한 그림자를 허용합니다. (중간 성능)
      • Movable (이동 가능): 런타임에 자유롭게 움직일 수 있으며, 모든 그림자가 실시간으로 계산됩니다. 가장 고성능을 요구하지만, 동적인 낮/밤 시스템 등에 사용됩니다.
      • : 야외 환경의 태양은 보통 'Movable' 로 설정하여 실시간 그림자를 사용하는 경우가 많습니다.

스카이 라이트 (Sky Light)

  • 역할: 하늘 전체에서 들어오는 주변광(Ambient Light)을 시뮬레이션하여 간접광을 표현합니다. 방향성 광원이 비추지 않는 그림자 영역이나 실내 공간에 부드러운 빛을 추가하여 사실감을 높입니다.
  • 주요 설정 (디테일 패널)
    • Light (라이트)
      • Intensity Scale (강도 배율): 스카이 라이트의 밝기를 조절합니다.
      • Source Type (소스 타입)
        • SLS Captured Scene (씬 캡처): 씬에 있는 스카이 스피어나 기타 환경 요소를 캡처하여 빛을 생성합니다.
        • SLS Specified Cubemap (큐브맵 지정): 특정 HDRi 큐브맵 이미지를 사용하여 빛을 생성합니다. (더 사실적인 하늘 배경이나 특정 분위기를 연출할 때 사용)
    • Real Time Capture (실시간 캡처): 활성화하면 스카이 라이트가 씬의 변화(예: 방향성 광원의 회전)에 따라 실시간으로 빛을 캡처하고 업데이트합니다. (성능 부하가 증가하지만, 동적인 낮/밤 시스템에 필수적)

포인트 라이트 (Point Light)

  • 역할: 전구처럼 한 지점에서 모든 방향으로 빛을 방출하는 광원입니다. 촛불, 램프, 폭발 효과 등에 사용됩니다.
  • 주요 설정
    • Light (라이트)
      • Intensity (강도): 빛의 밝기.
      • Light Color (빛 색상): 빛의 색상.
      • Attenuation Radius (감쇠 반경): 빛이 영향을 미치는 최대 반경. 이 반경 밖으로는 빛이 도달하지 않습니다.
    • Mobility (모빌리티): Directional Light와 동일하게 Static, Stationary, Movable 설정이 있습니다. 실내 조명은 주로 Static 또는 Stationary로 설정하여 베이크합니다.

스포트 라이트 (Spot Light)

  • 역할: 손전등처럼 특정 방향으로 원뿔 형태의 빛을 방출하는 광원입니다. 자동차 헤드라이트, 보안 카메라 조명 등에 사용됩니다.
  • 주요 설정
    • Point Light의 설정 외에 'Inner Cone Angle (내부 원뿔 각도)''Outer Cone Angle (외부 원뿔 각도)' 이 있습니다. 내부 원뿔 각도 안에서는 빛이 최대 강도로 비추고, 외부 원뿔 각도까지 부드럽게 감쇠합니다.

환경 액터 (Environment Actors) 조정

조명 액터 외에도 레벨의 전반적인 분위기를 형성하는 중요한 환경 액터들이 있습니다.

스카이 스피어 (Sky Sphere)

  • 역할: 레벨의 배경에 구름이 있는 하늘을 시각적으로 보여주는 대형 구체 메시입니다.
  • 주요 설정 (디테일 패널)
    • Directional Light Actor (방향성 광원 액터): 이 스카이 스피어가 참조할 방향성 광원 액터를 지정합니다. 지정된 방향성 광원의 회전에 따라 스카이 스피어의 낮/밤, 구름 색상 등이 자동으로 변화합니다.
    • Colors (색상): 하늘의 낮/밤 색상, 구름 색상 등을 조절할 수 있습니다.
  • : Directional LightRotation Y 값을 조절하면 스카이 스피어의 태양/달 위치가 바뀌고, 그에 따라 레벨 전체의 분위기(아침, 낮, 저녁, 밤)가 실시간으로 변하는 것을 관찰할 수 있습니다.

후처리 볼륨 (Post Process Volume)

  • 역할: 카메라 렌더링의 최종 단계에서 화면 전체에 적용되는 시각 효과를 제어합니다. 마치 사진 편집 앱의 필터처럼 레벨의 색감, 노출, 블룸, 그림자 등을 미세하게 조정할 수 있습니다.
  • 배치: '추가(Add) > 볼륨(Volumes) > 포스트 프로세스 볼륨(Post Process Volume)'을 통해 레벨에 배치합니다.
  • 주요 설정 (디테일 패널)
    • 렌더링 기능 (Rendering Features): 이 섹션에 수많은 설정들이 있습니다.
      • Exposure (노출): 카메라의 밝기를 조절하여 레벨이 너무 밝거나 어둡지 않게 합니다. 'Min Brightness', 'Max Brightness'를 설정하여 자동 노출 범위를 조절할 수 있습니다.
      • Bloom (블룸): 밝은 부분에서 빛이 번지는 효과를 만듭니다. (빛샘 효과)
      • Vignette (비네트): 화면 가장자리를 어둡게 만들어 시선을 중앙으로 집중시킵니다.
      • Chromatic Aberration (색수차): 렌즈 왜곡 효과로 가장자리에 색상 분리 현상을 만듭니다.
      • Color Grading (색상 보정): 레벨 전체의 색감, 채도, 대비 등을 미세하게 조절하여 특정 분위기를 연출합니다.
      • Ambient Occlusion (앰비언트 오클루전): 오브젝트가 서로 가려지는 부분에 부드러운 그림자를 추가하여 깊이감을 더합니다.
      • Lens Flares (렌즈 플레어): 밝은 광원이 카메라 렌즈에 반사되어 나타나는 빛무리를 표현합니다.
    • Infinite Extent (Unbound) (무한 범위): 이 옵션을 활성화하면 볼륨의 크기에 관계없이 레벨 전체에 후처리 효과가 적용됩니다. 대부분의 경우 이 옵션을 활성화하여 레벨 전체의 시각적 통일성을 유지합니다.

라이트 빌드 (Light Build) 및 성능 고려

언리얼 엔진에서 'Static' 또는 'Stationary' 로 설정된 조명은 라이트 빌드(Light Build) 과정을 거쳐야 빛과 그림자 정보가 미리 계산되어 레벨에 적용됩니다.

  • 빌드 라이트(Build Lights): 툴바의 '빌드(Build)' 드롭다운 메뉴에서 '라이트만 빌드(Build Lighting Only)' 를 선택하여 실행합니다. 이 과정은 시간이 다소 소요될 수 있습니다.
  • 이점: 미리 계산된 조명은 런타임에 성능 부하가 훨씬 적어 게임 성능을 최적화하는 데 매우 중요합니다.
  • Mobility 선택의 중요성
    • Movable (이동 가능) 조명은 빌드 과정이 필요 없지만, 항상 실시간으로 계산되므로 성능 비용이 높습니다.
    • Static (정적) 조명은 빌드가 필수이며, 런타임에 가장 성능 효율적입니다.
    • Stationary (정지) 조명은 베이크된 간접광과 실시간 그림자를 결합하여 유연성과 성능 사이의 균형을 제공합니다.

기본 조명 설정과 환경 조정은 레벨의 시각적 품질과 분위기를 결정하는 핵심적인 과정입니다. 이 절에서 배운 내용들을 바탕으로 다양한 조명 액터를 배치하고, 회전하고, 강도를 조절하며, 후처리 볼륨으로 색감과 노출을 변경하는 연습을 충분히 해보세요. 마치 어두운 공간에 빛을 비추는 것처럼, 여러분의 레벨에 생명력을 불어넣는 즐거움을 느낄 수 있을 것입니다.