Przewodnik konfiguracji profilu MRTK2

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

Ten przewodnik jest prostym przewodnikiem dla każdego z ekranów profilu konfiguracji, które są obecnie dostępne dla zestawu narzędzi.

Główny profil konfiguracji zestawu narzędzi Mixed Reality Toolkit

Główny profil konfiguracji, który jest dołączony do obiektu GameObject MixedRealityToolkit w scenie, stanowi główny punkt wejścia dla zestawu narzędzi w projekcie.

Uwaga

Mixed Reality Zestaw narzędzi "blokuje" domyślne ekrany konfiguracji, aby zawsze mieć wspólny punkt początkowy dla projektu i zachęcamy do rozpoczęcia definiowania własnych ustawień w miarę rozwoju projektu. Konfiguracja zestawu narzędzi MRTK nie jest edytowalna podczas trybu odtwarzania.

Profil konfiguracji zestawu narzędzi 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

DefaultHoloLens2ConfigurationProfile jest zoptymalizowany pod kątem HoloLens 2. Aby uzyskać szczegółowe informacje, zobacz Profile .

Po otwarciu głównego profilu konfiguracji zestawu narzędzi Mixed Reality Zobaczysz następujący ekran w inspektorze:

Scena konfiguracji zestawu narzędzi MRTK

W przypadku wybrania elementu zawartości MixedRealityToolkitConfigurationProfile bez zestawu MixedRealityToolkit w scenie zostanie wyświetlony monit o automatyczne skonfigurowanie sceny przez zestaw narzędzi MRTK. Jest to opcjonalne; Jednak w scenie musi istnieć aktywny obiekt MixedRealityToolkit, aby uzyskać dostęp do wszystkich ekranów konfiguracji.

Zawiera bieżącą konfigurację aktywnego środowiska uruchomieniowego dla projektu.

W tym miejscu możesz przejść do wszystkich profilów konfiguracji zestawu narzędzi MRTK, w tym:

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


Ustawienia środowiska

To ustawienie znajduje się na głównej stronie konfiguracji zestawu narzędzi Mixed Reality Toolkit, które definiuje domyślną operację skalowania środowiska Mixed Reality dla projektu.

Ustawienia experiance

Ustawienia aparatu

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

Profil aparatu

Ustawienia systemu wejściowego

Projekt Mixed Reality zapewnia niezawodny i dobrze wytrenowany system wejściowy do kierowania wszystkich zdarzeń wejściowych wokół projektu, który jest domyślnie wybierany.

Ustawienia systemu wejściowego 1

Za systemem wejściowym dostarczanym przez zestaw narzędzi MRTK znajduje się kilka innych systemów, które ułatwiają zarządzanie złożonymi przeplotami wymaganymi do wyodrębnienia złożoności wieloplatformowej/mieszanej platformy.

Ustawienia systemu wejściowego 2

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


Ustawienia wizualizacji granic

System granic tłumaczy postrzeganą granicę zgłoszoną przez podstawowy system granic/strażników platform. Konfiguracja wizualizatora granic umożliwia automatyczne pokazywanie zarejestrowanej granicy w scenie względem pozycji użytkownika. Granica będzie również reagować / aktualizować w zależności od tego, gdzie użytkownik teleportuje w scenie.

Ustawienia wizualizacji ograniczenia

Wybór systemu teleportacji

Projekt Mixed Reality zapewnia w pełni funkcjonalny system teleportacji do zarządzania zdarzeniami teleportacji w projekcie, który jest domyślnie wybrany.

Teleportuj ustawienia systemu

Ustawienia świadomości przestrzennej

Projekt Mixed Reality udostępnia przebudowany system rozpoznawania przestrzennego do pracy z systemami skanowania przestrzennego w projekcie, który jest domyślnie wybierany.

Ustawienia świadomości przestrzennej 1

Mixed Reality Toolkit spatial awareness configuration (Konfiguracja rozpoznawania przestrzennego zestawu narzędzi) pozwala dostosować sposób uruchamiania systemu, niezależnie od tego, czy jest on automatycznie uruchamiany, czy później, a także ustawia zakresy dla pola widoku.

Umożliwia również skonfigurowanie ustawień siatki i powierzchni, a także dalsze dostosowywanie sposobu, w jaki projekt rozumie środowisko wokół Ciebie.

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

Ustawienia świadomości przestrzennej 2

Ustawienia diagnostyki

Opcjonalna, ale bardzo przydatna funkcja zestawu narzędzi MRTK to funkcja diagnostyki wtyczki.

Ustawienia diagnostyki

Profil diagnostyki udostępnia kilka prostych systemów do monitorowania, gdy projekt jest uruchomiony, w tym poręczny przełącznik Włączania/wyłączania w celu włączenia/wyłączenia panelu wyświetlania w scenie.

Ustawienia diagnostyczne Ustawienia systemu 2

Ustawienia systemowe sceny

Zestaw narzędzi MRTK udostępnia tę opcjonalną usługę, która ułatwia zarządzanie złożonym ładowaniem/zwalnianiem sceny addytywnej. Aby zdecydować, czy system sceny byłby dobrym rozwiązaniem dla projektu, przeczytaj Przewodnik po systemie sceny Wprowadzenie.

Ustawienia systemu sceny 1

Dodatkowe ustawienia 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 dowolnego "usługi" za pomocą platformy. Dzięki temu platforma może być rozszerzona o nowe funkcje /systemy łatwo, ale także umożliwia projektom korzystanie z tych funkcji do rejestrowania własnych składników środowiska uruchomieniowego.

Każda zarejestrowana usługa nadal uzyskuje pełną zaletę wszystkich zdarzeń aparatu Unity bez narzutów i kosztów implementacji wzorców MonoBehaviour lub clunky singleton. Dzięki temu można używać czystych składników języka C# bez nakładu pracy sceny na potrzeby uruchamiania procesów na pierwszym planie i w tle, np. systemów spawningu, logiki gry w czasie wykonywania lub praktycznie niczego innego.

dodatkowe ustawienia systemowe

Ustawienia akcji wejściowych

Akcje wejściowe umożliwiają abstrakcję wszelkich interakcji fizycznych i danych wejściowych z projektu środowiska uruchomieniowego. Wszystkie dane wejściowe fizyczne (z kontrolerów / rąk / myszy / itp.) są tłumaczone na akcję logiczną danych wejściowych do użycia w projekcie środowiska uruchomieniowego. Gwarantuje to, że niezależnie od tego, skąd pochodzą dane wejściowe, projekt po prostu implementuje te akcje jako "Rzeczy do zrobienia" lub "Interakcja z" w scenach.

Aby utworzyć nową akcję wejściową, po prostu kliknij przycisk "Dodaj nową akcję" i wprowadź przyjazną nazwę tekstową tego, co reprezentuje. Następnie wystarczy wybrać oś (typ danych), do której ma zostać przekazana akcja, lub w przypadku kontrolerów fizycznych, do którego można dołączyć fizyczny typ danych wejściowych, na przykład:

Ograniczenie osi Typ danych Opis Przykładowe użycie
Brak Brak danych Używane do pustej akcji lub zdarzenia Wyzwalacz zdarzenia
Nieprzetworzone (zarezerwowane) object Zarezerwowane do użytku w przyszłości Nie dotyczy
Digital bool Wartość logiczna typu włączonego lub wyłączonego Przycisk kontrolera
Pojedyncza oś float Pojedyncza wartość danych precyzji Dane wejściowe z zakresem, np. wyzwalacz
Podwójna oś Vector2 Data podwójnego typu zmiennoprzecinkowego dla wielu osi Dpad lub kciuk
Trzy położenie narzędzia Dof Wektor3 Dane typu pozycyjnego z 3 osi zmiennoprzecinkowej Tylko kontroler położenia 3D
Trzy obracanie dof Quaternion Wejście obrotowe tylko z 4 osiami zmiennoprzecinkowymi Kontroler stylu trzech stopni, np. kontroler Oculus Go
Sześć dof Mixed Reality Pose (Vector3, Quaternion) Wejście stylu położenia i rotacji zarówno ze składnikami Vector3, jak i Quaternion Kontroler ruchu lub wskaźnik

Zdarzenia korzystające z akcji wejściowych nie są ograniczone do kontrolerów fizycznych i mogą być nadal używane w projekcie w celu wygenerowania nowych akcji przez efekty środowiska uruchomieniowego.

Uwaga

Akcje wejściowe są jednym z niewielu składników, które nie są edytowalne w czasie wykonywania, są tylko konfiguracją czasu projektowania. Ten profil nie powinien zostać zamieniony, podczas gdy projekt jest uruchomiony ze względu na zależność struktury (i projektów) od identyfikatora wygenerowanego dla każdej akcji.

Profil konfiguracji

Reguły akcji wejściowych

Reguły akcji wejściowych umożliwiają automatyczne tłumaczenie zdarzenia zgłoszonego dla jednej akcji wejściowej w ramach różnych akcji na podstawie jej wartości danych. Są one bezproblemowo zarządzane w ramach platformy i nie generują żadnych kosztów wydajności.

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

Można to również zrobić we własnym kodzie. Jednak, widząc, że był to bardzo typowy wzorzec, struktura zapewnia mechanizm wykonywania tego "gotowego do użycia"

Reguły akcji wejściowej 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. Możesz zamapować akcję osi podwójnej na inną akcję osi podwójnej, ale nie na akcję cyfrową lub brakową.

Profil reguł akcji wejściowych


Konfiguracja wskaźnika

Wskaźniki służą do kierowania interakcyjnością w scenie z dowolnego urządzenia wejściowego, dając zarówno kierunek, jak i test trafienia z dowolnym obiektem w scenie (który ma dołączony zderzacz lub jest składnikiem interfejsu użytkownika). Wskaźniki są domyślnie automatycznie konfigurowane dla kontrolerów, zestawów nagłownych (spojrzenie /koncentracja) i myszy / dotyku wejścia.

Wskaźniki można również wizualizować w aktywnej scenie przy użyciu jednego z wielu składników linii dostarczonych przez Mixed Reality Toolkit lub dowolny z własnych, jeśli implementują interfejs MRTK IMixedRealityPointer.

Profil wskaźnika wejściowego
  • Zakres wskazujący: określa globalny zakres wskazywania dla wszystkich wskaźników, w tym spojrzenia.
  • Wskazywanie maski warstwy Raycast: określa, które warstwy wskaźniki będą promieniować przeciwko.
  • Debugowanie promieni wskazujących rysowanie: pomocnik debugowania do wizualizowania promieni używanych do raycastingu.
  • Debugowanie kolorów promieni wskazujących na rysowanie: zestaw kolorów do użycia do wizualizacji.
  • Spojrzenie kursor prefab: ułatwia określenie globalnego kursora spojrzenia dla każdej sceny.

Istnieje dodatkowy przycisk pomocnika, który umożliwia szybkie przejście do dostawcy spojrzenia, aby w razie potrzeby zastąpić niektóre określone wartości dla funkcji Gaze.


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 dotyczy tylko urządzenia HoloLens i zostanie rozszerzona dla innych systemów, ponieważ zostaną one dodane do zestawu narzędzi w przyszłości (nie ma jeszcze dat).

Konfiguracja gestu

Polecenia mowy

Podobnie jak w przypadku gestów, niektóre platformy środowiska uruchomieniowego zapewniają również inteligentną funkcję zamiany 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 elementów:

  1. Ustawienia ogólne — ustawienie "Zachowanie podczas uruchamiania początkowego" na uruchamianie automatyczne lub uruchamianie ręczne określa, czy zainicjować element KeywordRecognizer podczas uruchamiania systemu wejściowego, czy pozwolić projektowi zdecydować, kiedy zainicjować element KeywordRecognizer. Element "Recognition Confidence Level" służy do inicjowania interfejsu API Słowa kluczowegoRecognizer aparatu Unity
  2. Polecenia mowy — rejestruje "wyrazy" i tłumaczy 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ę podczas uruchamiania na platformach Windows 10, np. HoloLens i Windows 10 desktop, i zostanie rozszerzony dla innych systemów, ponieważ zostaną dodane do zestawu narzędzi MRTK w przyszłości (bez dat).

Ekrany profilu konfiguracji

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, który jest obecnie rozpoznawany przez zestaw narzędzi.

Mapowanie kontrolera

Zestaw narzędzi MRTK zapewnia domyślną konfigurację dla następujących kontrolerów/systemów:

  • Mysz (w tym obsługa myszy przestrzennej 3D)
  • Telefony z ekranem
  • Kontrolery xbox
  • kontrolery Windows Mixed Reality
  • Gesty holoLens
  • Kontrolery różdżek HTC Vive
  • Kontrolery Oculus Touch
  • Oculus Remote Controller
  • Ogólne urządzenia OpenVR (tylko użytkownicy zaawansowani)

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

Ekran konfiguracji kontrolera

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


Ustawienia wizualizacji kontrolera

Oprócz mapowania kontrolera dostępny jest oddzielny profil konfiguracji, który umożliwia dostosowanie sposobu prezentowania kontrolerów w scenach.

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

Zestaw narzędzi MRTK obsługuje również natywne modele kontrolera zestawu SDK dla Windows Mixed Reality i openVR. Są one ładowane jako obiekty GameObject w scenie i umieszczone przy użyciu śledzenia kontrolera platformy.

Jeśli reprezentacja kontrolera w scenie musi zostać zrównoważona z pozycji kontrolera fizycznego, po prostu ustaw to przesunięcie względem prefab modelu kontrolera (np. ustawienie pozycji przekształcenia prefab kontrolera z położeniem przesunięcia).

Profil wizualizacji

Narzędzia edytora

Następujące narzędzia działają tylko w edytorze i są przydatne do poprawy produktywności deweloperskiej.

Narzędzia konfiguracji edytora MRTK

Inspektorzy usług

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

Inspektorzy usług

Inspektorzy usług można włączyć, zaznaczając pozycję Użyj inspektorów usług w obszarze Ustawienia edytora w profilu konfiguracji.

Moduł renderowania buforu głębokości

Udostępnianie buforu głębokości niektórym platformom rzeczywistości mieszanej może poprawić stabilizację hologramu. Na przykład platforma Windows Mixed Reality może zmodyfikować renderowaną scenę na piksel, aby uwzględnić subtelne ruchy głowy podczas renderowania ramki. Jednak te techniki wymagają buforów głębokości z dokładnymi danymi, aby dowiedzieć się, gdzie i jak daleko jest geometria od użytkownika.

Aby zapewnić, że scena renderuje wszystkie niezbędne dane do buforu głębokości, deweloperzy mogą przełączać funkcję Bufor głębokości renderowania w obszarze Ustawienia edytora w profilu konfiguracji. Spowoduje to przejście do bieżącego buforu głębokości i renderowanie go jako koloru do widoku sceny przez zastosowanie efektu przetwarzania końcowego, DepthBufferRendererdo głównego aparatu.

Render Depth Buffer UtilityNiebieski cylindr w scenie ma materiał z ZWrite off, więc żadne dane głębokości nie są zapisywane

Zmienianie profilów w czasie wykonywania

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

  1. Przełącznik profilu inicjowania przed rozpoczęciem zestawu narzędzi MRTK: przed zainicjowaniem zestawu narzędzi MRTK, a profil staje się aktywny, zastępując profil nieumyślnie używany do włączania/wyłączania różnych funkcji na podstawie możliwości urządzenia. Jeśli na przykład środowisko działa w vr, które nie ma sprzętu do mapowania przestrzennego, prawdopodobnie nie ma sensu mieć włączonego składnika mapowania przestrzennego.
  2. Przełącznik profilu aktywnego: po uruchomieniu, po zainicjowaniu zestawu narzędzi MRTK, a profil stał się aktywny, zamieniając profil aktualnie używany w celu zmiany sposobu zachowania niektórych funkcji. Na przykład w aplikacji może istnieć określone środowisko podrzędne, które chce całkowicie usunąć wskaźniki z daleka.

Przełącznik profilu inicjowania przed narzędziem MRTK

Można to osiągnąć, dołączając element MonoBehaviour (przykład poniżej), który jest uruchamiany przed zainicjowaniem zestawu NARZĘDZI MRTK (tj. Awake()). Zwróć uwagę, że skrypt (tj. wywołanie SetProfileBeforeInitializationmetody ) musi zostać wykonany wcześniej niż MixedRealityToolkit skrypt, co można osiągnąć, ustawiając ustawienia Kolejność 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 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 urządzenia HoloLens 1, jeden dla vr, jeden dla HoloLens 2 itp.). Można użyć różnych innych wskaźników (np. https://docs.unity3d.com/ScriptReference/SystemInfo.html, lub tego, czy aparat jest nieprzezroczysty/przezroczysty), aby ustalić, który profil ma być ładowany.

Przełącznik profilu aktywnego

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

MixedRealityToolkit.Instance.ActiveProfile = profileToUse;

Uwaga podczas ustawiania ActiveProfile w czasie wykonywania zniszczenie aktualnie uruchomionych usług nastąpi po ostatnim lateUpdate() wszystkich usług, a wystąpienie i inicjowanie usług skojarzonych z nowym profilem nastąpi przed pierwszą aktualizacją wszystkich usług.

Zauważalne wahania aplikacji mogą wystąpić podczas tego procesu. Ponadto każdy skrypt o wyższym priorytecie niż MixedRealityToolkit skrypt może wprowadzić jego aktualizację przed prawidłowym skonfigurowaniem 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 pozostanie niezmieniony, zapewniając składniki interfejsu użytkownika aparatu Unity, które wymagają kanwy nadal działają po przełączeniu.

Zobacz też