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.
- Implementacja konkretnego typu obserwatora
- lista obsługiwanych platform do uruchomienia tego obserwatora
Uwaga
Wszyscy obserwatorzy muszą rozszerzyć interfejs IMixedRealitySpatialAwarenessObserver .
Ustawienia ogólne
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
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 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
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
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.