鄰近光線 — MRTK2

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

若要讓材質受到 ProximityLightMixed Reality工具組/標準著色器影響,而且必須啟用近接光源屬性。

注意

預設最多支援兩 ProximityLights 個。

範例

MRTK 內的大部分場景都會 ProximityLight 利用 。 最常見的使用案例位於 MRTK/SDK/Features/UX/Prefabs/Cursors/FingerCursor.prefab

進階使用方式

根據預設,一次只能照亮兩 ProximityLights材質 。 如果您的專案需要兩個以上的 ProximityLights內容 ,下列範例程式碼會示範如何達成此目的。

注意

材質ProximityLights 亮,會增加圖元著色器指示,並影響效能。 請在您的專案中分析這些變更。

如何增加從 2 到 4 的可用 ProximityLights 數目。

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

注意

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

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

另請參閱