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 HoverLight
sombreador 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.