Delen via


Nabijheidslamp — MRTK2

Een ProximityLight is een Fluent Design-systeem paradigma dat een 'gradiënt inverse punt licht' nabootst dat in de buurt van het oppervlak van een object beweegt. De toepassing wordt vaak gebruikt voor bijna-interacties en kan de eigenschappen van een nabijheidslicht via het ProximityLight onderdeel beheren.

Als u wilt dat een materiaal wordt beïnvloed door een ProximityLightMixed Reality Toolkit/Standard-arcering en moet de eigenschap Proximity Light zijn ingeschakeld.

Notitie

Er worden standaard maximaal twee ProximityLights ondersteund.

Voorbeelden

De meeste scènes in MRTK maken gebruik van een ProximityLight. De meest voorkomende use-case is te vinden op de MRTK/SDK/Features/UX/Prefabs/Cursors/FingerCursor.prefab

Geavanceerd gebruik

Standaard kunnen er slechts twee ProximityLights tegelijk een materiaal belichten. Als voor uw project meer dan twee ProximityLights nodig zijn om een materiaal te beïnvloeden, laat de onderstaande voorbeeldcode zien hoe u dit kunt bereiken.

Notitie

Als veel ProximityLightsmaterialen worden verlicht, worden de instructies voor pixel-arcering verhoogd en zijn de prestaties van invloed. Profileer deze wijzigingen binnen uw project.

Het aantal beschikbare ProximityLights gegevens verhogen van twee naar vier.

// 1) Within MRTK/Core/StandardAssets/Shaders/MixedRealityStandard.shader change:

#define PROXIMITY_LIGHT_COUNT 2

// to:

#define PROXIMITY_LIGHT_COUNT 4

// 2) Within MRTK/Core/Utilities/StandardShader/ProximityLight.cs change:

private const int proximityLightCount = 2;

// to:

private const int proximityLightCount = 4;

Notitie

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

Property (_ProximityLightData) exceeds previous array size (24 vs 12). Cap to previous size.

Zie ook