Przykład Fizyki zablokowanej na świecie.
Próbka Beam Fizyki oferuje kilka środowisk fizyki wirtualnej, które są włączone przez world locking Tools świat zablokowany układ współrzędnych.
Historia wstecz
Na urządzeniu HoloLens relacja między kotwicą przestrzenną a głową lub innymi kotwicami przestrzennymi może ulec zmianie w dowolnym momencie z powodu przychodzących danych czujnika, a nawet ponownego przetwarzania istniejących danych.
Kotwice przestrzenne aparatu Unity reagują na zmiany w pozy bazowej kotwicy przestrzennej, przeciągając dołączony obiekt GameObject wraz z nim. Ten ruch powoduje trudności z symulacją fizyki:
- Ponieważ zakotwiczona przestrzennie pozycja GameObject jest jawnie ustawiana przez kotwicę przestrzenną dla każdej ramki, nie można jej ustawić przez symulację (na przykład momentum).
- Ponieważ kotwica przestrzenna jest często aktualizowana jego pozycja GameObject, nie wydaje się być w spoczynku w stosunku do innych nadal sztywnychBodies.
- Ze względu na niejawne przesunięcia układu współrzędnych aparatu Unity, ponieważ kotwice przestrzenne dopasowują współrzędne statycznych Hologramy, aby zachować ich stałe względem świata rzeczywistego, obliczenia fizyki, takie jak trasy i trajektorie, będą wyłączone. Na przykład pocisk idealnie skierowany do hologramu będzie nadal pomijany, jeśli hologram jest zmieniany przez jego zakotwiczenie przestrzenne między obliczeniami trajektorii i osiągnięciem celu.
Gdy relacje między mierzonymi kotwicami przestrzennymi i widocznymi obiektami wirtualnymi zablokowanymi stają się niespójne, a następnie zamiast dostosowywać obiekty wirtualne jako kotwice przestrzenne aparatu Unity, narzędzia World Locking Tools dostosowują transformację głowy, aby zminimalizować postrzegane artefakty z tych niespójności. Dzięki temu obiekty wirtualne mogą być spójne w stabilnej przestrzeni współrzędnej, eliminując powyższe problemy.
Kompilowanie przykładu
Przykład wymaga możliwości SpatialPerception. Możliwość mikrofonu jest również wymagana w przypadku poleceń głosowych.
Ten przykład wymaga dodania następujących warstw do tagów i warstw projektu:
- Filary
- SpatialMapping
Uruchamianie pokazu
Kontrolki HUD
Ta podstawowa funkcja HUD nie jest specyficzna dla tego przykładu beam fizyki, ale umożliwia tylko kontrolę środowiska uruchomieniowego nad zachowaniem narzędzi do blokowania świata w celu zbadania jego możliwości. Jest ona dostępna jako lista rozwijana na potrzeby programowania w dowolnej aplikacji przy użyciu narzędzi world locking Tools, zgodnie z opisem w temacie World Locking Tools's Initial Setup ( Wstępne konfigurowanie narzędzi do blokowania na świecie).
Statystyki diagnostyczne są domyślnie wyświetlane, ale można je wyłączyć z poziomu funkcji HUD sterowania.
Tryby przycisków radiowych
W dowolnym momencie próbka może znajdować się w jednym z następujących trybów:
Bezczynność — przykład fizyki nie przetwarza obecnie danych wejściowych. Menu HUD i przycisku radiowego, oczywiście, kontynuuj przetwarzanie danych wejściowych.
Throw Dart — trajektoria jest obliczana, oparta na podstawowych prawach fizyki i wyświetlana. Wyświetlony łuk pokazuje ścieżkę, po której zostanie wyzwolony pocisk (za pomocą gestu wyboru). Rzutka będzie podążać za trajektorią balistyczną, odbijającą się od wszelkich powierzchni kolizji, w tym siatkami rekonstrukcji przestrzennej (SR), które mają wpływ.
Te rzutki są "wymienne", jak opisano poniżej.
Dodaj filary — na gest wyboru promienie są rzutowe na świat w określonym kierunku. Jeśli znajdzie zderzaną powierzchnię, do sceny zostanie dodany pionowy filar.
Każdy dodany filar jest zderzany i może służyć jako wsparcie belki, jak opisano poniżej. Dodano jednak dwie odmiany filarów:
- Jeśli filar jest ustawiony na powierzchnię "wymienną", filar jest fizycznie symulowany (na przykład może zostać przewrócony).
- W przeciwnym razie filar zderza się, ale statyczny.
W rzeczywistości ta reguła oznacza, że jeśli filar zostanie dodany do siatki SR, będzie statyczny, ale w przeciwnym razie będzie dynamiczny.
Filary są "wymienne".
Dodaj belkę — przy pierwszym zaznaczeniu do sceny jest rzutowanie promienia w celu znalezienia pierwszego punktu końcowego wiązki. Następnie, gdy promienie zaznaczenia są przenoszone przez scenę, linia jest pobierana z pierwszego punktu końcowego do bieżącego punktu końcowego. Drugi gest wyboru spowoduje utworzenie wiązki rozciągającej się między pierwszym i bieżącymi punktami końcowymi.
Równoważenie belki z punktami końcowymi na filarach wyraźnie wymaga przestrzeni, w której filary punktu końcowego pozostaną stałe względem siebie.
Belki są "wymienne".
Usuń obiekty — po zaznaczeniu, jeśli obiekt rzutowany promieniem jest "wymienny", zostanie on usunięty ze sceny. Wszystkie obiekty obsługiwane przez usunięty obiekt spadną.