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?

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.