Správce omezení

Správce omezení umožňuje použít sadu součástí omezení na transformaci. TransformConstraintJe možné vzít v úvahu součásti typu, které jsou připojeny k objektu hry. Ve výchozím nastavení bude správce omezení automaticky shromažďovat všechny součásti omezení připojené k objektu hry a aplikovat je na zpracovávané transformace. Uživatelé se ale můžou rozhodnout nakonfigurovat seznam použitých omezení ručně a povolit použití jenom podmnožiny připojených omezení.

Správce omezení teď podporuje následující prvky uživatelského prostředí MRTK:

Vlastnosti a pole kontroly

Správce omezení lze provozovat ve dvou režimech:

  • Automatický výběr omezení
  • Výběr ručního omezení

Automatický výběr omezení

Automatický výběr

Výchozím režimem Správce omezení, automatického výběru omezení, bude obsahovat seznam všech připojených součástí omezení a také Přejít na tlačítka a tlačítko Přidat omezení.

Přidat omezení do objektu herního zařízení

Toto tlačítko umožňuje přidat komponentu omezení přímo z inspektora správce omezení. Tady by měly být viditelné všechny typy omezení v projektu. Další informace najdete v tématu omezení transformace .

Přejít na součást

Všechna omezení nalezená na objektu probíhal být uvedena zde pomocí tlačítka Přejít na komponentu . Toto tlačítko způsobí, že se inspektor posuňte na vybranou součást omezení, aby ji bylo možné nakonfigurovat.

Výběr ručního omezení

Ruční výběr

Pokud je správce omezení nastavený na ruční režim, zpracují se a aplikují se na transformaci jenom ta omezení, která jsou propojená v seznamu omezení. Zobrazený seznam bude zobrazovat jenom omezení vybraná uživatelem a také Přejít na tlačítka nebo možnosti pro odebrání nebo přidání položek. Při prvním povolování ručního režimu vytvoří správce omezení seznam všechny dostupné komponenty jako výchozí bod pro výběr připojených součástí omezení.

Odebrat položku

Tím se položka odebere z ručně vybraného seznamu. Všimněte si, že tato možnost neodebere komponentu omezení z objektu Game. Komponenty omezení je vždy nutné odebrat ručně, aby nedošlo k náhodnému narušení jakékoli jiné součásti odkazující na tuto součást.

Přidat položku

Přidání položky otevře rozevírací seznam se všemi dostupnými součástmi omezení, které ještě nejsou v seznamu ručního seznamu. Kliknutím na libovolnou položku, kterou součást přidá do výběru ručních omezení.

Přidat nové omezení

Tato možnost přidá do objektu hry komponentu vybraného typu a přidá nově vytvořenou součást omezení do seznamu ručních omezení.

Omezení transformace

Omezení lze použít k omezení manipulace nějakým způsobem. Některé aplikace mohou například vyžadovat rotaci, ale také vyžadují, aby objekt zůstal vzhůru. V takovém případě RotationAxisConstraint lze přidat do objektu a použít k omezení otočení na otočení osy y. MRTK poskytuje několik omezení, která jsou popsána níže.

Je také možné definovat nová omezení a používat je k vytvoření jedinečného chování manipulace, které může být pro některé aplikace nutné. Chcete-li to provést, vytvořte skript, který dědí z TransformConstraint a implementuje abstraktní ConstraintType vlastnost a abstraktní ApplyConstraint metodu. Při přidání nového omezení objektu by měla být potřeba omezit manipulaci způsobem, který byl definován. Toto nové omezení by se mělo také zobrazit v nabídce Automatický výběr automatického výběru nebo Přidat položku v ručním režimu.

Všechna omezení, která poskytuje MRTK, sdílí následující vlastnosti:

Typ ruky

Určuje, zda je omezení použito pro jednu ruku, dvou ruku nebo oba druhy manipulace. Vzhledem k tomu, že tato vlastnost je příznak, lze vybrat obě možnosti.

  • Jedna rukad: omezení se použije při jedné manipulaci s jednou, pokud je vybraná.
  • Po dvou rukou: omezení bude použito při dvojí manipulaci, pokud je vybrána možnost.

Typ blízkosti

Určuje, zda je omezení použito pro blízko, daleko nebo pro druhy manipulace. Vzhledem k tomu, že tato vlastnost je příznak, lze vybrat obě možnosti.

  • Blízko: při výběru se použije omezení v blízkosti manipulace.
  • Daleko: při výběru se použije omezení při daleko manipulacich.

FaceUserConstraint

Uživatel s omezením – Face

Pokud je toto omezení připojeno k objektu, rotace bude omezena tak, aby objekt vždy měl na uživateli plochu. To je užitečné pro SLAT nebo panely. Vlastnosti pro FaceUserConstraint jsou následující:

Obličej – pryč

Objekt od uživatele od uživatele, pokud má hodnotu true.

FixedDistanceConstraint

Pevná vzdálenost omezení

Toto omezení opravuje vzdálenost mezi manipulovatým objektem a další transformací objektu při spuštění manipulace. To je užitečné pro chování, jako je například oprava vzdálenosti od manipulovat s objektem po transformaci Head. Vlastnosti pro FixedDistanceConstraint jsou následující:

Transformace omezení

To je druhá transformace, na kterou bude manipulovat s objektem pevné vzdálenosti. Výchozím nastavením je transformace kamery.

FixedRotationToUserConstraint

Pevné otočení

Toto omezení opravuje relativní otočení mezi uživatelem a manipulovatým objektem při manipulaci. To je užitečné pro SLAT nebo panely, protože zajišťuje, že manipulace s objektem vždy zobrazuje stejnou plošku uživateli, jako by byl na začátku manipulace. FixedRotationToUserConstraintNeobsahuje žádné jedinečné vlastnosti.

FixedRotationToWorldConstraint

Pevné otočení na světě

Toto omezení opravuje globální otočení zpracovávaného objektu při jeho manipulaci. To může být užitečné v případech, kdy by se žádná rotace neúčastnila manipulací. FixedRotationToWorldConstraintNeobsahuje žádné jedinečné vlastnosti:

MaintainApparentSizeConstraint

Zachovat zřejmou velikost

Pokud je toto omezení připojeno k objektu bez ohledu na to, jak daleko je objekt od uživatele, bude mít stejnou zřejmou velikost pro uživatele (to znamená, že bude mít stejnou část pole zobrazení uživatele). To se dá použít k zajištění, aby při práci zůstala čitelná nebo textový panel čitelný. MaintainApparentSizeConstraintNeobsahuje žádné jedinečné vlastnosti:

MoveAxisConstraint

Osa přesunutí omezení

Toto omezení lze použít k opravě, na kterých osách lze přesunout manipulovatý objekt. To může být užitečné při manipulaci s objekty přes povrch roviny nebo podél čáry. Vlastnosti pro MoveAxisConstraint jsou následující:

Omezení při přesunu

Určuje, na které osy se má zabránit přesun. Ve výchozím nastavení budou tyto osy globální, nikoli místní, ale můžete je změnit níže. Vzhledem k tomu, že tato vlastnost je příznak, lze vybrat libovolný počet možností.

  • Osa x: při výběru je pohyb podél osy X omezen.
  • Osa y: pohyb podél osy Y je v případě výběru omezen.
  • Osa z: Pokud je vybraná, přesun podél osy z je omezen.

Použít místní prostor pro omezení

Omezí relativní vzhledem k místním transformačním ose objektu, pokud má hodnotu true. Výchozí hodnota je false.

RotationAxisConstraint

Osa rotace omezení

Toto omezení lze použít k opravě, které osy lze otáčet, aby bylo možné manipulovat s objektem. To může být užitečné pro udržení navýšení manipulace s objektem, ale stále umožňuje otočení osy y. Vlastnosti pro RotationAxisConstraint jsou následující:

Omezení při otočení

Určuje, na kterých osách se má zabránit otočení. Ve výchozím nastavení budou tyto osy globální, nikoli místní, ale můžete je změnit níže. Vzhledem k tomu, že tato vlastnost je příznak, lze vybrat libovolný počet možností.

  • Osa y: Pokud je vybraná, je rotace kolem osy y omezená.
  • Osa z: Pokud je vybraná, je rotace kolem osy z omezená.
  • Osa x: Pokud je vybraná, je rotace kolem osy x omezená.

Použít místní prostor pro omezení

Omezí relativní vzhledem k místním transformačním ose objektu, pokud má hodnotu true. Výchozí hodnota je false.

MinMaxScaleConstraint

Minimální počet Constatint

Toto omezení umožňuje nastavit minimální a maximální hodnoty pro měřítko manipulace s objektem. To je užitečné, když uživatelům bráníte v škálování objektu, který je příliš malý nebo příliš velký. Vlastnosti pro MinMaxScaleConstraint jsou následující:

Minimální měřítko

Minimální hodnota měřítka během manipulace.

Maximální velikost

Maximální hodnota měřítka během manipulace.

Relativní ke počátečnímu stavu

Pokud má hodnotu true, hodnoty výše se budou interpretovat jako relativní ke počátečnímu měřítku objektů. Jinak budou interpretovány jako absolutní hodnoty stupnice.