Luce al passaggio del mouse - MRTK2
Un HoverLight
è un paradigma Fluent Design System che simula una luce del punto che si sposta vicino alla superficie di un oggetto. Spesso usato per le interazioni lontane, l'applicazione può controllare le proprietà di una luce al passaggio del mouse tramite il HoverLight
componente .
Affinché un materiale venga influenzato da un HoverLight
Realtà mista Toolkit/Shader Standard, è necessario usare e la proprietà Hover Light deve essere abilitata.
Nota
Lo shader MRTK/Standard supporta fino a due HoverLights
per impostazione predefinita, ma verrà ridimensionato per supportare quattro e quindi dieci quando alla scena vengono aggiunte altre luci.
Esempio
La maggior parte delle scene all'interno di MRTK usa .HoverLight
Il caso d'uso più comune è disponibile in MRTK/SDK/Features/UX/Prefabs/Cursors/DefaultCursor.prefab
La scena HoverLightExamples illustra anche l'utilizzo dei HoverLight
comportamenti e si trova in: MRTK/Examples/Demos/StandardShader/Scenes/
Utilizzo avanzato
Solo dieci HoverLights
possono illuminare un materiale alla volta. Se il progetto richiede più di dieci HoverLights
per influenzare un materiale , il codice di esempio riportato di seguito illustra come ottenere questo risultato.
Nota
La presenza di molti HoverLights
materiali illumina un materiale aumenterà le istruzioni del pixel shader e influirà sulle prestazioni. Profila queste modifiche all'interno del progetto.
Come aumentare il numero di disponibili HoverLights
da dieci a dodici.
// 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;
Nota
Se Unity registra un avviso simile al seguente, è necessario riavviare Unity prima che le modifiche vengano applicate.
Property (_HoverLightData) exceeds previous array size (24 vs 20). Cap to previous >size.