Version: Unity 6.0 (6000.0)
언어 : 한국어
조명 모드로 혼합 조명 설정
씬의 조명 모드 설정

조명 모드

이 섹션에서는 조명 설정 에셋Lighting Mode 프로퍼티가 제공하는 효과를 설명합니다.

조명 모드는 전체 씬에서 조명 설정 에셋을 사용하는 모든 혼합 광원의 동작을 결정합니다. 사용할 수 있는 모드 다음과 같습니다.

  • Baked Indirect에서는 실시간 직접 조명과 베이크된 간접 조명을 결합합니다. 이 모드는 실시간 섀도우 맵으로 실시간 그림자를 제공합니다. 이 조명 모드는 사실적인 조명과 적정한 그림자 정확도를 제공하며, 중급 하드웨어에 적합합니다.
  • Shadowmask는 실시간 직접 조명과 베이크된 간접 조명을 결합합니다. 멀리 있는 게임 오브젝트(섀도우 마스크 포함)에 대한 베이크된 그림자를 지원하고 이를 실시간 그림자(섀도우 맵)와 자동으로 블렌딩합니다. 섀도우 마스크 조명 모드는 가장 사실적이고 리소스를 많이 소모하는 조명 모드입니다. 품질 설정을 사용하여 성능과 시각적 정확도를 설정할 수 있습니다. 이 조명 모드는 고사양 또는 중간 범위 하드웨어에 적합합니다.
  • Subtractive는 베이크된 직접 및 간접 조명을 제공합니다. 하나의 방향 광원에 대해서만 직접 실시간 그림자를 렌더링합니다. 이 조명 모드는 특히 사실적인 조명 결과를 제공하지 않으며, 세련된 아트 또는 저사양 하드웨어에 적합합니다.

렌더 파이프라인의 각 조명 모드 지원에 대한 자세한 내용은 렌더 파이프라인 기능 비교를 참조하십시오.

베이크된 간접

씬의 조명 모드를 Baked Indirect로 설정하면 혼합 조명이 실시간 조명처럼 동작하며, 간접 조명을 라이트맵에 베이크하는 추가 이점이 있습니다. 혼합 광원이 비추는 게임 오브젝트는 프로젝트에서 정의한 그림자 거리까지 실시간 그림자를 드리웁니다.

혼합 광원은 다음과 같이 동작합니다.

  • 혼합 광원이 조명을 비추는 동적 게임 오브젝트는 다음을 받습니다.
    • 실시간 직접 조명
    • 베이크된 간접 조명, 라이트 프로브 사용
    • 동적 게임 오브젝트의 그림자, 섀도우 맵 사용, Shadow Distance까지 캐스트
    • 정적 게임 오브젝트의 실시간 그림자, 섀도우 맵 사용, Shadow Distance까지 캐스트
  • 혼합 광원이 조명을 비추는 정적 게임 오브젝트는 다음을 받습니다.
    • 실시간 직접 조명
    • 베이크된 간접 조명, 라이트맵 사용
    • 정적 게임 오브젝트의 실시간 그림자, 섀도우 맵 사용, Shadow Distance까지 캐스트
    • 동적 게임 오브젝트의 실시간 그림자, 섀도우 맵 사용, Shadow Distance까지 캐스트

그림자 및 런타임 성능

혼합 조명의 모든 그림자는 베이크된 간접 조명 모드에서 실시간으로 표시되므로 성능에 영향을 미칠 수 있습니다. Shadow Distance 프로퍼티를 사용하여 Unity가 실시간 그림자를 그리는 거리를 제한하면 이러한 영향을 줄일 수 있습니다.

섀도우 마스크

베이크된 간접 조명 모드와 마찬가지로 섀도우 마스크 조명 모드는 실시간 직접 조명과 베이크된 간접 조명을 결합합니다. 그러나 섀도우 마스크 조명 모드는 그림자를 렌더링하는 방식에서 베이크된 간접 조명 모드와 다릅니다. 섀도우 마스크 조명 모드를 사용하면 Unity가 런타임 시 베이크된 그림자와 실시간 그림자를 결합하고 원거리에서 그림자를 렌더링할 수 있습니다. 섀도우 마스크라고 불리는 추가 라이트맵 텍스처를 사용하고 추가 정보를 라이트 프로브에 저장하여 이를 수행합니다. Unity는 베이크된 그림자에 대한 섀도우 마스크와 라이트 프로브 오클루전 데이터를 생성합니다.

섀도우 마스크 조명 모드는 모든 조명 모드 중에서 가장 높은 정확도의 그림자를 제공하지만 성능 비용과 메모리 요구 사항이 가장 높습니다. 오픈 월드와 같이 멀리 있는 게임 오브젝트가 보이는 현실적인 씬을 하이엔드 또는 중급 하드웨어에서 렌더링하는 데 적합합니다.

품질 설정 패널을 사용하여 런타임에 Unity가 사용하는 섀도우 마스크 모드를 설정할 수 있습니다.

  • Distance Shadowmask는 높은 정확도의 그림자를 제공하는 대신 성능 소모가 큽니다.
  • Shadowmask는 낮은 정확도의 그림자를 제공하는 대신 성능 소모가 작습니다.

디스턴스 섀도우 마스크 품질 설정 사용

씬의 조명 모드를 Shadowmask로 설정하고 프로젝트가 Distance Shadowmask 품질 설정을 사용하는 경우 혼합 광원은 다음과 같이 동작합니다.

  • 혼합 광원이 조명을 비추는 동적 게임 오브젝트는 다음을 받습니다.
    • 실시간 직접 조명
    • 베이크된 간접 조명, 라이트 프로브 사용
    • 동적 게임 오브젝트의 실시간 그림자, 섀도우 맵 사용, Shadow Distance까지 캐스트
    • 정적 게임 오브젝트의 실시간 그림자, 섀도우 맵 사용, Shadow Distance까지 캐스트
    • 정적 게임 오브젝트의 베이크된 그림자, 라이트 프로브 사용, Shadow Distance를 넘어 캐스트
  • 혼합 광원이 조명을 비추는 정적 게임 오브젝트는 다음을 받습니다.
    • 실시간 직접 조명
    • 베이크된 간접 조명, 라이트맵 사용
    • 동적 게임 오브젝트의 실시간 그림자, 섀도우 맵 사용, Shadow Distance까지 캐스트
    • 정적 게임 오브젝트의 실시간 그림자, 섀도우 맵 사용, Shadow Distance까지 캐스트
    • 정적 게임 오브젝트의 베이크된 그림자, 섀도우 마스크를 사용, Shadow Distance를 넘어 캐스트

섀도우 마스크 품질 설정 사용

씬의 조명 모드를 Shadowmask로 설정하고 프로젝트가 Shadowmask 품질 설정을 사용하는 경우 혼합 광원은 다음과 같이 동작합니다.

  • 혼합 광원이 조명을 비추는 동적 게임 오브젝트는 다음을 받습니다.
    • 실시간 직접 조명
    • 베이크된 간접 조명, 라이트 프로브 사용
    • 동적 게임 오브젝트의 실시간 그림자, 섀도우 맵 사용, Shadow Distance까지 캐스트
    • 정적 게임 오브젝트의 베이크된 그림자, 라이트 프로브 사용, Shadow Distance 이상으로 캐스트
  • 혼합 광원이 조명을 비추는 정적 게임 오브젝트는 다음을 받습니다.
    • 실시간 직접 조명
    • 베이크된 간접 조명, 라이트맵 사용
    • 동적 게임 오브젝트의 실시간 그림자, 섀도우 맵 사용, Shadow Distance까지 캐스트
    • 정적 게임 오브젝트의 베이크된 그림자, 섀도우 마스크를 사용, Shadow Distance 이상으로 캐스트

섀도우 마스크 구현 세부 정보

런타임 시 Unity는 섀도우 마스크를 사용하여 픽셀이 그림자 안에 있는지 여부를 결정합니다. 섀도우 마스크 텍스처에는 베이크된 광원에 대한 오클루전 정보가 포함되어 있습니다. 이는 해당 라이트맵과 동일한 UV 레이아웃과 해상도를 공유합니다. 텍셀당 최대 4개의 광원에 대한 오클루전 정보가 RGBA 포맷으로 저장됩니다.

4개가 넘는 광원이 오버랩되면 추가 광원이 베이크된 조명으로 폴백됩니다. 베이킹 시스템은 어느 광원이 베이크된 조명으로 폴백되는지 결정하며, 겹치는 광원 중 하나를 수정하지 않으면 베이크 전체에서 일관성이 유지됩니다. 라이트 프로브는 최대 4개의 광원에 대해 동일한 정보를 받습니다.

Unity는 그림자를 받는 오브젝트와 독립적으로 광원 오버랩을 계산합니다. 따라서 오브젝트는 동일한 섀도우 마스크/프로브 채널에서 10개의 서로 다른 혼합 광원의 영향을 받을 수 있습니다(이 광원 바운딩 볼륨이 공간의 어느 지점에서도 오버랩되지 않는 한). 일부 광원이 오버랩되면 Unity가 더 많은 채널을 사용합니다. 또한 4개의 채널이 모두 사용 중인 상태에서 광원이 오버랩되는 경우, 광원이 완전히 베이크된 상태로 폴백됩니다.

그림자 및 런타임 성능

Shadow Distance 프로퍼티를 사용하여 Unity가 실시간 그림자를 그리는 거리를 제한할 수 있습니다.

서브트랙티브

Subtractive 조명 모드에서 씬의 모든 혼합 광원은 베이크된 직접 조명과 간접 조명을 제공합니다. Unity는 정적 게임 오브젝트가 드리운 그림자를 라이트맵으로 베이크합니다. 베이크된 그림자 외에도 메인 방향 광원이라고 불리는 방향 광원은 동적 게임 오브젝트에 실시간 그림자를 제공합니다.

그림자가 라이트맵에 베이크되기 때문에, Unity는 런타임 시 베이크된 그림자와 실시간 그림자를 정확하게 결합하는 데 필요한 정보를 얻지 못합니다. 대신 Unity는 라이트맵의 기여도를 줄이기 위해 실시간 섀도우 컬러를 제공하여 베이크된 그림자와 실시간 그림자 사이의 올바른 블렌딩이 생성된 것처럼 보이게 합니다. 컬러를 미세 조정하여 특정 아트 스타일을 구현할 수도 있습니다.

Subtractive 조명 모드는 성능이 중요하고 광원을 드리우는 실시간 그림자를 하나만 필요로 하는 저사양 하드웨어에서 유용합니다. 특히 사실적인 조명 효과를 제공하지 않으며, 셀 셰이딩과 같은 세련된 미적 표현에 더 적합합니다.

Unity는 씬에서 가장 높은 강도 값을 가진 방향 광원을 주방향 광원으로 선택합니다.

씬의 조명 모드를 Subtractive로 설정하면 혼합 광원이 다음과 같이 동작합니다.

  • 혼합 광원이 조명을 비추는 동적 게임 오브젝트는 다음을 받습니다.
    • 실시간 직접 조명
    • 베이크된 간접 조명, 라이트 프로브 사용
    • 주방향 광원의 조명을 받는 동적 게임 오브젝트의 실시간 그림자, 섀도우 맵 사용, Shadow Distance까지 캐스트
    • 정적 게임 오브젝트의 그림자, 라이트 프로브 사용
  • 혼합 광원이 조명을 비추는 정적 게임 오브젝트는 다음을 받습니다.
    • 베이크된 직접 조명, 라이트맵 사용
    • 베이크된 간접 조명, 라이트맵 사용
    • 정적 게임 오브젝트의 베이크된 그림자, 라이트맵 사용
    • 주방향 광원의 조명을 받는 동적 게임 오브젝트의 실시간 그림자, 섀도우 맵 사용, Shadow Distance까지 캐스트
조명 모드로 혼합 조명 설정
씬의 조명 모드 설정