Světlo najetí myší – MRTK2

A HoverLight je Fluent Design System paradigma, které napodobuje bodové světlo, které se nachází v blízkosti povrchu objektu. Často se používá pro vzdálené interakce, aplikace může řídit vlastnosti ukazatele myši prostřednictvím HoverLight komponenty.

Pro materiál, který HoverLight má být ovlivněn Mixed Reality Toolkit/ Standardní shader musí být použit a musí být povolena vlastnost Hover Light.

Poznámka

Shader MRTK/Standard podporuje ve výchozím nastavení až dvě HoverLights , ale škáluje se tak, aby podporoval čtyři a pak deset, jakmile se na scénu přidají další světla.

Příklady

Většina scén v MRTK využívá HoverLight. Nejběžnější případ použití najdete na webu MRTK/SDK/Features/UX/Prefabs/Cursors/DefaultCursor.prefab.

Scéna HoverLightExamples také demonstruje použití HoverLight chování a najdete ji tady: MRTK/Examples/Demos/StandardShader/Scenes/

Rozšířené využití

Pouze deset HoverLights může osvítit materiál najednou. Pokud váš projekt vyžaduje více než deset HoverLights k ovlivnění materiálu , ukázkový kód níže ukazuje, jak toho dosáhnout.

Poznámka

HoverLights Mnoho osvětlení materiálu zvýší pokyny pro pixel shader a ovlivní výkon. Profilujte tyto změny v rámci projektu.

Jak zvýšit počet dostupných HoverLights z deseti na dvanáct.

// 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;

Poznámka

Pokud Unity zaznamená upozornění podobné následujícímu, musíte Unity restartovat, aby se změny projevily.

Property (_HoverLightData) exceeds previous array size (24 vs 20). Cap to previous >size.

Viz také