Vue d’ensemble des lumières de pointage — MRTK3

Un HoverLight est un paradigme du Système Fluent Design qui imite une lumière ponctuelle pointant près de la surface d’un objet. Souvent utilisée pour les interactions à distance, l’application peut contrôler les propriétés d’une lumière de pointage via le composant HoverLight.

Exemple de lumière de pointage

Pour qu’un matériau soit influencé par une HoverLight, le nuanceur Graphics Tools/Standard ou Graphics Tools/Standard Canvas doit être utilisé et la propriété Lumière de pointage activée.

Notes

Les nuanceurs Graphics Tools/Standard et Graphics Tools/Standard Canvas prennent en charge jusqu’à deux HoverLights par défaut, mais en prendront en charge jusqu’à quatre à mesure que d’autres lumières seront ajoutés à la scène.

Utilisation avancée

Au maximum quatre HoverLights peuvent éclairer un matériau à la fois. Si votre projet nécessite plus de quatre HoverLights pour influencer un composant matériel, l’exemple de code ci-dessous montre comment y parvenir.

Notes

Le fait d’éclairer un matériau avec un grand nombre de HoverLights augmente les instructions du nuanceur de pixels et affecte les performances. Profilez ces changements dans votre projet.

Comment augmenter le nombre de HoverLights disponibles de quatre à dix.

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

Notes

Si Unity journalise un avertissement similaire à celui ci-dessous, vous devez redémarrer Unity pour que vos modifications prennent effet.

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

Voir aussi