Ich arbeite an einer Waffe vom Typ Wurfmesser, bei der ein Spieler frei zielt und dann ein Messer wirft. Das Messer dreht sich durch die Luft und bei einer Kollision dreht es sich nicht mehr, und die Eltern bewegen sich zu dem Objekt, mit dem es kollidiert. Das Drehen wird über eine Animation abgewickelt, während der Weg des Messers von der Physik abgewickelt wird.
Ein Problem, dem ich gegenüberstehe, ist, wie ich sicherstellen kann, dass das Messer auf sie gerichtet ist, wenn das Messer mit einem Feind kollidiert. Im Moment passiert es manchmal, dass das Messer zuerst in einen feindlichen Griff eintaucht. Welches ist offensichtlich unrealistisch. Gleichzeitig halte ich es für ziemlich unvernünftig, wenn das Messer den Gegner nur "trifft", wenn es zuerst mit der Klinge kollidiert, da die Geschwindigkeit, mit der sich das Messer dreht, außerhalb der Kontrolle des Spielers liegt.
Ich habe mir viele langsame Killcam-Aufnahmen ähnlicher Waffen angesehen, und jedes Mal, wenn die Waffe geworfen wird, dreht sie sich durch die Luft und landet auf magische Weise immer mit der Klinge auf das Ziel gerichtet. Für ein Spiel, bei dem die Wurfweite konstant ist, ist dies recht einfach. Ich bin mir jedoch nicht ganz sicher, wie ich das vorhersagen soll, da es sich um viele unvorhersehbare Faktoren handelt, z. Messerrichtung, Messerdrehung, Position des Feindes, Entfernung zum Feind usw. Wenn möglich, würde ich es vorziehen, keine komplexe Vorhersagelogik zu verwenden, da das Spiel für relativ niedrige Endgeräte gedacht ist. Gibt es einen "Rauch und Spiegel" Weg, um dies zu lösen?
Beispiel: https://youtu.be/0fav8lFpBko?t=42s