Světlo při najetí myší

A HoverLight je HoverLight paradigma, které napodobuje bodové světlo najeté na povrch objektu. Aplikace se často používá k dalekosátkové interakci a prostřednictvím komponenty může řídit vlastnosti ukazatele na HoverLight světlo.

Aby materiál měl vliv na HoverLightHoverLight shader a musí být povolená vlastnost Najetí myší na světlo.

Poznámka

Shader MRTK/Standard podporuje ve výchozím nastavení až dvě, ale při přidání dalších světel do scény se bude škálovat tak, aby podporoval čtyři a pak HoverLights deset.

Příklady

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

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

Rozšířené využití

V jednu HoverLights chvíli může materiál HoverLights jen deset. Pokud váš projekt k ovlivnění materiálu vyžaduje více než deset, ukázkový kód níže HoverLights ukazuje, jak toho dosáhnout. HoverLights

Poznámka

Když máte HoverLights spoustu osvětlení HoverLights tím instrukce pixel shaderu a ovlivníte výkon. Profilovat tyto změny v rámci projektu.

Jak zvýšit počet dostupných 10 na 12.

// 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 zahlásí upozornění podobné následujícímu, musíte Unity restartovat, než se změny projeví.

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

Viz také