Walka o podjęcie decyzji o wdrożeniu mechaniki wspinania się po półce w platformówce 2D napędzanej fizyką. Jaki jest najlepszy sposób, aby to zrobić bez nadmiernego skomplikowania?
Jak dotąd rozumiem (hobbysta tutaj nie jest zawodowcem) istnieje kilka opcji, w tym:
Przyłóż kontrolowaną siłę do sztywnego ciała na osi y, aż pozycja korzenia znajdzie się tuż nad pozycją dłoni, a następnie zastosuj wystarczającą siłę na osi x, tak aby postać stała na platformie. Jednocześnie w jakiś sposób zsynchronizuj to z animacjami wspinania.
Uwagi : ruch jest tutaj łatwy i może być nawet kontrolowany przez pryzmatyczny przesuwny przegub, ale nie jestem pewien, jak utrzymałbym animacje (kręgosłup) w synchronizacji z ruchem.
Animacja ruchu głównego, która steruje położeniem korzenia postaci. Po ukończeniu teleportuj sztywne ciało i miej nadzieję, że box2d nadal będzie w stanie odpowiednio zareagować na każde zderzenie, jeśli jakieś obiekty spadną z nieba.
Uwagi : wydaje się, że animacja jest łatwiejsza, ale nie jestem pewien, czy napotkam jakiekolwiek problemy ze środowiskiem uruchomieniowym kręgosłupa, box2d lub nowszym w dół na platformach ruchomych i platformach o różnej wysokości.
Zastosuj wiązanie IK programowo na dłoniach, aby zablokować je w miejscu i przystąp do ręcznego obracania kości lub zastosuj małe wstępnie ustawione animacje (kilka klawiszy / ramek), jednocześnie przykładając wymaganą siłę do sztywnego ciała jednocześnie.
Uwagi : wydaje się, że dałoby to maksymalną kontrolę graczowi, ale wydaje mi się to skomplikowane do wdrożenia na moim poziomie, nie do końca pewny, od czego zacząć.
Z góry dziękuję za wszelkie uwagi!
FYI: Jest to silnik oparty na ECS (libgdx + ashley) z box2d. Chwytak półki jest już zaimplementowany jako osobny system, więc możemy założyć, że postać może już zwisać z półki o dowolnej wysokości.