Индикатор при наведении — MRTK2
HoverLight
— это парадигма системы проектирования Fluent Design, которая имитирует точечное освещение при наведении рядом с поверхностью объекта. Это приложение, часто используемое для дальнего взаимодействия, может управлять свойствами освещения при наведении с помощью компонента HoverLight
.
Чтобы на материал повлияло HoverLight
Смешанная реальность Toolkit/Standard шейдер, и должно быть включено свойство Hover Light.
Примечание
Шейдер MRTK/Standard поддерживает до двух HoverLights
по умолчанию, но будет масштабироваться для поддержки четырех, а затем десяти, так как в сцену добавляются дополнительные индикаторы.
Примеры
Большинство сцен в MRTK используют HoverLight
. Наиболее распространенный вариант использования можно найти на странице MRTK/SDK/Features/UX/Prefabs/Cursors/DefaultCursor.prefab.
Сцена HoverLightExamples также демонстрирует использование HoverLight
поведения. Ее можно найти по адресу MRTK/Examples/Demos/StandardShader/Scenes/
Расширенные возможности использования
Только десять HoverLights
могут освещать материал за раз. Если вашему проекту требуется более десяти HoverLights
, чтобы повлиять на материал , в примере кода ниже показано, как это сделать.
Примечание
Наличие большого количества HoverLights
освещения материала увеличит инструкции шейдера пикселей и повлияет на производительность. Учтите эти изменения в своем проекте.
Как увеличить число доступных HoverLights
с десяти до двенадцати.
// 1) Within MRTK/Core/StandardAssets/Shaders/MixedRealityStandard.shader change:
#if defined(_HOVER_LIGHT_HIGH)
#define HOVER_LIGHT_COUNT 10
// to:
#if defined(_HOVER_LIGHT_HIGH)
#define HOVER_LIGHT_COUNT 12
// 2) Within MRTK/Core/Utilities/StandardShader/HoverLight.cs change:
private const int hoverLightCountHigh = 10;
// to:
private const int hoverLightCountHigh = 12;
Примечание
Если Unity регистрирует предупреждение, аналогичное приведенному ниже, необходимо перезапустить Unity, прежде чем изменения вступят в силу.
Property (_HoverLightData) exceeds previous array size (24 vs 20). Cap to previous >size.