Aanwijslicht — MRTK2

Een HoverLight is een Fluent Design-systeem paradigma dat een puntlicht nabootst dat in de buurt van het oppervlak van een object zweeft. De toepassing wordt vaak gebruikt voor verre interacties en kan de eigenschappen van een hover light via het HoverLight onderdeel beheren.

Een materiaal kan alleen worden beïnvloed door een HoverLightMixed Reality Toolkit/Standard shader en de eigenschap Hover Light moet zijn ingeschakeld.

Notitie

De MRTK/Standard-shader ondersteunt standaard maximaal twee HoverLights , maar schaalt naar vier en vervolgens tien naarmate er meer lichten aan de scène worden toegevoegd.

Voorbeelden

De meeste scènes in MRTK maken gebruik van een HoverLight. De meest voorkomende use-case vindt u op de MRTK/SDK/Features/UX/Prefabs/Cursors/DefaultCursor.prefab

De scène HoverLightExamples laat ook het gebruik van HoverLight gedrag zien en is te vinden op: MRTK/Examples/Demos/StandardShader/Scenes/

Geavanceerd gebruik

Slechts tien HoverLights kunnen een materiaal tegelijk verlichten. Als uw project meer dan tien HoverLights nodig heeft om een materiaal te beïnvloeden, laat de onderstaande voorbeeldcode zien hoe u dit kunt bereiken.

Notitie

Als er veel HoverLightsvan een materiaal verlicht, worden de instructies voor pixel-shader verhoogd en is dit van invloed op de prestaties. Profileer deze wijzigingen in uw project.

Het aantal beschikbare HoverLights gegevens verhogen van tien naar twaalf.

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

Notitie

Als Unity een waarschuwing registreert die vergelijkbaar is met de onderstaande, moet u Unity opnieuw starten voordat uw wijzigingen van kracht worden.

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

Zie ook