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.

Lásd még