Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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
.
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.