- Home /
Vector3.Forward not working?
Hello, I'm trying to make a simple gun (for now) which shoots a ray (using a line renderer, all that stuff...), however there seems to be a problem to where the laser or raycast is going. I have a simple cube/rectangle with a child attached to it. The Z-axis are both facing the same direction. But when I use the following code, the raycast goes off towards the worlds Z axis. I've tried so many things and I've been searching for quite a while now. It's probably something really obvious here.
//Below is the code that 'works'. Direction being the player direction - the original point.
Ray Laser = new Ray(BulletSpawn.transform.position, direction);
//The code below shoots the ray off to the north (z-axis)
Ray Laser = new Ray(BulletSpawn.transform.position, Vector3.Foward);
//The code below does all sorts of crazy stuff, inverted directions (I have no idea what the hell is going on there).
Ray Laser = new Ray(BulletSpawn.transform.position, target.transform.position);
Answer by SirCrazyNugget · Jun 19, 2014 at 11:10 AM
Vector3.forward will always return Vector3(0, 0, 1) which ignores the bullet's direction.
Use transform.forward as shown in the documentation.
You should hopefully then have something along the lines of
Ray Laser = new Ray(BulletSpawn.transform.position, BulletSpawn.transform.forward);
Wow yeah, that was it alright. I felt kinda ashamed for asking such a thing. I was assu$$anonymous$$g transform.forward was for movement of objects, that's where I went wrong.
Your answer
Follow this Question
Related Questions
3D Space Shooter Firing Projectiles 0 Answers
RaycastHit not sending message 2 Answers
If collider between two points get this point 1 Answer
How do i scale a prefab laser to hit.distance 1 Answer
Creating a Ray Gun 1 Answer