Cieniator impulsów — MRTK2
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".