Cahaya kedekatan — MRTK2
ProximityLight
adalah paradigma Sistem Fluent Design yang meniru "cahaya titik terbalik gradien" yang melayang di dekat permukaan objek. Sering digunakan untuk interaksi dekat, aplikasi dapat mengontrol properti Cahaya Kedekatan melalui ProximityLight
komponen.
Agar bahan dipengaruhi oleh ProximityLight
shader Mixed Reality Toolkit/Standard harus digunakan dan properti Cahaya Kedekatan harus diaktifkan.
Catatan
Hingga dua ProximityLights
didukung secara default.
Contoh
Sebagian besar adegan dalam MRTK menggunakan ProximityLight
. Kasus penggunaan yang paling umum dapat ditemukan di MRTK/SDK/Features/UX/Prefabs/Cursors/FingerCursor.prefab
Penggunaan Tingkat Lanjut
Secara default hanya dua ProximityLights
yang dapat menerangi bahan pada satu waktu. Jika proyek Anda memerlukan lebih dari dua ProximityLights
untuk memengaruhi materi , kode sampel di bawah ini menunjukkan cara mencapainya.
Catatan
Memiliki banyak ProximityLights
bahan yang menerangi akan meningkatkan instruksi piksel shader dan akan berdampak pada performa. Harap profilkan perubahan ini dalam proyek Anda.
Cara meningkatkan jumlah yang tersedia ProximityLights
dari dua menjadi empat.
// 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;
Catatan
Jika Unity mencatat peringatan yang mirip dengan di bawah ini maka Anda harus memulai ulang Unity sebelum perubahan Anda akan berlaku.
Property (_ProximityLightData) exceeds previous array size (24 vs 12). Cap to previous size.