Näherungslicht

Ein ist ein Fluent Design System Paradigma, das ein ProximityLight "FarbverlaufsinversePunktlicht" imitiert, das auf die Oberfläche eines Objekts zeigt. Die Anwendung wird häufig für Nahinteraktionen verwendet und kann die Eigenschaften eines Näherungslichts über die Komponente ProximityLight steuern.

Damit ein Material von einem Mixed Reality ProximityLight Toolkit/Standard-Shader beeinflusst wird, muss die Eigenschaft Näherungslicht aktiviert werden.

Hinweis

Standardmäßig werden ProximityLights bis zu zwei unterstützt.

Beispiele

Die meisten Szenen im MRTK verwenden eine ProximityLight . Den häufigsten Verwendungsfall finden Sie unter MRTK/SDK/Features/UX/Prefabs/Cursors/FingerCursor.prefab.

Erweiterte Nutzung

Standardmäßig können nur ProximityLights zwei ein Material gleichzeitig beleuchten. Wenn ihr Projekt mehr als zwei benötigt, um ein Material zu beeinflussen, veranschaulicht der folgende Beispielcode, ProximityLights wie dies erreicht werden kann.

Hinweis

Wenn ein ProximityLights Material durch viele Betonungen belichtet wird, werden die Anweisungen für Denkpixel-Shader erhöht, und dies wirkt sich auf die Leistung aus. Erstellen Sie ein Profil für diese Änderungen in Ihrem Projekt.

Erhöhen der Anzahl der verfügbaren Daten ProximityLights von zwei auf 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;

Hinweis

Wenn Unity eine Warnung wie unten protokolliert, müssen Sie Unity neu starten, bevor Ihre Änderungen wirksam werden.

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

Siehe auch