Konfigurowanie obserwatorów siatki dla urządzenia — MRTK2

Ten przewodnik przeprowadzi cię przez proces konfigurowania gotowego obserwatora usługi Spatial Mesh w zestawie narzędzi MRTK, który obsługuje platformę Windows Mixed Reality (na przykład HoloLens). Domyślną implementacją udostępnioną przez zestaw narzędzi Mixed Reality jest klasa WindowsMixedRealitySpatialMeshObserver. Wiele właściwości w tym artykule ma zastosowanie do innych niestandardowych implementacji obserwatora.

Ustawienia profilu

Podczas konfigurowania profilu obserwatora usługi Spatial Mesh dla systemu rozpoznawania przestrzennego należy najpierw zdefiniować następujące dwa elementy.

  1. Implementacja konkretnego typu obserwatora
  2. lista obsługiwanych platform do uruchomienia tego obserwatora

Uwaga

Wszyscy obserwatorzy muszą rozszerzyć interfejs IMixedRealitySpatialAwarenessObserver .

Typy platformy ustawień ogólnych obserwatora usługi Mesh

Ustawienia ogólne

Ustawienia ogólne obserwatora usługi Mesh Genral

Zachowanie uruchamiania

Zachowanie uruchamiania określa, czy obserwator rozpocznie działanie po pierwszym utworzeniu wystąpienia. Te dwie opcje są następujące:

  • Automatyczne uruchamianie — wartość domyślna, w której obserwator rozpocznie operację po zainicjowaniu
  • Ręczne uruchamianie — obserwator będzie czekał na uruchomienie

W przypadku korzystania z ręcznego uruchamiania należy wznowić i zawiesić je w czasie wykonywania za pomocą kodu.

Interwał aktualizacji

Czas między żądaniami do platformy w celu zaktualizowania danych siatki przestrzennej. Typowe wartości mieszczą się w zakresie 0,1 i 5,0 sekund.

Jest obserwatorem stacjonarnym

Wskazuje, czy obserwator ma pozostać stacjonarny, czy przenieść i zaktualizować go z użytkownikiem. Jeśli ma wartość true, kształt obserwatora z woluminem zdefiniowanym przez zakresy obserwacji pozostanie na początku podczas uruchamiania. Jeśli wartość false, przestrzeń Obserwator będzie podążać za głową użytkownika jako źródłem kształtu.

Nie będzie żadnych danych siatki obliczanych dla żadnego obszaru fizycznego poza przestrzenią obserwatora zgodnie z definicją tych właściwości: Czy obserwator stacjonarny, kształt obserwatora*, i zakresy obserwacji.

Kształt obserwatora

Kształt obserwatora definiuje typ woluminu, który będzie używany przez obserwatora siatki podczas obserwacji siatki. Obsługiwane opcje to:

  • Oś wyrównana sześcian — prostokątny kształt, który pozostaje wyrównany do osi układu współrzędnych świata zgodnie z ustaleniami podczas uruchamiania aplikacji.
  • Wyrównany moduł użytkownika — kształt prostokątny, który obraca się w celu wyrównania do lokalnego systemu współrzędnych użytkowników.
  • Sphere — sfera woluminu z centrum w punkcie pochodzenia przestrzeni światowej. Wartość X właściwości Zakresy obserwacji będzie używana jako promień kuli.

Zakresy obserwacji

Zakresy obserwacji definiują odległość od punktu obserwacji obserwowanego przez siatki.

Ustawienia fizyki

Ustawienia fizyki obserwatora siatki

Warstwa fizyki

Warstwa fizyki, na której zostaną umieszczone obiekty siatki przestrzennej w celu interakcji z systemami Fizyki aparatu Unity i RayCast.

Uwaga

Mixed Reality Toolkit domyślnie rezerwuje warstwę 31 do użytku przez obserwatorów świadomości przestrzennej.

Oblicz ponownie normalię

Określa, czy obserwator siatki ponownie obliczy normalne normy siatki po obserwacji. To ustawienie jest dostępne w celu zapewnienia, że aplikacje otrzymują siatki zawierające prawidłowe dane normalne na platformach, które nie zwracają ich z siatkami.

Poziom ustawień szczegółów

Poziom obserwatora siatki ustawień szczegółów

Poziom szczegółowości

Określa poziom szczegółowości (LOD) danych siatki przestrzennej. Obecnie zdefiniowane wartości to Coarse, Fine i Custom.

  • Coarse — umieszcza mniejszy wpływ na wydajność aplikacji i jest doskonałym wyborem do znajdowania nawigacji/płaszczyzny.

  • Średnie — zrównoważone ustawienie często przydaje się w przypadku środowisk, które stale skanują środowisko pod kątem zarówno dużych funkcji, podłóg, jak i ścian, a także szczegółów okluzji.

  • W porządku — ogólnie rzecz biorąc, większy wpływ na wydajność aplikacji i jest doskonałym rozwiązaniem dla siatki okluzji.

  • Niestandardowe — wymaga od aplikacji określenia właściwości Trójkąty /Miernik sześcienny i umożliwia aplikacjom dostosowanie dokładności i wpływu wydajności obserwatora siatki przestrzennej.

Uwaga

Nie ma gwarancji, że wszystkie wartości trójkątów/miernika sześciennego są honorowane przez wszystkie platformy. Eksperymentowanie i profilowanie jest zdecydowanie zalecane podczas korzystania z niestandardowego loda.

Trójkąty na miernik sześcienny

Prawidłowe w przypadku używania ustawienia niestandardowego dla właściwości Level of Detail i określa gęstość trójkąta dla siatki przestrzennej.

Ustawienia ekranu

Ustawienia wyświetlania obserwatora siatki

Opcja wyświetlania

Określa sposób wyświetlania siatk przestrzennych przez obserwatora. Obsługiwane wartości to:

  • Brak — obserwator nie będzie renderować siatki
  • Widoczne — dane siatki będą widoczne przy użyciu widocznego materiału
  • Occlusion — dane usługi Mesh będą elementami oklude na scenie przy użyciu materiału Occlusion

Wybieranie implementacji systemu rozpoznawania przestrzennego

Obserwatorzy przestrzenni mogą być wznawiani/zawieszani w czasie wykonywania za pomocą kodu.

Ostrzeżenie

Ustawienie opcji wyświetlania na Wartość Braknie powoduje zatrzymania działania obserwatora. Jeśli chcesz zatrzymać wszystkich obserwatorów, aplikacje będą musiały zawiesić wszystkich obserwatorów za pośrednictwem CoreServices.SpatialAwareness.SuspendObservers()

Widoczny materiał

Wskazuje materiał do użycia podczas wizualizacji siatki przestrzennej.

Materiał okluzji

Wskazuje materiał, który ma być używany do spowodowania hologramów occlude siatki przestrzennej.

Zobacz też