Elastický systém – MRTK2

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, nabízí vazby pro 4-rozměrné kvaternionové pružiny, 3-rozměrné objemové pružiny a jednoduché lineární pružinové systémy.

V současné době můžou funkce elastics využívat následující komponenty MRTK, které podporují správce elastics :

Správce elastické služby

Elastický systém 2

Procesy elastického správce předávají transformace a předávají je do elastického systému.

Povolení elastických prostředků pro vlastní komponenty je možné provést dvěma kroky:

  1. Volání metody Initialize při zahájení manipulace, aktualizace systému s aktuální transformací hostitele.
  2. Dotazování ApplyHostTransform vždy, když by se měl provést elastický výpočet pro aktualizovanou cílovou transformaci.

Všimněte si, že elastická data budou po ukončení manipulace pokračovat v simulaci (prostřednictvím aktualizační smyčky elastického správce). Chcete-li blokovat toto chování, elastics auto update EnableElasticsUpdate může být nastavena na false.

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

Konfigurace elastické služby

Podobně jako konfigurace řízení hranic se elastický správce dodává se sadou objektů konfigurace, které lze uložit jako skriptovatelné objekty a sdílet mezi různými instancemi nebo předfaby. Konfigurace lze sdílet a propojit buď jako jednotlivé soubory skriptovatelných prostředků, nebo jako vnořené skriptovatelné prostředky uvnitř předem připravených prostředků. 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 správce bude indikovat, jestli je konfigurace sdílená nebo vložená jako součást aktuální instance zobrazením zprávy v inspektoru vlastností. Kromě toho nebude možné sdílené instance upravovat přímo v samotném okně vlastností správce elastics, ale místo toho se musí prostředek, na který odkazuje, upravit přímo, aby se zabránilo náhodným změnám ve sdílených konfiguracích.

Elastics Manager nabízí možnosti objektů konfigurace pro následující typy transformace, které jsou reprezentované objektem elastické konfigurace:

  • Elastické překlady
  • Elastické otáčení
  • Elastické škálování

Objekt elastické konfigurace

Elastická konfigurace definuje vlastnosti pro tlumený harmonický diferenciální oscilátor. Následující vlastnosti se dají upravit, ale v MRTK už se dodávají se sadou výchozích hodnot:

  • Hmotnost: hmotnost simulovaného prvku oscilátoru.
  • HandK: konstanta ruční pružiny.
  • EndK: konstanta pružiny koncového zakončení.
  • SnapK: pružinová konstanta bodu přichycení.
  • Přetažení: faktor tažení/tlumiče, úměrný rychlosti.

Rozsahy elastics

Nastavení rozsahů elastické 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 quaternion elastický rozsah.

Rozsah elastického svazku

Objemové rozsahy definují trojrozměrný prostor, ve kterém se tlumený harmonický oscilátor může volně pohybovat.

Elastický objem – roztažené hranice

  • StretchBounds: představuje dolní hranice elastického prostoru.
  • UseBounds: určuje, jestli má systém respektovat hranice roztažení. Pokud je true, pokud je aktuální iterace cílové pozice mimo hranice roztažení, použije se koncová síla.
  • SnapPoints: body uvnitř prostoru, ke kterému se systém přichytí.
  • RepeatSnapPoints: Opakuje body přichycení k nekonečnu. Existující body přichycení budou sloužit jako modulo, kde se skutečné body přichycení mapují na nejbližší celočíselné násobky každého bodu přichycení.
  • SnapRadius: vzdálenost, ve které body přichycení začínají vynucovat pružinu.

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

Elastický rozsah quaternion

Kvaternionové rozsahy definují čtyřrozměrný rotační prostor, ve kterém se tlumený harmonický oscilátor může volně otáčet.

Příklad elastického otočení

  • SnapPoints: úhly, ke kterým systém přichytí.
  • RepeatSnapPoints: Opakuje body přichycení. Existující body přichycení budou sloužit jako modulo, kde se skutečné body přichycení mapují na nejbližší celočíselné násobky každého bodu přichycení.
  • SnapRadius: úhel oblouku, pod kterým body přichycení začínají vynucovat pružinu v eulerových stupních.

Ukázková scéna s elastici

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

Ukázková scéna s elastici