Lumière proche

un ProximityLight est un paradigme Système Fluent Design qui imite une « lumière de point inverse de dégradé » en pointant près de la surface d’un objet. Souvent utilisé pour les interactions proches, l’application peut contrôler les propriétés d’une lumière de proximité via le ProximityLight composant.

pour qu’un matériau soit influencé par une ProximityLight réalité mixte Shared Computer Toolkit nuanceur/d’doit être utilisé et la propriété de lumière de proximité doit être activée.

Notes

Jusqu’à deux ProximityLights sont pris en charge par défaut.

Exemples

La plupart des scènes dans le MRTK utilisent un ProximityLight . Le cas d’utilisation le plus courant se trouve dans MRTK/SDK/features/UX/Prefabs/Cursors/FingerCursor. Prefab

Utilisation avancée

Par défaut, seuls deux ProximityLights peuvent illuminer un matériau à la fois. Si votre projet nécessite plus de deux ProximityLights pour influencer un matériau , l’exemple de code ci-dessous montre comment y parvenir.

Notes

Si vous avez beaucoup ProximityLights d’éclairage, un matériau augmentera les instructions de nuanceur de pixels et aura un impact sur les performances. Profilez ces modifications dans votre projet.

Comment augmenter le nombre de disponible de ProximityLights deux à quatre.

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

Notes

Si Unity enregistre un avertissement similaire à celui ci-dessous, vous devez redémarrer Unity pour que vos modifications soient prises en compte.

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

Voir aussi