Luz de desplazamiento: MRTK2

Los elementos HoverLight son paradigmas del Sistema Fluent Design que imitan a una luz puntual que se mantiene cerca de la superficie de un objeto. A menudo, las luces de desplazamiento se usan en las interacciones lejanas y las aplicaciones pueden controlar sus propiedades mediante el componente HoverLight.

Para que un material esté influenciado por un HoverLightsombreador Mixed Reality Toolkit/Standard debe usarse y se debe habilitar la propiedad Hover Light.

Nota

El sombreador MRTK/Standard admite hasta dos HoverLights de forma predeterminada, pero se escalará para admitir cuatro y, a continuación, diez a medida que se agreguen más luces a la escena.

Ejemplos

La mayoría de las escenas de MRTK usan .HoverLight El caso de uso más común se puede encontrar en MRTK/SDK/Features/UX/Prefabs/Cursors/DefaultCursor.prefab.

La escena HoverLightExamples también muestra el uso de HoverLight comportamientos y se puede encontrar en: MRTK/Examples/Demos/StandardShader/Scenes/

Uso avanzado

Sólo diez HoverLights pueden iluminar un material a la vez. Si el proyecto requiere más de diez HoverLights para influir en un material , el código de ejemplo siguiente muestra cómo lograrlo.

Nota

Tener muchos HoverLights iluminados un material aumentará las instrucciones del sombreador de píxeles y afectará al rendimiento. Describa estos cambios dentro del proyecto.

Cómo aumentar el número de disponibles HoverLights de diez a doce.

// 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;

Nota

Si Unity registra una advertencia similar a la siguiente, deberá reiniciarlo para que los cambios surtan efecto.

Property (_HoverLightData) exceeds previous array size (24 vs 20). Cap to previous >size.

Vea también