HoverLight

HoverLight— это система Fluent Design парадигма, которая имитирует точку , наведя на нее курсор мыши рядом с поверхностью объекта. Как правило, для далекого взаимодействия приложение может управлять свойствами светлого наведения с помощью HoverLight компонента.

чтобы на материал повлияло HoverLight использование шейдера " смешанная реальность" набор средств/Standard , необходимо использовать построитель текстуры, а свойство « светлое » должно быть включено.

Примечание

Шейдер МРТК/Standard поддерживает HoverLights по умолчанию до двух, но будет масштабироваться для поддержки четырех, а затем десять раз по мере добавления источников света в сцену.

Примеры

В большинстве сцен в МРТК используется HoverLight . Наиболее распространенный вариант использования можно найти в МРТК/SDK/Features/UX/Prefabs/Cursors/Дефаулткурсор. prefab

В сцене ховерлигхтексамплес также демонстрируется использование HoverLight поведения, и их можно найти по адресу: мртк/examples/демонстрации/стандардшадер/сцены/

Расширенные возможности использования

Только десять 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.

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