Visão geral da luz de foco – MRTK3

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.

Exemplo de luz de foco

Para que um material seja influenciado por um HoverLight, os sombreadores de Ferramentas de Gráficos/Padrão ou Ferramentas de Gráficos/Tela Padrão devem ser usados e a propriedade Luz de Foco deve ser habilitada.

Observação

As Ferramentas de Gráficos/Padrão e Ferramentas de Gráficos/Tela Padrão dão suporte a até dois HoverLights por padrão, mas serão dimensionadas para dar suporte a quatro conforme mais luzes forem adicionadas à cena.

Uso avançado

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

Observação

A presença de muitas HoverLight iluminando um material aumenta as instruções do sombreador de pixel e afeta o desempenho. Crie o perfil dessas alterações no projeto.

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

// 1) Within GraphicsToolsStandardInput.hlsl change:

#define HOVER_LIGHT_COUNT 4

// to:

#define HOVER_LIGHT_COUNT 10

// 2) Within HoverLight.cs change:

private const int hoverLightCount = 4;

// to:

private const int hoverLightCount = 10;

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