Udostępnij za pośrednictwem


Narzędzia i wizualizatory

Narzędzia i wizualizatory w przestrzeni nazw Microsoft.MixedReality.WorldLocking.Tools mają pomóc podczas opracowywania. Mogą one również stanowić punkt wyjścia do zaawansowanej bezpośredniej interakcji z systemem World Locking Tools (WLT).

Chociaż nie są one przeznaczone do bezpośredniego użycia, podobnie jak w aplikacji, deweloper aplikacji może zdecydować się na to.

Aplikacja WorldLocking.Core ma działać zgodnie z oczekiwaniami w każdym odpowiednim scenariuszu aplikacji. Jednak narzędzia mogą zakładać aplikację. Te założenia mogą sprawić, że będą one nieodpowiednie w niektórych sytuacjach.

Przed dołączeniem dowolnych narzędzi bezpośrednio w aplikacji wysyłkowej rozważ utworzenie wersji tego narzędzia dostosowanej do własnych wymagań i zasobów.

Narzędzia

Regulatory

Dostosowywanie to składniki, które obsługują zdarzenia dopasowania. W szczególności tworzą punkty załączników. W przypadku operacji dopasowania program AttachmentPoint służy jako wywołanie zwrotne powiadomień. Moduł dopasowujący odpowiednio obsługuje to zdarzenie.

Zobacz dalszą koncepcyjną dyskusję na temat punktów załączników.

Dokładna właściwa reakcja na zdarzenie dopasowania będzie się różnić w przypadku różnych typów obiektów i jest bardzo specyficzna dla aplikacji. Jeśli na przykład fragment obiektu jest obecnie nieaktywny, czy obiekt powinien być wyświetlany? W przypadku niektórych aplikacji, ponieważ nie można określić prawidłowego umieszczania obiektu, powinna być ukryta. W przypadku innych aplikacji lepszym rozwiązaniem może być wyświetlenie obiektu w tymczasowo niepoprawnej pozy niż pomylenie jego zaginięcia. A nawet w przypadku aplikacji, które powinny ukryć obiekt, istnieją różne sposoby ukrywania (na przykład wyłączenie i odejście daleko).

Składniki AdjusterFixed i AdjusterMoving obsługują dwa typowe scenariusze minimalnie.

Składnik AdjusterFixed zakłada, że jego element docelowy zazwyczaj nie jest przenoszony. Jeśli narzędzia do blokowania świata wysyła poz do korekty ze względu na zdarzenie dopasowania, ma na celu utrzymanie obiektu AdjusterFixed nieruchome na świecie.

Natomiast składnik AdjusterMoving zakłada, że jego element docelowy jest mobilny za pośrednictwem przestrzeni współrzędnej aparatu Unity. Utrzymuje system World Locking Tools pochwalił lokalizację swojego celu, dzięki czemu w przypadku operacji ponownego dopasowania system może dać najbardziej dokładną korektę, aby utrzymać pozycję docelową względem stałej świata fizycznego w tej chwili.

Karty

Składniki adaptera są przeznaczone tylko do ilustracji. Jeśli znajdziesz się przy użyciu jednej z kart sieciowych, prawdopodobnie należy przemyśleć, jak próbujesz użyć narzędzi do blokowania świata.

W szczególności zestaw narzędzi MRTK ma już wbudowane karty, więc nie jest wymagana dalsza współrzędna transformacja systemu ze strony aplikacji.

Czasami, zwłaszcza jeśli nie używasz zestawu NARZĘDZI MRTK, podczas konwersji z zasobów natywnych, które będą raportować we współrzędnych Obszaru zongy, na zamrożone miejsce. W takich przypadkach deweloper aplikacji może znaleźć jedną z kart dołączonych tutaj, aby być dobrym odwołaniem.

  • WorldAnchorAdapter — WorldAnchor dostosuje pozę obiektu w przestrzeni Spongy, aby pozostać stałym w przestrzeni fizycznej. Jest to nadmiarowe ze światowej blokady miejsca dostarczonego przez narzędzia World Locking Tools, więc obiekt dryfuje w zamrożonej przestrzeni. Ta karta umożliwia usłudze WorldAnchor utrzymanie pozy obiektu w zamrożonym miejscu. Jest to niepotrzebne z wyjątkiem diagnostyki. Wszystkie obiekty w globalnej przestrzeni współrzędnych aparatu Unity są blokowane przez narzędzia do blokowania świata.

  • ToggleWorldAnchor — podobny do WorldAnchorAdapter, ale może być przełączany. Ponadto automatycznie konwertuje na zwykłe zachowanie WorldAnchor, gdy element WorldLockingManager jest wyłączony. Przydatne tylko w przypadku diagnostyki.

  • FrozenSpatialMapping — karta zarządza i poprawnie renderuje wyniki z maszyny SurfaceObserver. System mrTK Spatial Awareness zapewnia wszystkie te funkcje i nie wymaga adaptera do pracy z narzędziami do blokowania świata.

  • FrozenTapToAdd — bezpośrednie połączenie z systemem input aparatu Unity wymaga konwersji przychodzących danych współrzędnych, jak pokazano tutaj. Jest to niepotrzebne w systemie wejściowym zestawu narzędzi MRTK.

Wizualizatory

Wizualizacja wykresu zakotwiczenia

Element AnchorGraphVisual i skojarzony z nim prefab są rdzeniem dostarczonych wizualizacji. Elementy składnika są następujące:

  1. Osie — obecne pozy dla źródeł przestrzeni zongjowej (zielony) i Zamrożona przestrzeń (niebieska) są wyświetlane jako standardowe 3 identyfikatory osi strzałek.

  2. Spongy Anchors — są to natywne bazowe kotwicy, które zostały utworzone do kanału optymalizacji frozen world engine. Każdy z nich jest reprezentowany przez pierścień wraz z tagiem tekstowym identyfikującym go. Ponadto więcej informacji jest przekazywanych według koloru i rozmiaru.

    • Aktywna kotwica śledzona będzie zielona.

    • Zakotwiczenie śledzone z zerowym znaczeniem będzie czerwone.

    • Nieobsługiwana kotwica będzie żółta.

    • Im większy pierścień, tym większe znaczenie dla tej kotwicy.

  3. Zamarznięte kotwice — są to odpowiednie punkty odniesienia w zamrożonej przestrzeni. W przypadku braku błędu trackera zostaną one dokładnie dopasowane do kotwic Spongy.

  4. Spongy-Frozen Edges - Łączą Kotwice Spongy z odpowiednimi zakotwiczeniami zamrożonymi. Ponieważ w przypadku braku błędu trackera, byłyby one przypadkowe, nie widząc tych krawędzi oznacza, że wszystko działa doskonale. W każdym razie te krawędzie nie powinny być dłuższe niż kilka centymetrów. Są one czerwone na zamrożonym końcu. Kolor zanika na niebiesko na zgębczasnym końcu.

  5. Krawędzie zakotwiczenia — te cienkie niebieskie szare linie pokazują połączenia między kotwicami Spongy w grafie kotwicy.

Typowy wykres kotwicy przechodzący przez pomieszczenie

Włączenie wyświetlania grafu kotwicy generowanego przez narzędzia World Locking Tools podczas przechodzenia użytkownika do środowiska fizycznego wymaga tylko porzucania prefab WorldLockingTools > Prefabs > AnchorGraphVisual prefab do sceny. Jest on zwykle dodawany jako element równorzędny do WorldLockingContext, ale jego dokładne rozmieszczenie w hierarchii jest nieistotne. Nie należy jednak umieszczać go w hierarchii aparatu.

Zakotwiczenia przestrzenne tworzone i używane przez WLT są tworzone wewnętrznie na pozycji aparatu. Ponieważ jest to niepokojące, że przechodzi przez pole wizualizacji kotwicy na poziomie oka, system domyślnie wyświetla je 1 metr w dół od ich prawdziwej pozycji. Aby wyświetlić wizualizacje kotwicy na rzeczywistych pozycjach kotwicy, ustaw parametr Pionowy przesiedlenia składnika Wizualizacji wykresu zakotwiczonego na zero.

Dodatkowe dane wyjściowe

Przykłady blokady świata obejmują diagnostykę tekstu. Większość z nich jest odpowiednia tylko dla deweloperów world locking Tools, a nie klientów swoich możliwości. Są one jednak dostępne do odczytu i, jak pokazano w skryscie StatusToText , w przypadku wyświetlania w czasie rzeczywistym.

Typowe wyświetlanie diagnostyki

W przypadku analizy pośmiertnej sekcja Diagnostyka środowiska WorldLockingContext może być bardzo przydatna w raportowaniu błędów zamrożonego aparatu świata. Aby uzyskać więcej informacji, zobacz Raportowanie usterki .