Estoy trabajando en un arma de tipo cuchillo arrojadizo donde un jugador apunta libremente y luego arroja un cuchillo. El cuchillo gira por el aire y al chocar deja de girar y se dirige al objeto con el que chocó. El giro se maneja a través de la animación, mientras que el camino del cuchillo es manejado por la física.
Un problema que estoy enfrentando es cómo asegurarme de que cuando el cuchillo choca con un enemigo, el cuchillo se enfrentará hacia ellos. En este momento, lo que sucede a veces es que el cuchillo se incrusta primero en un mango enemigo. Lo que obviamente no es realista. Al mismo tiempo, creo que sería bastante irracional que el cuchillo solo "golpeara" al enemigo si chocaba primero con la hoja, ya que la velocidad a la que gira el cuchillo está fuera del control del jugador.
He estado viendo muchas imágenes lentas de killcam de armas similares y cada vez que se lanza el arma, gira por el aire y mágicamente siempre termina con la hoja apuntando a su objetivo. Para un juego donde la distancia de lanzamiento será consistente, esto es bastante sencillo de hacer. Pero no estoy muy seguro de cómo predecir esto, ya que hay muchos factores impredecibles involucrados, por ejemplo. dirección del cuchillo, rotación del cuchillo, posición del enemigo, distancia del enemigo, etc. Si es posible, preferiría no tener que usar una lógica de predicción compleja ya que el juego será para dispositivos de nivel bastante bajo. ¿Existe una forma de "humo y espejos" para resolver esto?
Ejemplo: https://youtu.be/0fav8lFpBko?t=42s