Yakınlık ışığına genel bakış — MRTK3
A ProximityLight
, bir nesnenin yüzeyinin yakınında bulunan "gradyan ters nokta ışığını" taklit eden Fluent Design Sistemi bir paradigmadır. Genellikle yakın etkileşimler için kullanılır, uygulama bir Yakınlık Işığının özelliklerini bileşen aracılığıyla ProximityLight
denetleyebiliyor.
Bir malzemenin bir ProximityLight
tarafından etkilenmesi için Grafik Araçları/Standart veya Grafik Araçları/Standart Tuval gölgelendiricileri kullanılmalıdır ve Yakınlık Işığı özelliği etkinleştirilmelidir.
Grafik Araçları/Tuval Dışı/ÖnPlate ve Grafik Araçları/Tuval/ÖnPlate de biraz farklı bir şekilde sn'lerden ProximityLight
etkilenir.
Not
Varsayılan olarak en fazla iki ProximityLight
tane desteklenir.
Gelişmiş kullanım
Varsayılan olarak, bir malzemeyi aynı anda yalnızca iki ProximityLight
sn aydınlatabilir. Projeniz bir malzemeyi etkilemek için ikiden ProximityLight
fazla öğe gerektiriyorsa, aşağıdaki örnek kod Grafik Araçları/Standart veya Grafik Araçları/Standart Tuval gölgelendiricilerinde bunun nasıl yapılacağını gösterir.
Not
Bir malzemeyi birçok ProximityLight
s aydınlatır olması piksel gölgelendirici yönergelerini artırır ve performansı etkiler. Bu değişikliklerin profilini projenizde belirleyin.
Kullanılabilir ProximityLight
s sayısını ikiden dörte artırma.
// 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;
Not
Unity aşağıdakine benzer bir uyarı kaydederse, değişikliklerinizin etkili olması için Unity'yi yeniden başlatmanız gerekir.
Property (_ProximityLightData) exceeds previous array size (24 vs 12). Cap to previous size.