暫留光線 — MRTK2

HoverLightFluent Design 系統範例,模擬點光線停留在物件表面附近。 通常用於遠距離的互動,應用程式可以透過 HoverLight 元件控制暫留光線的屬性。

若要讓材質受到 HoverLightMixed Reality工具組/標準著色器影響,而且必須啟用Hover Light屬性。

注意

MRTK/標準著色器預設最多支援兩 HoverLights 個,但會調整為支援四個,然後十個,因為將更多光線新增至場景。

範例

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

HoverLightExamples場景也會示範行為的使用 HoverLight 方式,並位於:MRTK/Examples/Demos/StandardShader/Scenes/

進階使用方式

一次只有十 HoverLights 個可以照亮 材質 。 如果您的專案需要 10 HoverLights 個以上的 內容 ,下列範例程式碼會示範如何達成此目的。

注意

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

如何增加 10 到 12 的可用 HoverLights 數目。

// 1) Within MRTK/Core/StandardAssets/Shaders/MixedRealityStandard.shader change:

#if defined(_HOVER_LIGHT_HIGH)
#define HOVER_LIGHT_COUNT 10

// to:

#if defined(_HOVER_LIGHT_HIGH)
#define HOVER_LIGHT_COUNT 12

// 2) Within MRTK/Core/Utilities/StandardShader/HoverLight.cs change:

private const int hoverLightCountHigh = 10;

// to:

private const int hoverLightCountHigh = 12;

注意

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

Property (_HoverLightData) exceeds previous array size (24 vs 20). Cap to previous >size.

另請參閱