Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Un HoverLight è un paradigma Fluent Design System che simula una luce punto che si posiziona vicino alla superficie di un oggetto. Spesso usata per interazioni lontane, l'applicazione può controllare le proprietà di una luce al passaggio del mouse tramite il HoverLight componente.
Affinché un materiale sia influenzato da un HoverLightRealtà mista Toolkit/Standard shader deve essere usato 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 luci quando vengono aggiunte altre luci alla scena.
Esempi
La maggior parte delle scene all'interno di MRTK utilizza un HoverLightoggetto . 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 ed è disponibile 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 elementi per influenzare un materiale , il codice di esempio seguente illustra come ottenere questo risultato.
Nota
La presenza di molti HoverLights illuminare un materiale aumenterà le istruzioni per i pixel shader e influirà sulle prestazioni.
Profilare 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 abbiano effetto.
Property (_HoverLightData) exceeds previous array size (24 vs 20). Cap to previous >size.