Compartir a través de


Introducción a la luz de proximidad: MRTK3

Los elementos ProximityLight son paradigmas del Sistema Fluent Design que imitan a una "luz puntual invertida con degradado" que se mantiene cerca de la superficie de un objeto. A menudo, las luces de proximidad se usan en las interacciones cercanas y las aplicaciones pueden controlar sus propiedades mediante el componente ProximityLight.

Ejemplo de interfaz de usuario con luz de proximidad

Para que un elemento ProximityLight afecte a un material, se debe usar sombreadores Graphics Tools/Standard o Graphics Tools/Standard Canvas y, además, debe habilitarse la propiedad Proximity Light. Los elementos Graphics Tools/Non-Canvas/Frontplate y Graphics Tools/Canvas/Frontplate también pueden verse afectados por elementos ProximityLight, aunque esto ocurre de una manera ligeramente diferente.

Nota

De forma predeterminada, se admiten hasta dos elementos ProximityLight.

Uso avanzado

De forma predeterminada, solo dos elementos ProximityLight pueden iluminar un material a la vez. Si el proyecto requiere que más de dos elementos ProximityLight afecten a un material, el código de ejemplo siguiente muestra cómo lograrlo mediante el uso de los sombreadores Graphics Tools/Standard o Graphics Tools/Standard Canvas.

Nota

Hacer que muchos elementos ProximityLight iluminen a un material aumentará el número de instrucciones del sombreador de píxeles y afectará al rendimiento. Perfile estos cambios en el proyecto.

Cómo aumentar el número de elementos ProximityLight disponibles de dos a cuatro.

// 1) Within GraphicsToolsStandardInput.hlsl change:

#define PROXIMITY_LIGHT_COUNT 2

// to:

#define PROXIMITY_LIGHT_COUNT 4

// 2) Within ProximityLight.cs change:

private const int proximityLightCount = 2;

// to:

private const int proximityLightCount = 4;

Nota

Si Unity registra una advertencia similar a la siguiente, deberá reiniciarlo para que los cambios surtan efecto.

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

Vea también