Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Verwenden Sie den Pulsshader, um einen visuellen Impulseffekt über die Oberflächenrekonstruktion, das artikulierte Handgitter oder andere Gitter zu animieren.
Shader und Material
Die folgenden Materialien verwenden SR_Triangles Shader. Sie können verschiedene Optionen konfigurieren, z. B. Füllfarbe, Linienfarbe und Impulsfarbe.
- MRTK_Pulse_SpatialMeshBlue.mat
- MRTK_Pulse_SpatialMeshPurple.mat
- MRTK_Pulse_ArticulatedHandMeshBlue.mat
- MRTK_Pulse_ArticulatedHandMeshPurple.mat
Voraussetzungen
Stellen Sie für das Beispiel für räumliches Gitter sicher, dass MRTK_Pulse_SpatialMeshBlue.mat oder MRTK_Pulse_SpatialMeshPurple.mat unter dem MixedRealityToolkit-Objekt -> Spatial Awareness Profile -> Display Settings -> Visible Material zugewiesen ist.
Stellen Sie für das Handnetzbeispiel sicher, dass MRTK_Pulse_ArticulatedHandMeshBlue.mat oder MRTK_Pulse_ArticulatedHandMeshPurple.mat in ArticulatedHandMesh.prefab zugewiesen ist, die selbst in DEN MRTK-Einstellungen –> Eingabe –> Handnachverfolgung –> Handgitter-Prefab zugewiesen werden sollte.
So funktioniert es
Der Handgitter-Shader verwendet UVs, um den Puls entlang des Handgitters zuzuordnen und das Handgelenk auszublenden. Der Oberflächenrekonstruktions-Shader verwendet die Vertexpositionen, um den Puls zuzuordnen.
Beispiel für räumliches Gitter – PulseShaderSpatialMeshExample.unity
Ähnlich wie bei HoloLens 2 können Sie mit dem Handstrahl zeigen und auf die Luft tippen, um einen pulsierenden Effekt auf das Räumliche Gitter zu erzeugen. Die Beispielszene enthält das ExampleSpatialMesh-Objekt, bei dem es sich um räumliche Testgitterdaten für den Spielmodus von Unity handelt. Dieses Objekt wird auf dem Gerät deaktiviert und ausgeblendet.
PulseShaderSpatialMeshHandler.cs Skript generiert den Impulseffekt auf das räumliche Gitter an der Trefferpunktposition, wenn PulseOnSelect true ist. Die Auto Pulse -Eigenschaft kann auch im Material selbst für eine wiederholte Animation auf true festgelegt werden. In der Beispielszene ist dieses Skript an das Prefab PulseShaderSpatialMeshParent angefügt. Auf dieses Prefab wird unter der Eigenschaft Spatial Awareness Profile through Runtime Spatial Mesh Prefab verwiesen. Während der Laufzeit wird das Prefab PulseShaderSpatialMeshParent und instanziiert und der räumlichen Gitterhierarchie hinzugefügt (nur auf dem Gerät kann dieses Verhalten im Editor nicht beobachtet werden).
Hand Mesh-Beispiel – PulseShaderHandMeshExample.unity
In dieser Beispielszene wird die Visualisierung des Handgitters mithilfe eines Pulsshaders veranschaulicht. Wenn eine Hand vom HoloLens-Gerät erkannt wird, wird die Impulsanimation einmal ausgelöst. Dieses visuelle Feedback kann die Interaktionssicherheit des Benutzers erhöhen.
PulseShaderHandMeshHandler.cs Skript generiert einen Impulseffekt auf das zugewiesene Material. Standardmäßig ist "Pulse On Hand Detected" aktiviert.