悬停灯概述 — MRTK3

HoverLight一种Fluent Design System范例,它模拟在对象表面附近盘旋的点光。 通常用于远距离交互,应用程序可以通过 组件控制悬停灯 HoverLight 的属性。

悬停灯示例

对于受 HoverLight影响的材料,必须使用图形工具/Standard图形工具/Standard画布着色器,并且必须启用悬停灯属性。

注意

默认情况下,图形工具/Standard图形工具/Standard画布着色器最多支持两HoverLight个,但随着场景中添加更多光,将缩放为支持 4 个。

高级用法

HoverLight一次只能照亮一个材料。 如果项目需要四个以上的 HoverLight来影响 材料,下面的示例代码演示了如何实现此目的。

注意

让许多 HoverLight照明 材料 会增加像素着色器指令,并会影响性能。 在项目中分析这些更改。

如何将可用 HoverLight数量从 4 增加到 10。

// 1) Within GraphicsToolsStandardInput.hlsl change:

#define HOVER_LIGHT_COUNT 4

// to:

#define HOVER_LIGHT_COUNT 10

// 2) Within HoverLight.cs change:

private const int hoverLightCount = 4;

// to:

private const int hoverLightCount = 10;

注意

如果Unity记录如下警告,则必须重启Unity更改才会生效。

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

另请参阅