Общие сведения об освещении при наведении — MRTK3
HoverLight
— это парадигма системы проектирования Fluent Design, которая имитирует точечное освещение при наведении рядом с поверхностью объекта. Это приложение, часто используемое для дальнего взаимодействия, может управлять свойствами освещения при наведении с помощью компонента HoverLight
.
Чтобы использовать HoverLight
на материале, необходимо использовать шейдеры Graphics Tools/Стандартные или Graphics Tools/Стандартный холст, а также необходимо включить свойство Освещение при наведении.
Примечание
Шейдеры Graphics Tools/Стандартные и Graphics Tools/Стандартный холст по умолчанию поддерживают до двух HoverLight
, однако масштабируются для поддержки четырех по мере добавления в сцену дополнительных источников освещения.
Расширенное использование
Для освещения материала одновременно можно использовать только четыре HoverLight
. Если для проекта требуется более четырех HoverLight
, которые будут влиять на материал, в примере кода ниже показано, как этого добиться.
Примечание
Если материал освещается большим количеством HoverLight
, это увеличит количество инструкций построителя текстуры и повлияет на производительность.
Учтите эти изменения в своем проекте.
Как увеличить число доступных HoverLight
с двух до десяти.
// 1) Within GraphicsToolsStandardInput.hlsl change:
#define HOVER_LIGHT_COUNT 4
// to:
#define HOVER_LIGHT_COUNT 10
// 2) Within HoverLight.cs change:
private const int hoverLightCount = 4;
// to:
private const int hoverLightCount = 10;
Примечание
Если Unity регистрирует предупреждение, аналогичное приведенному ниже, необходимо перезапустить Unity, прежде чем изменения вступят в силу.
Property (_HoverLightData) exceeds previous array size (24 vs 20). Cap to previous > size.