Elastický systém

Elastický systém

MRTK se dodává s elastickým simulačním systémem, který zahrnuje širokou škálu rozšiřitelných a flexibilních podtříd, které nabízejí vazby pro 4rozměrné kvaternionové grafy, 3dimenzionální svazky a jednoduché lineární springové systémy.

V současné době mohou elastické funkce využívat následující komponenty MRTK, které podporují elastického manažera:

Elastický manažer

Elastic System2

Procesy elastického manažera předaly transformace a předaly je do elastického systému.

Elastického povolení pro vlastní komponenty je možné dosáhnout dvěma kroky:

  1. Volání metody Initialize při spuštění manipulace a aktualizace systému pomocí transformace aktuálního hostitele.
  2. Dotazování ApplyHostTransform pokaždé, když by se měl provést výpočet elastického výpočtu s aktualizovanou cílovou transformací.

Mějte na vědomí, že elastické zpracování bude i nadále simulovat po ukončení manipulace (prostřednictvím aktualizační smyčky elastického manažera). Pokud chcete toto chování zablokovat, můžete nastavit automatickou aktualizaci Elastics EnableElasticsUpdate na hodnotu false.

Ve výchozím nastavení nebude mít komponenta elastického manažera při přidání do herního objektu povolenou elastickou velikost pro žádný typ transformace. Pole musí být povolené pro konkrétní typy transformací, aby se pro vybraný typ Manipulation types using elastic feedback vytvořila elastická konfigurace a rozsahy.

Elastické konfigurace

Podobně jako u konfigurací ovládacích prvekmeze nabízí elastický správce sadu objektů konfigurace, které lze uložit jako skriptovatelné objekty a sdílet mezi různými instancemi nebo předfabami. Konfigurace je možné sdílet a propojit buď jako jednotlivé skriptovatelné soubory prostředků, nebo vnořené skriptovatelné prostředky uvnitř předfád. Další konfigurace je také možné definovat přímo v instanci bez propojení s externím nebo vnořeným skriptovatelným assetem.

Inspektor elastického manažera bude indikovat, jestli je konfigurace sdílená nebo inlinovaná jako součást aktuální instance, a to zobrazením zprávy v inspektoru vlastností. Sdílené instance navíc nebude možné upravovat přímo v samotném okně vlastností elastického správce, ale místo toho musí být prostředek, na který je odkazován, přímo upraven, aby nedošlo k náhodným změnám sdílených konfigurací.

Elastický správce nabízí možnosti objektů konfigurace pro následující typy transformací, z nichž každý je reprezentovaný objektem elastické konfigurace:

  • Elastický překlad
  • Rotation Elastic
  • Škálování elastických ů

Objekt elastické konfigurace

Elastická konfigurace definuje vlastnosti pro zašedlou oscillatorový rozdílový systém. Následující vlastnosti je možné upravit, ale v MRTK už mají sadu výchozích hodnot:

  • Hmotnost:hmotnost simulovaného prvku oscilátoru.
  • HandK:ruční springová konstanta.
  • EndK:konstanta koncového cap springu.
  • SnapK:konstanta bodu přichycení.
  • Přetažení:faktor přetahování a zatažení, úměrný rychlosti.

Elastické rozsahy

Nastavení elastických rozsahů se liší v závislosti na typu manipulace. Překlad a škálování jsou reprezentovány elastickými rozsahy svazků a rotace je reprezentována kvaternion elastickým rozsahem.

Elastický rozsah svazků

Rozsahy svazků definují trojrozměrný prostor, ve kterém se poháněný oscillator může volně přesouvat.

Elastické meze roztažení svazku

  • StretchBounds: představuje dolní meze elastického prostoru.
  • UseBounds: Určuje, jestli má systém dodržovat roztažené meze. Pokud je true, použije se při aktuální iteraci cílové pozice mimo meze roztažení koncová síla.
  • SnapPoints: body uvnitř prostoru, ke kterému se bude systém přichytit.
  • RepeatSnapPoints: Opakuje body přichycení ke nekonečnu. Existující body přichycení budou sloužit jako modulo, kde jsou skutečné body přichycení mapovány na nejbližší celočíselné násobky každého bodu přichycení.
  • SnapRadius:vzdálenost, ve které body přichycení začínají vynucovat tání jara.

Elastická mřížka přichycení svazku

Elastický rozsah quaternion

Rozsahy quaternion definují čtyřrozměrný prostor pro rotaci, ve kterém se vychýlovaný oscillator může volně střídat.

Příklad elastické rotace

  • SnapPoints: eulerové úhly, ke kterým se bude systém přichytit.
  • RepeatSnapPoints: Opakuje body přichycení. Existující body přichycení budou sloužit jako modulo, kde jsou skutečné body přichycení mapovány na nejbližší celočíselné násobky každého bodu přichycení.
  • SnapRadius:úhel oblouku, ve kterém body přichycení začínají vynucovat zorné pole ve stupních Euler.

Příklad scény Elastics

Příklady elastických konfigurací najdete ve ElasticSystemExample scéně.

Příklad scény Elastics