Luz de proximidade

A ProximityLight é um paradigma ProximityLight que imita uma "luz de ponto inverso gradiente" pairando perto da superfície de um objeto. Frequentemente usada para interações próximas, a aplicação pode controlar as propriedades de uma Luz de Proximidade através do ProximityLight componente.

Para que um material seja influenciado por um ProximityLightProximityLight deve ser utilizado e a propriedade Luz de Proximidade deve ser ativada.

Nota

Até dois ProximityLights são suportados por defeito.

Exemplos

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

Utilização Avançada

Por defeito, apenas dois ProximityLights podem iluminar um ProximityLights de cada vez. Se o seu projeto necessitar de mais de dois ProximityLights para influenciar um ProximityLights o código de amostra abaixo demonstra como fazê-lo.

Nota

Ter muitos ProximityLights a iluminar um ProximityLights aumentará as instruções de shader de pixels e impactará o desempenho. Por favor, perfile estas alterações dentro do seu projeto.

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

// 1) Within MRTK/Core/StandardAssets/Shaders/MixedRealityStandard.shader change:

#define PROXIMITY_LIGHT_COUNT 2

// to:

#define PROXIMITY_LIGHT_COUNT 4

// 2) Within MRTK/Core/Utilities/StandardShader/ProximityLight.cs change:

private const int proximityLightCount = 2;

// to:

private const int proximityLightCount = 4;

Nota

Se a Unidade registar um aviso semelhante ao abaixo, então deve reiniciar a Unidade antes que as suas alterações produzam efeitos.

Property (_ProximityLightData) exceeds previous array size (24 vs 12). Cap to previous size.

Ver também