Cieniator impulsów — MRTK2

MRTK_SpatialMesh_Pulse

Użyj cieniowania impulsów, aby animować wizualny efekt impulsu nad rekonstrukcją powierzchni, przegubową siatką ręczną lub innymi siatkami.

Cieniator i materiał

Poniższe materiały używają cieniowania SR_Triangles . Można skonfigurować różne opcje, takie jak kolor wypełnienia, kolor linii i kolor impulsu.

  • MRTK_Pulse_SpatialMeshBlue.mat
  • MRTK_Pulse_SpatialMeshPurple.mat
  • MRTK_Pulse_ArticulatedHandMeshBlue.mat
  • MRTK_Pulse_ArticulatedHandMeshPurple.mat

Wymagania wstępne

W przykładzie siatki przestrzennej upewnij się, że MRTK_Pulse_SpatialMeshBlue.mat lub MRTK_Pulse_SpatialMeshPurple.mat jest przypisany do obiektu MixedRealityToolkit — Profil świadomości przestrzennej —> Ustawienia wyświetlania —>> widoczny materiał.

W przykładzie siatki ręcznej upewnij się, że MRTK_Pulse_ArticulatedHandMeshBlue.mat lub MRTK_Pulse_ArticulatedHandMeshPurple.mat jest przypisany w pliku ArticulatedHandMesh.prefab, który powinien być przypisany w ustawieniach zestawu NARZĘDZI MRTK — dane wejściowe —>> śledzenie rąk —> prefab siatki ręcznej.

Jak to działa

Cieniowanie siatki ręcznej używa telewizorów do mapowania impulsu wzdłuż siatki dłoni i wyblakłego nadgarstka. Cieniator rekonstrukcji powierzchni używa pozycji wierzchołków do mapowania impulsu.

Przykład usługi Spatial Mesh — PulseShaderSpatialMeshExample.unity

Podobnie jak w przypadku powłoki HoloLens 2, można wskazać i nacisnąć powietrze z promieniem dłoni, aby wygenerować efekt pulsujący na siatkę przestrzenną. Przykładowa scena zawiera obiekt ExampleSpatialMesh, który jest testowym danymi siatki przestrzennej dla trybu gry aparatu Unity. Ten obiekt zostanie wyłączony i ukryty na urządzeniu.

Skrypt PulseShaderSpatialMeshHandler.cs generuje efekt impulsu na siatce przestrzennej w pozycji punktu trafienia, jeśli PulseOnSelect ma wartość true. Właściwość Auto Pulse może być również ustawiona na wartość true w samym materiale dla powtarzającej się animacji. W przykładowej scenie ten skrypt jest dołączony do prefabrykatu PulseShaderSpatialMeshParent. Ten prefab jest przywoływalny w obszarze Profilu świadomości przestrzennej za pomocą właściwości Prefab usługi Runtime Spatial Mesh. W czasie wykonywania prefabacja PulseShaderSpatialMeshParent i jest tworzone i dodawane do hierarchii siatki przestrzennej (tylko na urządzeniu nie można zaobserwować tego zachowania w edytorze).

Przykład siatki ręcznej — PulseShaderHandMeshExample.unity

W tej przykładowej scenie przedstawiono wizualizację siatki ręcznej przy użyciu cieniowania impulsów. Po wykryciu ręki przez urządzenie HoloLens animacja impulsu zostanie wyzwolona raz. Ta wizualna opinia może zwiększyć pewność interakcji użytkownika.

Skrypt PulseShaderHandMeshHandler.cs generuje efekt impulsu na przypisanym materiale. Domyślnie jest sprawdzana opcja "Pulse On Hand Detected".