Luz sensível ao rato — MRTK2
A HoverLight
é um paradigma Sistema Fluent Design que imita uma luz de ponto a pairar perto da superfície de um objeto. Frequentemente utilizada para interações distantes, a aplicação pode controlar as propriedades de uma Luz Sensível à Passagem do Rato através do HoverLight
componente .
Para que um material seja influenciado por um HoverLight
Mixed Reality Toolkit/Standard tem de ser utilizado e a propriedade Hover Light tem de estar ativada.
Nota
O sombreado MRTK/Standard suporta até dois HoverLights
por predefinição, mas será dimensionado para suportar quatro e dez à medida que forem adicionadas mais luzes ao local.
Exemplos
A maioria das cenas no MRTK utilizam um HoverLight
. O caso de utilização mais comum pode ser encontrado no MRTK/SDK/Features/UX/Prefabs/Cursors/DefaultCursor.prefab
A cena HoverLightExamples também demonstra a utilização de HoverLight
comportamentos e pode ser encontrada em: MRTK/Examples/Demos/StandardShader/Scenes/
Utilização Avançada
Só dez HoverLights
podem iluminar um material de cada vez. Se o seu projeto precisar de mais de dez HoverLights
para influenciar um material , o código de exemplo abaixo demonstra como o conseguir.
Nota
Ter muitos HoverLights
a iluminar um material aumentará as instruções do sombreado de píxeis e afetará o desempenho. Crie um perfil destas alterações no seu 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;
Nota
Se o Unity registar um aviso semelhante ao seguinte, tem de reiniciar o Unity antes de as alterações entrarem em vigor.
Property (_HoverLightData) exceeds previous array size (24 vs 20). Cap to previous >size.