鄰近光線概觀 - MRTK3

ProximityLightFluent Design 系統範例,模擬在物件表面附近的「漸層反點光線」。 它通常用於接近互動,應用程式可以透過 ProximityLight 元件控制鄰近光線的屬性。

Proximity light UI example

若要讓材質受到 ProximityLight 影響,必須使用 圖形工具/標準圖形工具/標準畫布 著色器,而且必須啟用 鄰近光線 屬性。 圖形工具/非畫布/FrontplateGraphics Tools/Canvas/Frontplate也會受到 ProximityLight s 的影響,但方式稍有不同。

注意

預設最多支援兩 ProximityLight 個 。

進階使用方式

根據預設,只有兩 ProximityLight 個 可以一次亮起 材質 。 如果您的專案需要兩 ProximityLight 個以上的 來影響材質,下列範例程式碼會示範如何在圖形工具/標準或圖形工具/標準畫布著色器上達成此目的。

注意

讓許多 ProximityLight材質 亮起,會增加圖元著色器指示,並影響效能。 分析專案中的這些變更。

如何增加兩到四個可用的 ProximityLight 數目。

// 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;

注意

如果 Unity 記錄類似下面的警告,您必須先重新開機 Unity,變更才會生效。

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

另請參閱