Közelségi fény – MRTK2
Az A ProximityLight
egy Fluent Design rendszer paradigma, amely egy "színátmenetes inverz pont fényét" utánozza egy objektum felszíne közelében. Gyakran használják a közeli interakciókhoz, az alkalmazás szabályozhatja a közelségi fény tulajdonságait az ProximityLight
összetevőn keresztül.
Ahhoz, hogy egy anyagra hatással ProximityLight
legyen a Mixed Reality Toolkit/Standard shader, és engedélyezni kell a Közelségi fény tulajdonságot.
Megjegyzés
Alapértelmezés szerint legfeljebb kettő ProximityLights
támogatott.
Példák
Az MRTK legtöbb jelenete egy ProximityLight
. A leggyakoribb használati eset az MRTK/SDK/Features/UX/Prefabs/Cursors/FingerCursor.prefab webhelyen található.
Speciális használat
Alapértelmezés szerint egyszerre csak kettő ProximityLights
képes megvilágítani egy anyagot . Ha a projektnek kettőnél ProximityLights
többre van szüksége egy anyag befolyásolásához, az alábbi mintakód bemutatja, hogyan lehet ezt elérni.
Megjegyzés
Miután sok ProximityLights
megvilágított egy anyag növeli a pixel shader utasításokat, és hatással lesz a teljesítményre. Kérjük, profilja ezeket a módosításokat a projekten belül.
A rendelkezésre álló ProximityLights
szám növelése kettőről négyre.
// 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;
Megjegyzés
Ha a Unity az alábbihoz hasonló figyelmeztetést naplóz, akkor a módosítások érvénybe lépése előtt újra kell indítania a Unityt.
Property (_ProximityLightData) exceeds previous array size (24 vs 12). Cap to previous size.