Przewodnik konfiguracji profilu mrTK

Zestaw Mixed Reality Toolkit scentralizuje jak najwięcej konfiguracji wymaganej do zarządzania zestawem narzędzi (z wyjątkiem "rzeczy" prawdziwego środowiska uruchomieniowego).

Ten przewodnik to prosty przewodnik dla każdego z ekranów profilu konfiguracji dostępnych obecnie dla zestawu narzędzi.

Główny profil konfiguracji Mixed Reality Toolkit

Główny profil konfiguracji dołączony do zestawu narzędzi MixedRealityToolkit GameObject w scenie zapewnia główny punkt wejścia dla zestawu narzędzi w projekcie.

Uwaga

Zestaw narzędzi Mixed Reality Toolkit "blokuje" domyślne ekrany konfiguracji, aby mieć pewność, że zawsze masz wspólny punkt startowy dla projektu. Zachęcamy do rozpoczęcia definiowania własnych ustawień w ramach rozwoju projektu. Konfiguracji mrTK nie można edytować w trybie odtwarzania.

Profil konfiguracji mrTK

Wszystkie "domyślne" profile zestawu narzędzi Mixed Reality Toolkit można znaleźć w projekcie zestawu SDK w folderze Assets/MRTK/SDK/Profiles.

Ważne

Ustawienie DefaultNegooLens2ConfigurationProfile jest zoptymalizowane pod kątem HoloLens 2. Aby uzyskać szczegółowe informacje, zobacz Profile.

Po otwarciu głównego Mixed Reality konfiguracji zestawu narzędzi zostanie wyświetlony następujący ekran w inspektorze:

MRTK configuration scene

Jeśli wybierzesz zasób MixedRealityToolkitConfigurationProfile bez zestawu narzędzi MixedRealityToolkit w scenie, zostanie zapytany, czy chcesz, aby zestaw narzędzi MRTK automatycznie skonfigurł scenę. Jest to opcjonalne, jednak w scenie musi znajdować się aktywny obiekt MixedRealityToolkit, aby uzyskać dostęp do wszystkich ekranów konfiguracji.

W tym pliku znajduje się bieżąca konfiguracja aktywnego środowiska uruchomieniowego dla projektu.

W tym miejscu możesz przejść do wszystkich profilów konfiguracji dla mrTK, w tym do:

Te profile konfiguracji zostały szczegółowo opisane poniżej w odpowiednich sekcjach:


Ustawienia doświadczenia

To ustawienie znajduje się na Mixed Reality konfiguracji zestawu narzędzi Mixed Reality Toolkit.

Experiance settings

Ustawienia aparatu fotograficznego

Ustawienia aparatu definiują sposób konfiguracji aparatu dla projektu Mixed Reality, definiując ogólne ustawienia przycinania, jakości i przezroczystości.

Camera Profile

Ustawienia systemu danych wejściowych

Usługa Mixed Reality Project niezawodny i dobrze wytrenowany system wejściowy do routingu wszystkich zdarzeń wejściowych wokół projektu, który jest domyślnie wybrany.

Input System settings 1

Za systemem wejściowym dostarczanym przez mrTK znajduje się kilka innych systemów, które ułatwiają zarządzanie złożonymi współzałożycieli wymaganymi do wyekstrakcji złożonej struktury rzeczywistości wieloplatformowej/mieszanej.

Input System settings 2

Poszczególne profile zostały szczegółowo opisane poniżej:


Ustawienia wizualizacji granic

System granic tłumaczy postrzeganą granicę zgłaszaną przez granicę bazowych platform/system strażników. Konfiguracja wizualizatora granic daje możliwość automatycznego wyświetlania zarejestrowanej granicy w scenie względem pozycji użytkownika. Granica będzie również reagować/aktualizować w zależności od miejsca, w którym użytkownik znajduje się w scenie.

Boundry Visualization Settings

Wybór systemu teleportacji

Aplikacja Mixed Reality Project w pełni funkcjonalny system teleportacji do zarządzania wydarzeniami o wartości teleportacji w projekcie, który jest domyślnie wybrany.

Teleport System settings

Ustawienia świadomości przestrzennej

Projekt Mixed Reality Project ponownie skonsumowany system świadomości przestrzennej do pracy z systemami skanowania przestrzennego w projekcie, który jest domyślnie wybierany.

Spatial Awareness settings 1

Konfiguracja świadomości przestrzennej zestawu narzędzi Mixed Reality Toolkit umożliwia dostosowanie sposobu uruchamiania systemu, jego automatycznego uruchamiania lub późniejszego programowego uruchamiania, a także ustawianie zakresów dla pola widoku.

Umożliwia również konfigurowanie ustawień siatki i powierzchni, co dodatkowo dostosowywanie sposobu, w jaki projekt rozumie środowisko wokół Ciebie.

Dotyczy to tylko urządzeń, które mogą udostępnić zeskanowane środowisko.

Spatial Awareness settings 2

Ustawienia diagnostyki

Opcjonalną, ale wysoce przydatną funkcją zestawu mrTK jest funkcja diagnostyki wtyczek.

Diagnostics settings

Profil diagnostyki udostępnia kilka prostych systemów do monitorowania, gdy projekt jest uruchomiony, w tym przydatny przełącznik On/Off umożliwiający włączanie/wyłączanie panelu wyświetlania w scenie.

Diagnostics settings System settings 2

Ustawienia systemu sceny

Zestaw mrTK udostępnia tę opcjonalną usługę, która pomaga zarządzać złożonym ładowaniem/zwalnianiem sceny addytywnej. Aby zdecydować, czy system sceny będzie odpowiedni dla Twojego projektu, przeczytaj przewodnik po Wprowadzenie Scene System.

Scene System settings 1

Ustawienia dodatkowych usług

Jednym z bardziej zaawansowanych obszarów zestawu narzędzi Mixed Reality Toolkit jest implementacja wzorca lokalizatora usług, która umożliwia rejestrowanie dowolnej "usługi" w strukturze. Dzięki temu można łatwo rozszerzyć platformę o nowe funkcje/systemy, ale także korzystać z tych możliwości w projektach w celu rejestrowania własnych składników środowiska uruchomieniowego.

Każda zarejestrowana usługa nadal w pełni wykorzystuje wszystkie zdarzenia aparatu Unity, bez narzutu i kosztów implementacji pojedynczych wzorców MonoBehaviour lub clunky. Umożliwia to korzystanie z czystych składników języka C# bez narzutu na scenę w przypadku uruchamiania procesów pierwszego planu i procesów w tle, np. zduplikowania systemów, logiki gry w czasie wykonywania lub praktycznie czegokolwiek innego.

additional System settings

Ustawienia akcji wejściowych

Akcje wejściowe zapewniają sposób abstrakcji wszelkich fizycznych interakcji i danych wejściowych z projektu środowiska uruchomieniowego. Wszystkie fizyczne dane wejściowe (z kontrolerów/rąk/myszy itp.) są tłumaczone na logiczną akcję wejściową do użycia w projekcie środowiska uruchomieniowego. Dzięki temu, niezależnie od tego, skąd pochodzą dane wejściowe, projekt po prostu implementuje te akcje w tle jako "Czynności do wykonania" lub "Interakcje".

Aby utworzyć nową akcję wejściową, po prostu kliknij przycisk "Dodaj nową akcję" i wprowadź przyjazną nazwę tekstową dla tego, co reprezentuje. Następnie wystarczy wybrać oś (typ danych) do przekazania przez akcję, a w przypadku kontrolerów fizycznych typ danych wejściowych, do których można dołączyć dane, na przykład:

Ograniczenie osi Typ danych Opis Przykład użycia
Brak Brak danych Służy do pustej akcji lub zdarzenia Wyzwalacz zdarzenia
Nieprzetworzone (zarezerwowane) object Zarezerwowane do użytku w przyszłości Nie dotyczy
Digital bool Wartość logiczna dla danych typu lub poza Przycisk kontrolera
Pojedyncza oś float Pojedyncza wartość danych precyzji Dane wejściowe z zakresu, np. wyzwalacz
Oś podwójna Vector2 Podwójna data typu zmiennoprzecinkowa dla wielu osi Dpad lub pałeczki
Trzy pozycje dof Vector3 Dane typu pozysowego z z 3 osią zmiennoprzecinkową Kontroler tylko stylu położenia 3D
Obracanie trzech dofów Quaternion Tylko rotacja danych wejściowych z 4 osiami zmiennoprzecinkowy Kontroler w stylu trzech stopni, np. kontroler Oculus Go
Sześć dof Mixed Reality Pose (Vector3, Quaternion) Dane wejściowe stylu położenia i obrotu ze składnikami Vector3 i Quaternion Kontroler ruchu lub wskaźnik

Zdarzenia korzystające z akcji wejściowych nie są ograniczone do kontrolerów fizycznych i nadal mogą być używane w projekcie, aby efekty środowiska uruchomieniowego generowały nowe akcje.

Uwaga

Akcje wejściowe są jednym z kilku składników, których nie można edytować w czasie wykonywania. Są to tylko konfiguracje czasu projektowania. Nie należy wymieniać tego profilu, gdy projekt jest uruchomiony ze względu na zależność struktury (i projektów) od identyfikatora wygenerowanego dla każdej akcji.

Configuration Profile

Reguły akcji wejściowych

Reguły akcji danych wejściowych zapewniają sposób automatycznego tłumaczenia zdarzenia wywoływanego dla jednej akcji wejściowej w operacji na różne akcje na podstawie wartości danych. Są one bezproblemowo zarządzane w ramach struktury i nie są naliczane żadne koszty związane z wydajnością.

Na przykład przekonwertowanie zdarzenia wejściowego pojedynczej podwójnej osi z tabletu DPad w na 4 odpowiednie akcje "Dpad Up" / "DPad Down" / "Dpad Left" / "Dpad Right" (jak pokazano na poniższej ilustracji).

Można to również zrobić we własnym kodzie. Jednak ze względu na to, że był to bardzo często spotykany wzorzec, ta framework zapewnia mechanizm do tego "od początku"

Akcję wejściową Reguły można skonfigurować dla dowolnej z dostępnych osi wejściowych. Jednak akcje wejściowe z jednego typu osi można przetłumaczyć na inną akcję wejściową tego samego typu osi. Akcję z dwiema osiami można mapować na inną akcję na osi podwójnej, ale nie na akcję cyfrową lub akcję brak.

Profil reguł akcji danych wejściowych


Konfiguracja wskaźnika

Wskaźniki są używane do kierowania interakcyjnością w scenie z dowolnego urządzenia wejściowego, zapewniając kierunek i test trafienia z dowolnym obiektem w scenie (z dołączonym kolidem lub składnikiem interfejsu użytkownika). Wskaźniki są domyślnie automatycznie konfigurowane dla kontrolerów, zestawów nagłownych (spojrzenie/fokus) i myszy/dotyku.

Wskaźniki można również wizualizować w aktywnej scenie przy użyciu jednego z wielu składników liniowych dostarczanych przez zestaw narzędzi Mixed Reality Toolkit lub dowolnego własnego, jeśli implementują interfejs IMixedRealityPointer zestawu narzędzi MRTK.

Input Pointer Profile
  • Zakres punktowy: określa globalny zakres punktów dla wszystkich wskaźników, w tym spojrzenia.
  • Wskazuje maski warstwy Raycast: określa, względem których warstw będą migotować wskaźniki.
  • Debugowanie promieni typu Draw Pointing Rays: pomocnik debugowania do wizualizacji promieni używanych do emisji promieniowej.
  • Debuguj kolory rysować promienie: zestaw kolorów do użycia w celu wizualizacji.
  • Przedwątkowe spojrzenie kursora: ułatwia określenie globalnego kursora spojrzenia dla dowolnej sceny.

Istnieje dodatkowy przycisk pomocnika, który umożliwia szybkie przejście do dostawcy spojrzenia w celu zastąpienia określonych wartości dla spojrzenia w razie potrzeby.


Konfiguracja gestów

Gesty to implementacja specyficzna dla systemu, umożliwiająca przypisywanie akcji wejściowych do różnych metod wejściowych "Gest" dostarczanych przez różne zestawy SDK (np. HoloLens).

Uwaga

Bieżąca implementacja gestów jest tylko dla HoloLens i zostanie rozszerzona dla innych systemów, ponieważ zostaną one dodane do zestawu narzędzi w przyszłości (jeszcze nie ma dat).

Gesture configuration

Polecenia mowy

Podobnie jak gesty, niektóre platformy środowiska uruchomieniowego zapewniają również inteligentne funkcje "zamiana mowy na tekst" z możliwością generowania poleceń, które mogą być odbierane przez projekt aparatu Unity. Ten profil konfiguracji umożliwia skonfigurowanie następujących ustawień:

  1. Ogólne Ustawienia — ustawienie "Zachowanie podczas uruchamiania" na Automatyczne uruchamianie lub Uruchamianie ręczne określa, czy zainicjować funkcję KeywordRecognizer podczas uruchamiania systemu wejściowego, czy też pozwolić projektowi zdecydować, kiedy zainicjować funkcję KeywordRecognizer. "Recognition Confidence Level" (Poziom ufności rozpoznawania) służy do inicjowania interfejsu API KeywordRecognizer aparatu Unity
  2. Polecenia mowy — rejestrują "wyrazy" i tłumaczą je na akcje wejściowe, które mogą być odbierane przez projekt. W razie potrzeby można je również dołączyć do akcji klawiatury.

Ważne

System obsługuje obecnie tylko mowę w przypadku uruchamiania na platformach Windows 10, np. HoloLens i Windows 10 Desktop, i zostanie rozszerzony dla innych systemów, ponieważ zostaną one dodane do mrtk w przyszłości (jeszcze nie ma dat).

Configuration Profile screens

Konfiguracja mapowania kontrolera

Jednym z podstawowych ekranów konfiguracji zestawu narzędzi Mixed Reality Toolkit jest możliwość konfigurowania i mapowania różnych typów kontrolerów, które mogą być używane przez projekt.

Poniższy ekran konfiguracji umożliwia skonfigurowanie dowolnego kontrolera aktualnie rozpoznawanego przez zestaw narzędzi.

Controller Mapping

MrTK udostępnia domyślną konfigurację dla następujących kontrolerów/systemów:

  • Mysz (w tym obsługa myszy przestrzennej 3D)
  • Telefony z ekranem
  • Kontrolery konsoli Xbox
  • Windows Mixed Reality kontrolerów
  • HoloLens Gesty
  • Kontrolery wand VIV Vive
  • Kontrolery Oculus Touch
  • Zdalny kontroler Oculus
  • Ogólne urządzenia OpenVR (tylko zaawansowani użytkownicy)

Kliknięcie obrazu dla dowolnego wstępnie skonfigurowane systemy kontrolera umożliwia skonfigurowanie jednej akcji wejściowej dla wszystkich odpowiednich danych wejściowych, na przykład zobacz ekran konfiguracji kontrolera Oculus Touch poniżej:

Controller config screen

Istnieje również zaawansowany ekran do konfigurowania innych kontrolerów wejściowych OpenVR lub Unity, które nie zostały zidentyfikowane powyżej.


Ustawienia wizualizacji kontrolera

Oprócz mapowania kontrolera zapewniany jest oddzielny profil konfiguracji w celu dostosowania sposobu prezentowanie kontrolerów w tle.

Można to skonfigurować na poziomie "Globalny" (wszystkie wystąpienia kontrolera dla określonej ręki) lub specyficzne dla typu/ręki pojedynczego kontrolera.

Zestaw MRTK obsługuje również natywne modele kontrolera zestawu SDK dla Windows Mixed Reality i OpenVR. Są one ładowane jako gameobjects w scenie i pozycjonowane przy użyciu śledzenia kontrolera platformy.

Jeśli reprezentacja kontrolera w scenie musi być przesunięta od fizycznej pozycji kontrolera, po prostu ustaw to przesunięcie względem prefabrykatu modelu kontrolera (np. ustawienie położenia przekształcenia prefabrykatu kontrolera z przesunięciem).

Visualization profile

Narzędzia edytora

Poniższe narzędzia działają tylko w edytorze i są przydatne w celu zwiększenia produktywności rozwoju.

Narzędzia konfiguracji edytora MRTK

Inspektorzy usług

Inspektorzy usług to funkcja dostępna tylko w edytorze, która generuje obiekty w scenie reprezentujące aktywne usługi. Wybranie tych obiektów powoduje wyświetlenie inspektorów, którzy oferują linki do dokumentacji, kontrolę nad wizualizacjami edytora i wgląd w stan usługi.

Service Inspectors

Inspektorów usług można włączyć, zaznaczając opcję Użyj inspektorów usługi w Ustawienia w profilu konfiguracji.

Renderator buforu głębokości

Współużytkowanie buforu głębokości z niektórymi platformami rzeczywistości mieszanej może poprawić ustabilizowanie hologramów. Na przykład platforma Windows Mixed Reality może modyfikować wyrenderowane sceny na piksel, aby uwzględnić subtelne ruchy głowy w czasie renderowania ramki. Jednak te techniki wymagają buforów głębokości z dokładnymi danymi, aby wiedzieć, gdzie i jak daleko znajduje się geometria od użytkownika.

Aby upewnić się, że scena renderuje wszystkie niezbędne dane w buforze głębokości, deweloperzy mogą przełączać funkcję Bufor głębokości renderowania w obszarze Ustawienia w profilu konfiguracji. Spowoduje to zastosowanie bieżącego buforu głębokości i renderowanie go jako koloru w widoku sceny przez zastosowanie efektu przetwarzania po przetwarzaniu DepthBufferRenderer do głównego aparatu.

Render Depth Buffer Utility (Narzędzie buforu głębokości renderowania) Niebieski cylindr w scenie ma materiał z wyłączonym ZWrite, więc nie są zapisywane żadne dane głębokości

Zmienianie profilów w czasie wykonywania

Istnieje możliwość zaktualizowania profilów w czasie wykonywania i zwykle istnieją dwa różne scenariusze i czasy, w których jest to przydatne:

  1. Przełącznik profilu inicjowania przed uruchomieniem mrtk: podczas uruchamiania, zanim zostanie zainicjowany i profil stanie się aktywny, zastępując profil jeszcze nie w użyciu, aby włączyć/wyłączyć różne funkcje w zależności od możliwości urządzenia. Jeśli na przykład środowisko działa w wirtualnej rzeczywistości wirtualnej, która nie ma sprzętu do mapowania przestrzennego, prawdopodobnie nie ma sensu, aby włączyć składnik mapowania przestrzennego.
  2. Aktywny przełącznik profilu: po uruchomieniu, po zainicjowaniu mrtk i włączeniu profilu, zamiana profilu aktualnie w celu zmiany sposobu działania niektórych funkcji. Na przykład w aplikacji może być określone środowisko podrzędne, które wymaga całkowitego usunięcia wskaźników ręki.

Przełącznik profilu inicjowania przed inicjacją mrtk

Można to zrobić, dołączając monobehaviour (przykład poniżej), który jest uruchamiany przed inicjacją mrTK (tj. Awake()). Zwróć uwagę, że skrypt (tj. wywołanie polecenia ) musi być wykonywany wcześniej niż skrypt, co można osiągnąć, ustawiając ustawienia SetProfileBeforeInitialization MixedRealityToolkit kolejności wykonywania skryptu.

using Microsoft.MixedReality.Toolkit;
using UnityEngine;

/// <summary>
/// Sample MonoBehaviour that will run before the MixedRealityToolkit object, and change
/// the profile, so that when the MRTK initializes it uses the profile specified below
/// rather than the one that is saved in its scene.
/// </summary>
/// <remarks>
/// Note that this script must have a higher priority in the script execution order compared
/// to that of MixedRealityToolkit.cs. See https://docs.unity3d.com/Manual/class-MonoManager.html
/// for more information on script execution order.
/// </remarks>
public class PreInitProfileSwapper : MonoBehaviour
{

    [SerializeField]
    private MixedRealityToolkitConfigurationProfile profileToUse = null;

    private void Awake()
    {
        // Here you could choose any arbitrary MixedRealityToolkitConfigurationProfile (for example, you could
        // add some platform checking code here to determine which profile to load).
        MixedRealityToolkit.SetProfileBeforeInitialization(profileToUse);
    }
}

Zamiast "profileToUse" można mieć dowolny zestaw profilów, które mają zastosowanie do określonych platform (na przykład jeden dla usługi HoloLens 1, jeden dla VR, jeden dla HoloLens 2 itp.). Istnieje możliwość użycia różnych innych wskaźników (np. , lub tego, czy aparat jest nieprzezroczysty/przezroczysty), aby ustalić, który https://docs.unity3d.com/ScriptReference/SystemInfo.html profil załadować.

Aktywny przełącznik profilu

Można to zrobić, ustawiając właściwość na MixedRealityToolkit.Instance.ActiveProfile nowy profil, zastępując aktywny profil.

MixedRealityToolkit.Instance.ActiveProfile = profileToUse;

Należy pamiętać, że podczas ustawiania w czasie wykonywania niszczenie aktualnie uruchomionych usług nastąpi po ostatnim opóźnieniu aktualizacji () wszystkich usług, a utworzenie wystąpienia i zainicjowanie usług skojarzonych z nowym profilem nastąpi przed pierwszą aktualizacją ActiveProfile Update() wszystkich usług.

W trakcie tego procesu mogą wystąpić zauważalne wahania aplikacji. Ponadto każdy skrypt o wyższym priorytecie niż skrypt może wprowadzić jego MixedRealityToolkit aktualizację przed prawidłowym ustawieniem nowego profilu. Aby uzyskać więcej informacji na temat priorytetu skryptu, zobacz Ustawienia kolejności wykonywania skryptu.

W procesie przełączania profilu istniejący aparat interfejsu użytkownika pozostaje niezmieniony, zapewniając, że składniki interfejsu użytkownika aparatu Unity, które wymagają kanwy, nadal działają po przełączeniu.

Zobacz też