Luz de foco — 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 HoverLight
sombreador 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 no 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
Apenas 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 demonstra 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.