- Home /
RayCast direction is the same on different objects on different locations
Hi all,
I have two objects which are copies of an original (copied via Instantiate()). I intend to do a RayCast from both objects to my player object. I started by first using Debug.DrawRay() to see in which direction the ray will go (it should go from the instantiated GameObjects to the player).
However, what's happening is that only the first Instantiated objects draws its ray toward the player. The second one is drawing its ray exactly as the first one. This would be OK if both objects were on the same location, but they aren't.
This is the Update event for the MonoBehaviour attached to both objects:
void Update()
{
Debug.DrawRay(gameObject.transform.position,player.transform.position,Color.blue,1.0f);
}
Again, what happens is: the ray is drawn in exactly the same direction for both objects, instead of both objects drawing their ray toward the player. Am I missing something?
Answer by troien · Nov 30, 2014 at 01:41 PM
The way you are using this atm, you probably want to use Physics.Linecast instead. Sinse unlike raycasting which requires a direction, Linecasting requires an end-point. (And use Debug.DrawLine aswell).
If you want to keep using drawray though, your second argument should be a direction instead of a end point. To get that, simply substract your own position from your target position.
Your answer
![](https://koobas.hobune.stream/wayback/20220613172810im_/https://answers.unity.com/themes/thub/images/avi.jpg)
Follow this Question
Related Questions
Raycast off empty gameobject rather then camera. 2 Answers
Unity 3D Raycasting not hit Instantiated Gameobjects 0 Answers
how to make gameobject jump onto other gameobject using Linecast 0 Answers
Firing a bullet doesn't work properly in the bottom half of the screen 1 Answer
raycast is returning object underneath another object 1 Answer