근접 광원 개요 - MRTK3
ProximityLight
은 개체의 표면 근처에 마우스를 가져가는 "그라데이션 역점 표시등"을 모방하는 Fluent Design 시스템 패러다임입니다. 가까운 상호 작용에 자주 사용되며, 애플리케이션은 구성 요소를 통해 근접 광원의 속성을 제어할 ProximityLight
수 있습니다.
의 영향을 ProximityLight
받는 재질의 경우 그래픽 도구/Standard 또는 그래픽 도구/Standard Canvas 셰이더를 사용해야 하며 근접 조명 속성을 사용하도록 설정해야 합니다.
그래픽 도구/비 캔버스/프런트플레이트 및 그래픽 도구/캔버스/프런트플레이트도 의 영향을 받지ProximityLight
만 약간 다른 방식으로 적용됩니다.
참고
기본적으로 최대 2 ProximityLight
개의 s가 지원됩니다.
고급 사용량
기본적으로 한 번에 두 개의 ProximityLight
s만 재질 을 비출 수 있습니다. 프로젝트에 재질에 영향을 주는 데 두 ProximityLight
개 이상의 s가 필요한 경우 아래 샘플 코드는 그래픽 도구/Standard 또는 그래픽 도구/StandardCanvas 셰이더에서 이를 달성하는 방법을 보여 줍니다.
참고
재질에 많은 ProximityLight
조명이 있으면 픽셀 셰이더 명령이 증가하고 성능에 영향을 줍니다. 프로젝트 내에서 이러한 변경 내용을 프로파일합니다.
사용 가능한 ProximityLight
의 수를 2에서 4로 늘리는 방법입니다.
// 1) Within GraphicsToolsStandardInput.hlsl change:
#define PROXIMITY_LIGHT_COUNT 2
// to:
#define PROXIMITY_LIGHT_COUNT 4
// 2) Within ProximityLight.cs change:
private const int proximityLightCount = 2;
// to:
private const int proximityLightCount = 4;
참고
Unity 아래와 유사한 경고를 기록하는 경우 변경 내용이 적용되기 전에 Unity 다시 시작해야 합니다.
Property (_ProximityLightData) exceeds previous array size (24 vs 12). Cap to previous size.