Elastyczny system — MRTK2

Elastyczny system

Zestaw MRTK jest wyposażony w elastyczny system symulacji, który obejmuje szeroką gamę rozszerzalnych i elastycznych podklas, oferując powiązania dla 4-wymiarowych sprężyn kwaternionowych, 3-wymiarowych sprężyn objętościowych i prostych liniowych układów sprężynowych.

Obecnie następujące składniki zestawu narzędzi MRTK obsługujące menedżera elastycznych mogą korzystać z funkcji elastycznych:

Menedżer elastycznych

Elastyczny system2

Menedżer elastycznych procesów przeszedł przekształcenia i przekazuje je do systemu elastycznych.

Włączenie elastycznych składników niestandardowych można wykonać w dwóch krokach:

  1. Wywoływanie metody Initialize przy rozpoczęciu manipulowania, aktualizowanie systemu przy użyciu bieżącego przekształcenia hosta.
  2. Wykonywanie zapytań względem metody ApplyHostTransform za każdym razem, gdy obliczenia elastyczne powinny być wykonywane na zaktualizowanej transformacji docelowej.

Należy pamiętać, że elastyczne będą nadal symulować po zakończeniu manipulacji (za pośrednictwem pętli aktualizacji menedżera elastycznych). Aby zablokować zachowanie, funkcja automatycznej aktualizacji EnableElasticsUpdate może być ustawiona na wartość false.

Domyślnie składnik menedżera elastycznych, po dodaniu do obiektu gry, nie będzie miał włączone elastycznego typu transformacji. Pole Manipulation types using elastic feedback musi być włączone dla określonych typów przekształceń, aby utworzyć konfigurację i zakresy elastyczne dla wybranego typu.

Konfiguracje elastyczne

Podobnie jak w przypadku konfiguracji kontroli granic, menedżer elastyczny zawiera zestaw obiektów konfiguracji, które mogą być przechowywane jako obiekty skryptowe i współdzielone między różnymi wystąpieniami lub prefabami. Konfiguracje mogą być współużytkowane i połączone jako pojedyncze pliki zasobów skryptowych lub zagnieżdżone zasoby skryptowe wewnątrz prefab. Dalsze konfiguracje można również zdefiniować bezpośrednio w wystąpieniu bez łączenia z zewnętrznym lub zagnieżdżonym zasobem skryptowym.

Inspektor menedżera elastycznych wskaże, czy konfiguracja jest współużytkowana, czy wciśnięta w ramach bieżącego wystąpienia, wyświetlając komunikat w inspektorze właściwości. Ponadto wystąpienia udostępnione nie będą edytowalne bezpośrednio w oknie właściwości menedżera elastycznych, ale zamiast tego zasób, z którego łączy się, musi być bezpośrednio modfied, aby uniknąć przypadkowych zmian w konfiguracjach udostępnionych.

Menedżer elastics oferuje opcje obiektów konfiguracji dla następujących typów transformacji, z których każdy jest reprezentowany przez obiekt elastycznej konfiguracji:

  • Tłumaczenie elastyczne
  • Obracanie elastyczne
  • Skalowanie elastyczne

Obiekt konfiguracji elastycznej

Konfiguracja elastics definiuje właściwości tłumionego układu różnicowego oscylatora harmonicznego. Następujące właściwości można dostosować, ale są już dostarczane z zestawem wartości domyślnych w zestawie narzędzi MRTK:

  • Masa: masa symulowanego elementu oscylatora.
  • Ręka: stała sprężyny ręcznej.
  • EndK: stała sprężyna zakończenia.
  • SnapK: stała sprężyny punktu przyciągania.
  • Przeciągnij: współczynnik przeciągania/tłumika proporcjonalny do prędkości.

Zakresy elastyczne

Ustawienia zakresów elastycznych różnią się w zależności od typu manipulacji. Tłumaczenie i skalowanie są reprezentowane przez elastyczne zakresy woluminów , a rotacja jest reprezentowana przez elastyczny zakres kwaternionów.

Elastyczny zakres woluminu

Zakresy objętości definiują trójwymiarową przestrzeń, w której tłumiony oscylator harmoniczny może swobodnie poruszać się.

Elastyczne ograniczenia rozciągnięcia woluminu

  • StretchBounds: reprezentuje dolne granice elastycznej przestrzeni.
  • UseBounds: czy granice rozciągnięcia powinny być przestrzegane przez system. Jeśli wartość true, gdy bieżąca iteracja pozycji docelowej znajduje się poza granicami rozciągania, zostanie zastosowana siła końcowa.
  • Punkty przyciągania: punkty wewnątrz przestrzeni, do której system będzie przyciągać.
  • RepeatSnapPoints: powtarza przyciąganie wskazuje nieskończoność. Istniejące punkty przyciągania będą służyć jako modulo, gdzie rzeczywiste punkty przyciągania są mapowane na najbliższe liczby całkowite każdego punktu przyciągania.
  • SnapRadius: odległość, w której punkty przyciągania zaczynają zmuszać wiosnę.

Elastyczna siatka przyciągania woluminów

Zakres elastyczny quaternion

Zakresy quaternion definiują czterowymiarową przestrzeń rotacji, w której tłumiony oscylator harmoniczny jest wolny do obracania.

Przykład rotacji elastycznej

  • SnapPoints: euler kąty, do których system będzie przyciągać.
  • RepeatSnapPoints: powtarza punkty przyciągania. Istniejące punkty przyciągania będą służyć jako modulo, gdzie rzeczywiste punkty przyciągania są mapowane na najbliższe liczby całkowite każdego punktu przyciągania.
  • SnapRadius: kąt łukowy, w którym punkty przyciągania zaczynają wymuszać sprężynę w stopniach eulera.

Przykładowa scena elastics

Przykłady konfiguracji elastycznych można znaleźć w scenie ElasticSystemExample .

Przykładowa scena elastics