Pracuję nad bronią typu nóż do rzucania, w której gracz celuje, a następnie rzuca nożem. Nóż obraca się w powietrzu i przy zderzeniu przestaje się obracać, a rodzice przylegają do przedmiotu, z którym zderzył się. Wirowanie odbywa się za pomocą animacji, podczas gdy ścieżka noża jest obsługiwana przez fizykę.
Jednym z problemów, przed którymi stoję, jest sposób upewnienia się, że gdy nóż zderzy się z wrogiem, nóż będzie skierowany w ich stronę. W tej chwili czasami zdarza się, że nóż najpierw wpada w uchwyt wroga. Co jest oczywiście nierealne. Jednocześnie uważam, że nieuzasadnione byłoby, aby nóż „uderzał” wroga tylko, jeśli najpierw zderzy się z ostrzem, ponieważ szybkość, z jaką nóż się obraca, jest poza kontrolą gracza.
Oglądałem wiele powolnych ujęć kamery podobnej broni i za każdym razem, gdy broń jest rzucana, obraca się w powietrzu i magicznie zawsze kończy się ostrzem skierowanym w cel. W przypadku gry, w której odległość rzucania będzie stała, jest to całkiem proste. Ale nie jestem pewien, jak to przewidzieć, ponieważ wiąże się to z wieloma nieprzewidywalnymi czynnikami, np. kierunek noża, obrót noża, pozycja wroga, odległość od wroga itp. Jeśli to możliwe, wolałbym nie używać skomplikowanej logiki predykcyjnej, ponieważ gra będzie na dość niskich urządzeniach. Czy istnieje sposób na rozwiązanie tego problemu?
Przykład: https://youtu.be/0fav8lFpBko?t=42s