Próbuję przenieść żaglowiec do miejsca, w którym kliknąłem myszką. ruch ten powinien być realistyczny (wiosło z tyłu, w którym porusza się statek), więc jeśli lewy przycisk myszy zostanie kliknięty, a przed statkiem statek powinien następnie przejść tam zakrzywioną ścieżką, aby uzyskać właściwy obrót
Byłbym zadowolony, gdyby ktoś mógł mi pomóc z tym problemem, dziękuję
unity
movement
movement-prediction
DavidT
źródło
źródło
Odpowiedzi:
Zobacz tę stronę
źródło
Jako proste rozwiązanie, jak już powiedziałem w komentarzu, możesz wypróbować to podejście:
rozważ fazę, w której skierujesz statek w kierunku celu, w tej fazie zastosujesz obrót do łyka, ale także ruch do przodu. Gdy statek jest już ustawiony w kierunku celu, możesz zastosować pełną prędkość do przodu. Zorganizowałem test w love2d, tutaj zastosuj metodę aktualizacji statku.
Przykładowa animacja pokazuje (ostatnią pętlę) przypadek, w którym statek nie może osiągnąć celu, ponieważ połączenie prędkości zawracania i do przodu określa zbyt duży promień skrętu, w takim przypadku może być przydatne zmniejszenie „
turnForwordSpeed
” lub lepiej zależy od odległości kątowej (a
) i odległości docelowej.źródło
System siatkowy Unity Nav prawdopodobnie zrobiłby to, co chcesz, trochę pobawiając się wartościami agenta nawigacyjnego.
Nav Meshes są dość proste w użyciu. I tylko do użytku w konfiguracji z góry na dół (lub przynajmniej dostępny tylko dla ruchu x / z)
Instrukcja Unity Strona dotycząca konfiguracji siatki nawigacyjnej
Zasadniczo możesz użyć dowolnej siatki kształtów, aby upiec obszar nawigacji, a także dodać agentów nawigacyjnych do swoich obiektów i pozwolić im znaleźć ścieżki wokół siatki nawigacyjnej
źródło