Lampu hover — MRTK2

HoverLight adalah paradigma Sistem Fluent Design yang meniru cahaya titik yang melayang di dekat permukaan objek. Sering digunakan untuk interaksi yang jauh, aplikasi dapat mengontrol properti Hover Light melalui HoverLight komponen.

Agar bahan dipengaruhi oleh HoverLightMixed Reality Toolkit/Shader Standar harus digunakan dan properti Hover Light harus diaktifkan.

Catatan

Shader MRTK/Standard mendukung hingga dua HoverLights secara default, tetapi akan menskalakan untuk mendukung empat dan kemudian sepuluh karena lebih banyak lampu ditambahkan ke adegan.

Contoh

Sebagian besar adegan dalam MRTK menggunakan HoverLight. Kasus penggunaan yang paling umum dapat ditemukan di MRTK/SDK/Features/UX/Prefabs/Cursors/DefaultCursor.prefab

Adegan HoverLightExamples juga menunjukkan penggunaan HoverLight perilaku, dan dapat ditemukan di: MRTK/Examples/Demos/StandardShader/Scenes/

Penggunaan Tingkat Lanjut

Hanya sepuluh HoverLights yang dapat menerangi bahan pada satu waktu. Jika proyek Anda memerlukan lebih dari sepuluh HoverLights untuk memengaruhi materi , kode sampel di bawah ini menunjukkan cara mencapainya.

Catatan

Memiliki banyak HoverLightsmenerangi bahan akan meningkatkan instruksi piksel shader dan akan berdampak pada performa. Harap profilkan perubahan ini dalam proyek Anda.

Cara meningkatkan jumlah yang tersedia HoverLights dari sepuluh hingga dua belas.

// 1) Within MRTK/Core/StandardAssets/Shaders/MixedRealityStandard.shader change:

#if defined(_HOVER_LIGHT_HIGH)
#define HOVER_LIGHT_COUNT 10

// to:

#if defined(_HOVER_LIGHT_HIGH)
#define HOVER_LIGHT_COUNT 12

// 2) Within MRTK/Core/Utilities/StandardShader/HoverLight.cs change:

private const int hoverLightCountHigh = 10;

// to:

private const int hoverLightCountHigh = 12;

Catatan

Jika Unity mencatat peringatan yang mirip dengan di bawah ini maka Anda harus memulai ulang Unity sebelum perubahan Anda akan berlaku.

Property (_HoverLightData) exceeds previous array size (24 vs 20). Cap to previous >size.

Lihat juga