Bagikan melalui


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 ProximityLightshader 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 ProximityLightsbahan 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.

Lihat juga