Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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.