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 HoverLightMixed 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.

Zobacz też