다음을 통해 공유


근접 광원 개요 - MRTK3

ProximityLight 은 개체의 표면 근처에 마우스를 가져가는 "그라데이션 역점 표시등"을 모방하는 Fluent Design 시스템 패러다임입니다. 가까운 상호 작용에 자주 사용되며, 애플리케이션은 구성 요소를 통해 근접 광원의 속성을 제어할 ProximityLight 수 있습니다.

근접 광원 UI 예제

의 영향을 ProximityLight받는 재질의 경우 그래픽 도구/Standard 또는 그래픽 도구/Standard Canvas 셰이더를 사용해야 하며 근접 조명 속성을 사용하도록 설정해야 합니다. 그래픽 도구/비 캔버스/프런트플레이트그래픽 도구/캔버스/프런트플레이트도 의 영향을 받지ProximityLight만 약간 다른 방식으로 적용됩니다.

참고

기본적으로 최대 2 ProximityLight개의 s가 지원됩니다.

고급 사용량

기본적으로 한 번에 두 개의 ProximityLights만 재질 을 비출 수 있습니다. 프로젝트에 재질에 영향을 주는 데 두 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.

참고 항목