How to shoot my bullets straight regarding of mouse movement
So I have this space ship shooting instanced spheres with rigidbody on them. The rigidbody doesn't use gravity and I'm shooting the bullets by applying a force with this script:
private void Fire()
{
GameObject bullet = Instantiate(laserPrefab);
GameObject bullet2 = Instantiate(laserPrefab);
Physics.IgnoreCollision(bullet.GetComponent<Collider>(), shuttleCollider.GetComponent<Collider>());
Physics.IgnoreCollision(bullet2.GetComponent<Collider>(), shuttleCollider.GetComponent<Collider>());
bullet.transform.position = laserEmitter.position;
bullet2.transform.position = laserEmitter2.position;
Vector3 rotation = bullet.transform.rotation.eulerAngles;
Vector3 rotation2 = bullet2.transform.rotation.eulerAngles;
bullet.transform.rotation = Quaternion.Euler(rotation.x, transform.eulerAngles.y, rotation.z);
bullet2.transform.rotation = Quaternion.Euler(rotation2.x, transform.eulerAngles.y, rotation2.z);
bullet.GetComponent<Rigidbody>().AddForce(laserEmitter.forward * laserSpeed, ForceMode.Impulse);
bullet2.GetComponent<Rigidbody>().AddForce(laserEmitter.forward * laserSpeed, ForceMode.Impulse);
StartCoroutine(DestroyBulletAfterTime(bullet, bulletDeathTime, bullet2));
}
.
But unfortunately the bullets are kind of "stuck in time" when I move my mouse left-right fast enough, and instead I want them to shoot in a perfect straight line forward at all times, no matter how fast I move my mouse. What should I change to achieve that?
Here's a gif with the movement right now
Here's how the shooting looks at the moment:
Your answer
Follow this Question
Related Questions
Make bullet face direction of movement 1 Answer
Test if a bullet will hit before shooting it? 2 Answers
How to make a bullet in a top down arcade-styled game? 0 Answers
Bullet does not move forward 0 Answers
this Bullet shooting script error 0 Answers