Aracılığıyla paylaş


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.

Yakınlık ışığı kullanıcı arabirimi örneği

Bir malzemenin bir ProximityLighttarafı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 ProximityLightetkilenir.

Not

Varsayılan olarak en fazla iki ProximityLighttane desteklenir.

Gelişmiş kullanım

Varsayılan olarak, bir malzemeyi aynı anda yalnızca iki ProximityLightsn aydınlatabilir. Projeniz bir malzemeyi etkilemek için ikiden ProximityLightfazla öğ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 ProximityLights aydınlatır olması piksel gölgelendirici yönergelerini artırır ve performansı etkiler. Bu değişikliklerin profilini projenizde belirleyin.

Kullanılabilir ProximityLights 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.

Ayrıca bkz.