- Home /
Raycast Not Rotating
I'm currently making an open world first person shooter game and I'm only 13 so I have little knowledge of programing. Anyways I have a gun which I would like to be able to shoot. I've set up the raycasting on it and it works fine. I then added the debug.DrawRay to my code and noticed that when I moved around the line only moved up and down but will not rotate with the gun. I hope that all made sense! Here's my code : function Update () { var fwd = transform.TransformDirection (Vector3.forward); if (Physics.Raycast (transform.position, fwd, 10)) { print ("There is something in front of the object!"); } Debug.DrawRay(transform.position, Vector3.forward * 10, Color.green); }
THANKS IN ADVANCE
Remember to format your code properly. Please watch the Unity Answers Tutorial Video and read through the FAQ to learn how to use use Unity Answers the best.
Answer by GameVortex · Sep 25, 2014 at 08:51 AM
You are not drawing the ray in the same direction as the RayCast. You are raycasting in the direction of the "fwd" vector while you are drawing the ray in the direction of Vector3.forward (which is the global forward axis). Use the "fwd" variable as the direction in the Drawing function instead.
Also, you do not have to do a TransformDirection to to get the forward direction of the transform. Transform has a shorthand for that you can use instead: transform.forward.
var fwd = transform.forward;
Answer by L20GAMES · Sep 25, 2014 at 11:06 AM
Thanks, I realised not long after but it was actually rotating I just hadn't set up the draw ray to show it rotating!
Your answer
Follow this Question
Related Questions
Raycast without collider 1 Answer
Making bullet holes in enemies. 1 Answer
Raycast shooting in the middle of the screen 1 Answer
bullet hole problem/raycast problem || help me please 1 Answer