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 ProximityLight
Mixed 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 ProximityLights
materialen 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.