이 페이지에서는 씬에 있는 모든 혼합 광원의 동작에 대해 설명합니다. 이때 해당 씬은 Lighting Mode 프로퍼티가 Shadowmask로 설정된 조명 설정 에셋을 사용합니다.
Similar to Baked Indirect Lighting Mode, Shadowmask Lighting Mode combines real-time direct lighting with baked indirect lighting. However, Shadowmask Lighting Mode differs from Baked Indirect Lighting Mode in the way that it renders shadows. Shadowmask Lighting Mode makes it possible for Unity to combine baked and real-time shadows at runtime and render shadows in the far distance. It does this by using an additional lightmap texture known as a shadow mask, and by storing additional information in Light Probes. Unity generates Shadow masks and Light Probe occlusion data for baked shadows.
Shadowmask Lighting Mode provides the highest fidelity shadows among all the Lighting Modes, but has the highest performance cost and memory requirements. It’s suitable for rendering realistic scenes where distant GameObjects are visible, such as open worlds, on high-end or mid-range hardware.
렌더 파이프라인의 섀도우 마스크 조명 모드 지원에 대한 자세한 내용은 렌더 파이프라인 기능 비교를 참조하십시오.
Use the Quality Settings panel to set the Shadowmask Mode Unity uses at runtime.
씬의 조명 모드를 Shadowmask로 설정하고 프로젝트가 Distance Shadowmask 품질 설정을 사용하는 경우 혼합 광원은 다음과 같이 동작합니다.
씬의 조명 모드를 Shadowmask로 설정하고 프로젝트가 Shadowmask 품질 설정을 사용하는 경우 혼합 광원은 다음과 같이 동작합니다.
빌트인 렌더 파이프라인에서 다음 단계를 따르십시오.
HDRP의 경우 다음을 수행하십시오.
HDRP 섀도우 마스크 조명 모드을 참조하십시오.
Shadow Distance 프로퍼티를 사용하여 Unity가 실시간 그림자를 그리는 거리를 제한할 수 있습니다.
런타임 시점에 Unity는 섀도우 마스크를 사용하여 픽셀이 그림자에 있는지 여부를 판단합니다. 섀도우 마스크 텍스처에는 베이크된 광원에 대한 오클루전 정보가 들어 있으며, 해당 라이트맵과 동일한 UV 레이아웃 및 해상도를 사용합니다. 또한 텍셀당 최대 네 개의 광원에 대한 오클루전 정보가 RGBA 포맷으로 저장되어 있습니다.
네 개가 넘는 광원이 겹치는 경우 추가 광원은 베이크된 조명으로 폴백됩니다. 베이크 시스템이 베이크된 조명으로 폴백할 광원을 결정하며, 겹치는 광원 중 하나를 수정하지 않는 한 이는 베이크 내내 일관되게 유지됩니다. 또한 라이트 프로브는 최대 네 개의 광원에 대해 동일한 정보를 수신합니다.
Unity는 그림자를 받는 오브젝트와 별도로 광원 겹침을 계산합니다. 따라서 광원의 바운딩 볼륨이 공간에서 겹치는 지점이 있지 않는 한 오브젝트는 동일한 섀도우 마스크/프로브 채널에서 10개의 서로 다른 혼합 광원 모두의 영향을 받을 수 있습니다. 일부 광원이 겹치는 경우에는 더 많은 채널이 사용됩니다. 또한 4개의 채널이 모두 이미 사용 중인 상태에서 광원이 겹치면 해당 광원은 완전히 베이크되도록 폴백됩니다.