Udostępnij za pośrednictwem


Menedżer ograniczeń — MRTK2

Menedżer ograniczeń umożliwia zastosowanie zestawu składników ograniczeń do przekształcenia. Można wziąć pod uwagę składniki typu TransformConstraint dołączone do obiektu gry. Domyślnie menedżer ograniczeń automatycznie zbiera wszystkie składniki ograniczenia dołączone do obiektu gry i zastosuje je do przetworzonych przekształceń. Jednak użytkownicy mogą zdecydować się na ręczne skonfigurowanie listy zastosowanych ograniczeń i zezwolenie na zastosowanie tylko podzestawu dołączonych ograniczeń.

Obecnie następujące elementy środowiska użytkownika zestawu narzędzi MRTK obsługują menedżera ograniczeń:

Właściwości i pola inspektora

Menedżer ograniczeń można obsługiwać w dwóch trybach:

  • Wybór ograniczeń automatycznych
  • Wybór ograniczeń ręcznych

Wybór ograniczeń automatycznych

Automatyczne zaznaczanie

Domyślny tryb menedżera ograniczeń, wybór ograniczeń automatycznych będzie zawierać listę wszystkich dołączonych składników ograniczeń, a także przejść do przycisków i przycisk dodawania ograniczenia.

Dodawanie ograniczenia do obiektu gry

Ten przycisk umożliwia dodanie składnika ograniczenia bezpośrednio z inspektora menedżera ograniczeń. Wszystkie typy ograniczeń w projekcie powinny być widoczne tutaj. Aby uzyskać więcej informacji, zobacz ograniczenia przekształcania .

Przejdź do składnika

Wszystkie ograniczenia znalezione w obiekcie wil są wymienione tutaj za pomocą przycisku Przejdź do składnika . Ten przycisk spowoduje przewinięcie inspektora do wybranego składnika ograniczenia, aby można było je skonfigurować.

Wybór ograniczeń ręcznych

Wybór ręczny

Jeśli menedżer ograniczeń jest ustawiony na tryb ręczny, tylko ograniczenia połączone na liście ograniczeń są przetwarzane i stosowane do przekształcenia. Wyświetlona lista będzie zawierać tylko wybrane ograniczenia użytkownika, a także przejść do przycisków lub opcji usuwania lub dodawania wpisów. Podczas włączania trybu ręcznego po raz pierwszy menedżer ograniczeń wypełni listę wszystkich dostępnych składników jako punktu wyjścia do wybierania dołączonych składników ograniczeń.

Usuń wpis

Spowoduje to usunięcie wpisu z wybranej ręcznie listy. Należy pamiętać, że ta opcja nie spowoduje usunięcia składnika ograniczenia z obiektu gry. Składniki ograniczeń należy zawsze usuwać ręcznie, aby upewnić się, że żaden inny składnik odwołujący się do tego składnika nie jest przypadkowo przerywany.

Dodaj wpis

Dodanie wpisu spowoduje otwarcie listy rozwijanej zawierającej wszystkie dostępne składniki ograniczenia, które nie znajdują się jeszcze na liście ręcznej. Klikając dowolne wpisy, które składnik zostaną dodane do zaznaczenia ręcznego ograniczenia.

Dodawanie nowego ograniczenia

Ta opcja spowoduje dodanie składnika wybranego typu do obiektu gry i dodanie nowo utworzonego składnika ograniczenia do listy ograniczeń ręcznych.

Przekształcanie ograniczeń

Ograniczenia mogą służyć do ograniczania manipulacji w jakiś sposób. Na przykład niektóre aplikacje mogą wymagać rotacji, ale także wymagają, aby obiekt pozostał w poziomie. W takim przypadku RotationAxisConstraint można dodać obiekt i użyć go do ograniczenia obrotu do obrotu osi y. Zestaw narzędzi MRTK zapewnia szereg ograniczeń, z których wszystkie zostały opisane poniżej.

Istnieje również możliwość zdefiniowania nowych ograniczeń i użycia ich do tworzenia unikatowych zachowań manipulowania, które mogą być potrzebne dla niektórych aplikacji. W tym celu utwórz skrypt dziedziczony z TransformConstraint i implementujący właściwość abstrakcyjną ConstraintType i metodę abstrakcyjną ApplyConstraint . Po dodaniu nowego ograniczenia do obiektu powinno to ograniczać manipulowanie w sposób, w jaki został zdefiniowany. To nowe ograniczenie powinno również być wyświetlane w automatycznym zaznaczeniu menedżera ograniczeń lub dodaniu listy rozwijanej wpisu w trybie ręcznym.

Wszystkie ograniczenia udostępniane przez zestaw narzędzi MRTK mają następujące właściwości:

Typ dłoni

Określa, czy ograniczenie jest używane do jednej ręki, dwóch rękojmi lub obu rodzajów manipulacji. Ponieważ ta właściwość jest flagą, można wybrać obie opcje.

  • Jedna ręka: Ograniczenie będzie używane podczas jednej manipulacji ręką, jeśli zostanie wybrane.
  • Dwa wręczone: Ograniczenie będzie używane podczas dwóch wręczanych manipulacji w przypadku wybrania.

Typ zbliżenia

Określa, czy ograniczenie jest używane do manipulowania w pobliżu, daleko lub w obu rodzajach manipulacji. Ponieważ ta właściwość jest flagą, można wybrać obie opcje.

  • Blisko: ograniczenie będzie używane podczas bliskiej manipulacji, jeśli zostanie wybrane.
  • Daleko: Ograniczenie będzie używane podczas dalekiej manipulacji, jeśli wybrano.

FaceUserConstraint

Użytkownik rozpoznawania twarzy z ograniczeniem

Po dołączeniu tego ograniczenia do obiektu rotacja będzie ograniczona, dzięki czemu obiekt będzie zawsze musiał zmierzyć się z użytkownikiem. Jest to przydatne w przypadku slates lub paneli. Właściwości dla FaceUserConstraint programu są następujące:

Twarz z dala

Obiekt stoi z dala od użytkownika, jeśli ma wartość true.

FixedDistanceConstraint

Ograniczenia stałe odległości

To ograniczenie naprawia odległość między manipulowanym obiektem a innym przekształceniem obiektu podczas manipulowania rozpoczęciem. Jest to przydatne w przypadku zachowania, takiego jak naprawianie odległości od manipulowanego obiektu do przekształcenia głowy. Właściwości dla FixedDistanceConstraint programu są następujące:

Przekształcanie ograniczeń

Jest to druga transformacja, do którego manipulowany obiekt będzie miał stałą odległość. Domyślnie zmienia się aparat.

FixedRotationToUserConstraint

Stała rotacja

To ograniczenie naprawia względną rotację między użytkownikiem a manipulowanym obiektem podczas manipulowania nim. Jest to przydatne w przypadku slates lub paneli, ponieważ gwarantuje, że manipulowany obiekt zawsze pokazuje tę samą twarz użytkownikowi, jak to miało się na początku manipulacji. Element FixedRotationToUserConstraint nie ma żadnych unikatowych właściwości.

FixedRotationToWorldConstraint

Stała rotacja na świecie

To ograniczenie naprawia globalną rotację manipulowanego obiektu podczas manipulowania nim. Może to być przydatne w przypadkach, gdy żadna rotacja nie powinna być przekazywana przez manipulowanie. Element FixedRotationToWorldConstraint nie ma żadnych unikatowych właściwości:

MaintainApparentSizeConstraint

Obsługa widocznego rozmiaru

Gdy to ograniczenie jest dołączone do obiektu, niezależnie od tego, jak daleko obiekt pochodzi od użytkownika, zachowa ten sam widoczny rozmiar dla użytkownika (tj. zajmie to ten sam odsetek pola widoku użytkownika). Może to służyć do zapewnienia, że tablica lub panel tekstowy pozostaje czytelny podczas manipulowania. Element MaintainApparentSizeConstraint nie ma żadnych unikatowych właściwości:

MoveAxisConstraint

Oś przenoszenia ograniczeń

To ograniczenie może służyć do naprawy osi, w których można przenieść manipulowany obiekt. Może to być przydatne do manipulowania obiektami na powierzchni płaszczyzny lub wzdłuż linii. Właściwości dla MoveAxisConstraint programu są następujące:

Ograniczenie ruchu

Określa osie, które mają zapobiegać ruchowi. Domyślnie te osie będą globalne, a nie lokalne, ale można je zmienić poniżej. Ponieważ ta właściwość jest flagą, można wybrać dowolną liczbę opcji.

  • Oś X: Ruch wzdłuż osi x jest ograniczony w przypadku wybrania.
  • Oś Y: ruch wzdłuż osi y jest ograniczony w przypadku wybrania.
  • Oś Z: Ruch wzdłuż osi z jest ograniczony w przypadku wybrania.

Używanie miejsca lokalnego do ograniczenia

Będzie ograniczać w stosunku do lokalnych osi transformacji obiektu, jeśli jest to prawda. Domyślnie fałsz.

RotationAxisConstraint

Oś obrotu ograniczeń

To ograniczenie może służyć do naprawiania osi, które można obracać za pomocą manipulowanego obiektu. Może to być przydatne do utrzymania manipulowanego obiektu w pozycji pionowej, ale nadal zezwala na rotacje osi y, na przykład. Właściwości dla RotationAxisConstraint programu są następujące:

Ograniczenie rotacji

Określa osie, które mają zapobiegać rotacji. Domyślnie te osie będą globalne, a nie lokalne, ale można je zmienić poniżej. Ponieważ ta właściwość jest flagą, można wybrać dowolną liczbę opcji.

  • Oś Y: obrót osi y jest ograniczony w przypadku wybrania.
  • Oś Z: Rotacja osi z jest ograniczona w przypadku wybrania.
  • Oś X: Rotacja osi x jest ograniczona w przypadku wybrania.

Używanie miejsca lokalnego do ograniczenia

Będzie ograniczać w stosunku do lokalnych osi transformacji obiektu, jeśli jest to prawda. Domyślnie fałsz.

MinMaxScaleConstraint

Min Max Constatint

To ograniczenie umożliwia ustawienie minimalnych i maksymalnych wartości dla skali manipulowanego obiektu. Jest to przydatne w przypadku uniemożliwiania użytkownikom skalowania obiektu za mały lub zbyt duży. Właściwości dla MinMaxScaleConstraint programu są następujące:

Minimalna skala

Minimalna wartość skalowania podczas manipulowania.

Skalowanie maksymalne

Maksymalna wartość skalowania podczas manipulowania.

Względem stanu początkowego

Jeśli wartość true, powyższe wartości zostaną zinterpretowane jako względem początkowej skali obiektów. W przeciwnym razie zostaną one zinterpretowane jako wartości skali bezwzględnej.