Passar o mouse em luz – MRTK2

Um HoverLight é um paradigma do Sistema Fluent Design que imita uma luz do ponto pairando a superfície de um objeto. Geralmente é usada para interações distantes. O aplicativo pode controlar as propriedades de uma Luz de Foco por meio do componente HoverLight.

Para que um material seja influenciado por um HoverLightsombreador Realidade Misturada Toolkit/Standard deve ser usado e a propriedade Hover Light deve ser habilitada.

Observação

O sombreador MRTK/Standard dá suporte a até dois HoverLights por padrão, mas será dimensionado para dar suporte a quatro e, em seguida, dez à medida que mais luzes forem adicionadas à cena.

Exemplos

A maioria das cenas dentro do MRTK utiliza um HoverLight. O caso de uso mais comum pode ser encontrado no MRTK/SDK/Features/UX/Prefabs/Cursors/DefaultCursor.prefab

A cena HoverLightExamples também demonstra o uso de HoverLight comportamentos e pode ser encontrada em: MRTK/Examples/Demos/StandardShader/Scenes/

Uso Avançado

Somente dez HoverLights podem iluminar um material de cada vez. Se o projeto exigir mais de dez HoverLights para influenciar um material , o código de exemplo abaixo demonstrará como fazer isso.

Observação

Ter muitos HoverLights iluminando um material aumentará as instruções do sombreador de pixels e afetará o desempenho. Crie o perfil dessas alterações no projeto.

Como aumentar o número de disponíveis HoverLights de dez para doze.

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

Observação

Se o Unity registrar um aviso semelhante ao exibido abaixo, você deverá reiniciar o Unity antes que as alterações entrem em vigor.

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

Confira também