ホバー ライトの概要 — MRTK3

HoverLight は、オブジェクトの表面の近くでホバリングしているポイント ライトを模倣する Fluent Design System のパラダイムです。 多くの場合は離れた場所からの対話式操作に使用され、アプリケーションは、HoverLight コンポーネントを使用してホバー ライトのプロパティを制御できます。

Hover light example

素材が HoverLight の影響を受けるには、"グラフィックス ツール/標準" または "グラフィックス ツール/標準キャンバス" シェーダーを使用し、"ホバー ライト" プロパティを有効にする必要があります。

注意

"グラフィックス ツール/標準シェーダー" および "グラフィックス ツール/標準キャンバス" シェーダーは、既定で最大 2 つの HoverLight をサポートしますが、シーンに追加されるライトが増えるにつれて、4 つをサポートするように拡張されます。

詳細な使用方法

HoverLight は一度に 4 つまでしか素材を照らすことができません。 プロジェクトで素材に影響を与えるために 4 個を超える 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;

Note

Unity で次のような警告がログに記録される場合は、Unity を再起動して変更を有効にする必要があります。

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

関連項目