Mauszeiger Licht – MRTK2
Ein HoverLight
ist ein Paradigma des Fluent Design System, das ein Punktlicht imitiert, das in der Nähe der Oberfläche eines Objekts schwebt. Es wird oftmals für Ferninteraktionen verwendet, und die Anwendung kann die Eigenschaften eines Schwebelichts mithilfe der HoverLight
-Komponente steuern.
Für ein Material, das von einem HoverLight
Mixed Reality Toolkit/Standard-Shader beeinflusst werden soll, muss verwendet werden, und die Hover Light-Eigenschaft muss aktiviert sein.
Hinweis
Der MRTK/Standard-Shader unterstützt standardmäßig bis zu zwei HoverLights
, wird jedoch skaliert, um vier zu unterstützen, und dann zehn, da mehr Lichter der Szene hinzugefügt werden.
Beispiele
Die meisten Szenen innerhalb des MRTK nutzen eine HoverLight
. Der häufigste Einsatzfall finden Sie im MRTK/SDK/Features/UX/Prefabs/Cursors/DefaultCursor.prefab
Die HoverLightExamples-Szene zeigt auch die Verwendung von HoverLight
Verhalten und finden Sie unter: MRTK/Examples/Demos/StandardShader/Scenes/
Erweiterte Nutzung
Nur zehn HoverLights
können ein Material gleichzeitig beleuchten. Wenn Ihr Projekt mehr als zehn HoverLights
benötigt, um ein Material zu beeinflussen, zeigt der nachstehende Beispielcode, wie dies erreicht wird.
Hinweis
Wenn viele HoverLights
Materialien belichten, erhöht sich die Pixel-Shaderanweisungen und wirkt sich auf die Leistung aus. Erstellen Sie ein Profil für diese Änderungen in Ihrem Projekt.
So wird die Anzahl der Verfügbaren HoverLights
von zehn auf zwölf erhöht.
// 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;
Hinweis
Wenn Unity eine Warnung wie unten protokolliert, müssen Sie Unity neu starten, damit Ihre Änderungen wirksam werden.
Property (_HoverLightData) exceeds previous array size (24 vs 20). Cap to previous >size.