Pracuję nad grą, w której kontrolujesz trebusz, aby rzucać piłki przeciwnikowi.
To jak gra o nazwie „Medieval Siege”. Kiedy trebusz macha ręką, gracz musi wykorzystać najlepszy moment, aby nacisnąć przycisk i puścić piłkę. Następnie piłka będzie latać pod kątem stycznym. Mój problem polega obecnie na tym, że ramię trebusza kołysze się zbyt szybko, aby gracz mógł wykorzystać odpowiedni moment. Tymczasem musi być tak szybko, w przeciwnym razie nie może rzucić wystarczająco daleko. I jest mały sznurek łączący piłkę z ramieniem trebuszowym, jeśli ramię huśta się zbyt wolno, piłka po prostu zwisa na sznurku, gdy ramię się porusza.
Rozwiązuję problem, zmieniając rozmiar kroku, za każdym razem, gdy ramię się kołysze, zmieniam rozmiar kroku z 1/60 na 1/200. A kiedy gracz wypuści piłkę, wraca do 1/60.
Działa to całkiem dobrze, z wyjątkiem mojej gry dla wielu graczy z obsługą sieci. Tak więc zmiana kroku może powodować problemy.
Innym rozwiązaniem, które mogę wymyślić, jest umożliwienie powolnego huśtania się, ale kiedy gracz wypuszcza piłkę, ręcznie zwiększam prędkość piłki, jednocześnie utrzymując jej kierunek. Naprawdę nie podoba mi się to rozwiązanie, ponieważ wygląda na fałszywe i nadal mam problem z tym, że piłka wisi na sznurku, chyba że zrobię sznurek bardzo bardzo krótki.
Proszę rzucić nieco światła na to, dzięki!
EDYTOWAĆ
Dzięki za wkład wszystkich, rozwiązuję problem, powodując powolne ruchy ramienia, a kiedy gracz wypuszcza piłkę, chwytam prędkość piłki i dwa razy. Wygląda dokładnie tak samo jak zmiana rozmiaru kroku. Jest jeszcze jedna rzecz, którą muszę zrobić. Ponieważ ramię kołysze się naprawdę wolno, piłka po prostu zwisa na końcu ramienia zamiast się kołysać. Rozwiązałem to poprzez zastosowanie siły równej sile grawitacji działającej na piłkę podczas i tylko podczas wahania. Potem już się nie zwisa, ale huśta się razem z ramieniem.
Odpowiedź @MrCranky jest szczegółowa i wygląda na wykonalną, więc bym ją zaakceptował. :)