Общие сведения об освещении при наведении — 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.

См. также раздел