Wskaźnik myszy — MRTK2
A HoverLight
to model Fluent Design System, który naśladuje światło punktowe unoszące się w pobliżu powierzchni obiektu. Często używane w przypadku odległych interakcji aplikacja może kontrolować właściwości wskaźnika aktywowania światła za pośrednictwem HoverLight
składnika.
Aby materiał był pod wpływem HoverLight
Mixed Reality Toolkit/Standard shader musi być używany, a właściwość Hover Light musi być włączona.
Uwaga
Cieniator MRTK/Standard obsługuje domyślnie maksymalnie dwa HoverLights
, ale będzie skalowany do obsługi czterech, a następnie dziesięć, gdy więcej świateł jest dodawanych do sceny.
Przykłady
Większość scen w zestawie narzędzi MRTK wykorzystuje element HoverLight
. Najbardziej typowym przypadkiem użycia można znaleźć w pliku MRTK/SDK/Features/UX/Prefabs/Cursors/DefaultCursor.prefab
Scena HoverLightExamples pokazuje również użycie HoverLight
zachowań i można je znaleźć na stronie: MRTK/Examples/Demos/StandardShader/Scenes/
Zaawansowane użycie
Tylko dziesięć HoverLights
może oświetlać materiał naraz. Jeśli projekt wymaga więcej niż dziesięciu HoverLights
, aby wpłynąć na materiał przykładowy kod poniżej pokazuje, jak to osiągnąć.
Uwaga
Posiadanie wielu HoverLights
oświetlenia materiału zwiększy instrukcje cieniowania pikseli i wpłynie na wydajność. Zaproś te zmiany w projekcie.
Jak zwiększyć liczbę dostępnych HoverLights
od dziesięciu do dwunastu.
// 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;
Uwaga
Jeśli aparat Unity rejestruje ostrzeżenie podobne do poniższego, przed wprowadzeniem zmian należy ponownie uruchomić środowisko Unity.
Property (_HoverLightData) exceeds previous array size (24 vs 20). Cap to previous >size.