鄰近光線概觀 - MRTK3

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

鄰近光線 UI 範例

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

注意

預設最多支援兩 ProximityLight 個 。

進階使用方式

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

注意

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

如何增加 2 到 4 的可用 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.

另請參閱