본문 바로가기
Unity

Unity Lighting

by ljw 2023. 4. 11.
반응형

목차

    유니티의 Lighting View에서 빛과 관련된 설정을 할 수 있다.
    빛을 설정하는 것은 부하가 크고 시간이 오래 걸리기 때문에 적절하게 사용해야 한다.

    Lighting View

    Window > Rendering > Lighting

    Lighting View

    Lighting View에는 아래와 같이 Scene, Environment, Realtime Lightmaps, Backed Lightmaps 총 4개의 Tab이 존재한다.


    Auto Generate

    Scene Tab의 가장 아래쪽에 Auto Generate 토글 버튼이 존재한다.

    Auto Generate란 조명 설정을 자동으로 생성하는 기능이다. 씬에 있는 모든 정적 및 동적 객체를 기반으로 빛을 설정한다.

    'Auto Generate'를 사용하면 자동으로 생성되는 Lighting 요소들
    Lightmaps 정적 객체(Static Objects)에 대한 Lightmap을 생성한다.
    효율적인 조명 계산을 위해 사용된다.

    Lightmap : 씬(Scene)의 조명을 계산하여, 씬의 모든 객체에 빛의 정보를 적용하는 기술이다.
    미리 계산된 텍스처(Texture)로, 게임 실행 시에 실시간으로 조명 계산을 수행하지 않고 미리 계산된 정보를 사용하여 물체에 그림자와 조명 효과를 적용할 수 있다. 이를 통해 게임의 그래픽 퀄리티를 높이면서도 게임 실행 속도를 빠르게 유지할 수 있다.
    Reflection Probes 각각의 Reflection Probe에 대한 샘플을 자동으로 계산한다.

    Reflection Probe : 주변 환경의 반사를 시뮬레이션하고 게임 객체에 반영하는 데 사용되는 컴포넌트(Component)이다. 즉, 게임 오브젝트가 반사되는 환경을 저장하고 이를 렌더링(rendering)할 때 사용한다.
    Scene에 여러 개 추가하여 사용할 수 있으며, 주변 환경의 반사 정보를 렌더링하여 Scene 내의 모든 게임 객체에 적용할 수 있다.
    Light Probe Proxy Volumes 씬 내의 모든 객체에 대한 Light Probe Proxy Volume(LPPV)을 생성한다.
    빛의 변화에 대한 동적 반응을 적용할 수 있다.

    LPPV(Light Probe Proxy Volumes) : 유니티에서 조명 계산을 최적화하기 위한 기술 중 하나이다. 주로 동적 조명 계산을 위해 사용되며, Scene의 균일한 조명을 위해 활용된다.
    Scene의 일정 영역을 표시하고, 해당 영역 내에서 조명 샘플(Light Probes)를 생성하여 동적 조명 계산에 사용한다. 이를 통해 Scene의 조명을 보다 자연스럽게 렌더링할 수 있다.

    장점

    1. 조명 설정을 생성하는 것이 쉽고 빠르다.

    단점

    1. Scene에 있는 모든 객체를 기반으로 생성되므로, 처리 시간이 오래 걸리거나 성능에 영향을 줄 수 있다.
    2. Scene에 변화가 생길 때마다 Lighting을 생성하기 때문에 시간이 오래 걸린다.
      따라서 웬만하면 꺼놓자
    3. 대규모 Scene이나 더 높은 퀄리티의 Lighting을 원하는 경우, 수동으로 조명 설정을 작성하는 것이 적합하다.

    Scene Tab

    Scene Tab

    Light Settings 파일 생성하기

    Scene Tab에서 New Lighting Settings 버튼을 누르면 Assets에 새로운 Light Settings 파일이 생성된다.

    Project View에서 Lighting Settings 파일이 생성된 것을 확인할 수 있다.

    Global Illumination

    • Baked Global Illumination은 간접광이 실시간으로 반영되지 않는 대신에 Realtime Global Illumination보다 표현의 질과 런타임 성능이 더 좋다.

    1. Realtime Global Illumination

    빛의 세기와 방향 등이 달라졌을 때 그 변화를 간접광에 실시간으로 반영한다.

    사용하려면 Realtime Lighting > Realtime Global Illumination을 체크한다.

    2. Baked Global Illumination

    고정된 빛에 의한 간접광들을 라이트맵(Lightmap)으로 구워 게임 오브젝트 위에 미리 입힌다.

    반영된 간접광 효과는 게임 도중에 실시간으로 변하지 않는다.

    사용하려면 Mixed Lighting > Baked Global Illumination을 체크한다.

    Lightmapping Settings

    • 값이 클 수록 정교함은 커지지만 느리게 생성된다.
    • 값이 작을 수록 정교함은 떨어지지만 빠르게 생성된다.
    Lightmapping Settings Property
    Direct Samples 직사광 연산 샘플링 횟수
    Indirect Samples 간접광 연산 샘플링 횟수
    Environment Samples 환경광 연산을 위한 샘플링 횟수
    Indirect Resolution 간접광 텍스처 해상도
    Lightmap Resolution 라이트맵 텍스처 해상도

    Environment Tab

    환경광 색깔 설정

    1. Environment Lighting의 Source를 Color로 변경한다.

    2. Color로 변경하면 Ambient Color 옵션이 나타난다.

    3. Ambient Color 옵션에서 원하는 색깔을 선택하면 환경광이 선택한 색깔로 변경된다.

     

    반응형

    댓글