Übersicht zu Schwebelichtern — MRTK3

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.

Hover light example

Damit ein Material von einem HoverLight beeinflusst werden kann, müssen die Shader Grafiktools/Standard oder Grafiktools/Standard Canvas verwendet werden, und die Eigenschaft Schwebelicht muss aktiviert sein.

Hinweis

Die Shader Grafiktools/Standard und Grafiktools/Standard Canvas unterstützen standardmäßig bis zu zwei HoverLights, die Unterstützung lässt sich aber auf bis zu vier skalieren, wenn der Szene weitere Lichter hinzugefügt werden.

Erweiterte Verwendung

Nur vier HoverLights können ein Material gleichzeitig beleuchten. Wenn Ihr Projekt die Beeinflussung eines Materials durch mehr als vier HoverLights erfordert, entnehmen Sie dem Beispielcode unten, wie dies erreicht werden kann.

Hinweis

Die Beleuchtung eines Materials durch viele HoverLights erhöht die Anzahl der Pixelshader-Anweisungen und wirkt sich auf die Leistung aus. Erstellen Sie in Ihrem Projekt ein Profil für diese Änderungen.

Erhöhen der Anzahl der verfügbaren HoverLights von vier auf zehn.

// 1) Within GraphicsToolsStandardInput.hlsl change:

#define HOVER_LIGHT_COUNT 4

// to:

#define HOVER_LIGHT_COUNT 10

// 2) Within HoverLight.cs change:

private const int hoverLightCount = 4;

// to:

private const int hoverLightCount = 10;

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.

Weitere Informationen