Pulse shader — MRTK2
Pomocí pulzního shaderu můžete animovat efekt vizuálního impulsu při rekonstrukci povrchu, kloubové ruční síti nebo jakékoli jiné síti.
Shader a materiál
Následující materiály používají SR_Triangles shaderu. Můžete nakonfigurovat různé možnosti, jako je barva výplně, barva čáry a barva impulsu.
- MRTK_Pulse_SpatialMeshBlue.mat
- MRTK_Pulse_SpatialMeshPurple.mat
- MRTK_Pulse_ArticulatedHandMeshBlue.mat
- MRTK_Pulse_ArticulatedHandMeshPurple.mat
Požadavky
V příkladu prostorové sítě se ujistěte, že je v části Objekt MixedRealityToolkit – Profil prostorového povědomí –>> Nastavení zobrazení – Viditelný materiál přiřazena MRTK_Pulse_SpatialMeshBlue.mat nebo> MRTK_Pulse_SpatialMeshPurple.mat.
Pro příklad mřížky rukou se ujistěte, že je v souboru ArticulatedHandMesh.prefab přiřazený MRTK_Pulse_ArticulatedHandMeshBlue.mat nebo MRTK_Pulse_ArticulatedHandMeshPurple.mat, který by měl být přiřazený v nastavení MRTK –> Vstup –> Sledování rukou –> Prefab mřížky rukou.
Jak to funguje
Shader z ruční sítě používá UV k mapování pulsu podél ruční sítě a k vyblednutí zápěstí. Shader pro obnovu povrchu používá pozice vrcholů k mapování impulsu.
Příklad prostorové sítě – PulseShaderSpatialmeshExample.unity
Podobně jako u HoloLens 2 prostředí můžete pomocí ručního paprsku nasměrovat a poklepat vzduchem, abyste vytvořili pulzující efekt na prostorovou síť. Ukázková scéna obsahuje objekt ExampleSpatialMesh, což je testovací prostorová data sítě pro herní režim Unity. Tento objekt bude v zařízení zakázaný a skrytý.
PulseShaderSpatialMeshHandler.cs skript generuje pulzní efekt na prostorovou síť v pozici bodu dosažení, pokud PulseOnSelect
je true. Vlastnost Auto Pulse
lze také nastavit na true v samotném materiálu pro opakující se animaci. V ukázkové scéně je tento skript připojen k předběžnému objektu PulseShaderSpatialMeshParent. Na tento prefab se odkazuje pod profilem prostorového povědomí prostřednictvím vlastnosti Runtime Spatial Mesh Prefab. Za běhu se vytvoří a vytvoří instance PulseShaderSpatialMeshParentParent a přidá se do hierarchie prostorové sítě (toto chování nelze v editoru pozorovat pouze na zařízení).
Příklad ruční sítě – PulseShaderHandMeshExample.unity
Tato ukázková scéna ukazuje vizualizaci ruční sítě pomocí pulzního shaderu. Když zařízení HoloLens detekuje ruku, aktivuje se jednou pulzní animace. Tato vizuální zpětná vazba může zvýšit důvěru uživatele při interakci.
PulseShaderHandMeshHandler.cs skript generuje pulsní efekt na přiřazený materiál. Ve výchozím nastavení je zaškrtnuté políčko "Pulse On Hand Detected" (Pulse On Hand Detected).