Version: 2020.3
광원 모드: Baked Indirect
조명 모드: Subtractive

조명 모드: Shadowmask

이 페이지에서는 씬에 있는 모든 혼합 광원의 동작에 대해 설명합니다. 이때 해당 씬은 Lighting Mode 프로퍼티가 Shadowmask로 설정된 조명 설정 에셋을 사용합니다.

베이크된 간접 조명 모드와 마찬가지로, 섀도우 마스크 조명 모드는 실시간 직접 조명을 베이크된 간접 조명과 결합합니다. 하지만 섀도우 마스크 조명 모드는 그림자를 렌더링한다는 점에서 베이크된 간접 조명 모드와 다릅니다. 섀도우 마스크 조명 모드를 통해 Unity는 베이크된 그림자와 실시간 그림자를 런타임 시점에 결합하고, 멀리 있는 그림자를 렌더링할 수 있습니다. 이를 위해 섀도우 마스크라고 부르는 추가 라이트맵 텍스처를 사용하고 추가 정보를 라이트 프로브에 저장합니다.

섀도우 마스크 조명 모드는 다른 조명 모드보다 더 높은 화질의 그림자를 제공하지만, 성능 부하와 메모리 요구 사항이 가장 높습니다. 이 조명 모드는 고사양 또는 중간 사양 하드웨어에서 멀리 있는 게임 오브젝트가 표시되는 사실적인 씬(예: 오픈월드)을 렌더링할 때 적합합니다.

렌더 파이프라인 지원

  • 빌트인 렌더 파이프라인은 섀도우 마스크 조명 모드를 지원합니다. 빌트인 렌더 파이프라인, 그리고 네 개의 렌더 타겟만 지원하는 플랫폼(예: 대부분의 모바일 GPU)에서 섀도우 마스크 조명 모드는 Unity가 포워드 렌더링을 사용하도록 강제 설정합니다.
  • 유니버설 렌더 파이프라인(URP)은 URP 10.1 이상 버전에서 섀도우 마스크 조명 모드를 지원합니다.
  • 고해상도 렌더 파이프라인(HDRP)은 섀도우 마스크 조명 모드를 지원하고, 광원별로 추가 기능을 제공합니다. 이러한 추가 옵션에 대한 자세한 내용은 HDRP 섀도우 마스크 조명 모드를 참조하십시오.

섀도우 마스크 품질 설정

섀도우 마스크 조명 모드에는 다음의 품질 설정이 있습니다.

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

혼합 광원 동작

Distance Shadowmask 품질 설정 사용

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

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

Shadowmask 품질 설정 사용

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

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

씬의 조명 모드를 Shadowmask로 설정

빌트인 렌더 파이프라인에서 다음 단계를 따르십시오.

  1. 씬에 대한 조명 설정 에셋을 선택합니다.
  2. 인스펙터에서 Mixed Lighting 으로 이동합니다.
  3. 드롭다운 메뉴를 사용하여 Lighting ModeShadowmask 로 설정합니다.
  4. 품질 설정(메뉴: Edit > Project Settings에서 Quality 카테고리 선택)을 엽니다.
  5. Shadowmask Mode 드롭다운 메뉴를 사용하여 Shadowmask 또는 Shadowmask Distance를 선택합니다.

HDRP의 경우 다음을 수행하십시오.

HDRP 섀도우 마스크 조명 모드을 참조하십시오.

그림자 및 런타임 성능

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

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

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

네 개가 넘는 광원이 겹치는 경우 추가 광원은 베이크된 조명으로 폴백됩니다. 베이크 시스템이 베이크된 조명으로 폴백할 광원을 결정하며, 겹치는 광원 중 하나를 수정하지 않는 한 이는 베이크 내내 일관되게 유지됩니다. 또한 라이트 프로브는 최대 네 개의 광원에 대해 동일한 정보를 수신합니다.

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

광원 모드: Baked Indirect
조명 모드: Subtractive
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961