Comment faire pour appliquer une force sur un objet dans une direction particulière dans l'Unité

Je suis à l'aide de l'unité, afin de développer mon jeu. J'ai fait une coutume geste de balayage par le calcul de la startPosition et la Position de fin de la ligne de touche. J'ai eu le vecteur direction en soustrayant les deux positions et de débogage avec succès.

Mais quand il s'agit de l'application de la force à mon jeu de l'objet, je ne suis pas tout le succès après avoir essayé beaucoup.

voici ce que j'ai fais:

swipeDirection = new Vector3(endPos.x - startPos.x,0f, endPos.z - startPos.z);

swipeDirection.Normalize();

Debug.Log("The direction is "+ swipeDirection);

ball.rigidbody.AddForce(swipeDirection * 5);

où la balle est juste un GameObject. Chaque fois que je le lance sur mon iPhone, le jeu devient juste coincé donner un EXC_BAD_ACCESS code après la première utilisation.

  • EXC_BAD_ACCESS est généralement un uncaught exception NullReferenceException. Sont ball ou ball.rigidbody null? Par exemple, si vous n'avez pas regardé une "boule", ou si le ballon n'a pas attaché Rigidbody composant.
  • Probablement, vous obtiendrez un message d'erreur lors de l'exécution sur l'éditeur.
  • Dois-je toujours appliquer une force dans une méthode de mise à jour?