Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Ein HoverLight ist ein Fluent Design System Paradigma, das ein Punktlicht imitiert, das in der Nähe der Oberfläche eines Objekts schwebt. Häufig für weit entfernte Interaktionen verwendet, kann die Anwendung die Eigenschaften eines Hover Light über die HoverLight -Komponente steuern.
Damit ein Material von einem HoverLight beeinflusst werden kann, muss der Mixed Reality Toolkit/Standard Shader verwendet werden, und die Hover Light-Eigenschaft muss aktiviert sein.
Hinweis
Der MRTK/Standard-Shader unterstützt standardmäßig bis zu zweiHoverLights, wird aber auf vier und dann zehn skaliert, wenn der Szene weitere Lichter hinzugefügt werden.
Beispiele
Die meisten Szenen im MRTK verwenden ein HoverLight. Den häufigsten Anwendungsfall finden Sie im MRTK/SDK/Features/UX/Prefabs/Cursors/DefaultCursor.prefab.
Die HoverLightExamples-Szene veranschaulicht auch die Verwendung von HoverLight Verhaltensweisen und finden Sie unter: MRTK/Examples/Demos/StandardShader/Scenes/
Erweiterte Verwendung
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 folgende Beispielcode, wie dies erreicht wird.
Hinweis
Wenn viele HoverLightsMaterialien beleuchten, erhöhen die Pixelshaderanweisungen und wirken sich auf die Leistung aus.
Bitte profilieren Sie diese Änderungen in Ihrem Projekt.
Hier erfahren Sie, wie Sie die Anzahl der verfügbaren HoverLights Von zehn auf zwölf erhöhen.
// 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 ähnlich der folgenden protokolliert, müssen Sie Unity neu starten, bevor Ihre Änderungen wirksam werden.
Property (_HoverLightData) exceeds previous array size (24 vs 20). Cap to previous >size.