Übersicht zum Näherungslicht — MRTK3
Ein ProximityLight
ist ein Paradigma des Fluent Design System, das ein „im Verlauf umgekehrtes Punktlicht“ imitiert, das in der Nähe der Oberfläche eines Objekts schwebt. Es wird oftmals für Nahinteraktionen verwendet, und die Anwendung kann die Eigenschaften eines Näherungslichts mithilfe der ProximityLight
-Komponente steuern.
Damit ein Material von einem ProximityLight
beeinflusst werden kann, müssen die Shader Grafiktools/Standard oder Grafiktools/Standard Canvas verwendet werden, und die Eigenschaft Näherungslicht muss aktiviert sein. Grafiktools/Nicht-Canvas/Frontplate und Grafiktools/Canvas/Frontplate werden ebenfalls von ProximityLight
s beeinflusst, aber in etwas anderer Weise.
Hinweis
Bis zu zwei ProximityLight
s werden standardmäßig unterstützt.
Erweiterte Verwendung
Standardmäßig kann ein Material nur von zwei ProximityLight
s gleichzeitig beleuchtet werden. Wenn für Ihr Projekt der Einfluss von mehr als zwei ProximityLight
s auf ein Material erforderlich ist, können Sie dem Beispielcode unten entnehmen, wie dies für die Shader Grafiktools/Standard oder Grafiktools/Standard Canvas erreicht werden kann.
Hinweis
Die Beleuchtung eines Materials durch viele ProximityLight
s 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 ProximityLight
s von zwei auf vier.
// 1) Within GraphicsToolsStandardInput.hlsl change:
#define PROXIMITY_LIGHT_COUNT 2
// to:
#define PROXIMITY_LIGHT_COUNT 4
// 2) Within 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, damit Ihre Änderungen wirksam werden.
Property (_ProximityLightData) exceeds previous array size (24 vs 12). Cap to previous size.