The question is answered, right answer was accepted
LineRenderer not appearing as expected...
Hi all,
I'm having trouble getting the Ray or LineRenderer to appear where it should. When my ship fires its laser beam (pink) it appears in the wrong place. BUT the Debug.DrawRay (green) is perfect!
They both use the same origin points and directions and run in the same co-routine.
Any ideas?
IEnumerator FireLaser()
{
line.enabled = true;
while (firing)
{
Vector3 forward = transform.TransformDirection(Vector3.forward) * 100;
Debug.DrawRay(transform.position, forward, Color.green);
Ray ray = new Ray(transform.position, forward);
line.SetPosition(0, transform.position);
line.SetPosition(1, forward);
yield return null;
}
line.enabled = false;
}
Answer by KevRev · Feb 16, 2019 at 09:54 AM
The Ray was working fine, but you hit the nail on the head wth WorldSpace. I'd unticked "Use worldspace" on the LineRenderer component. As soon as I ticked it, it worked great.
Thanks :)
Answer by xxmariofer · Feb 15, 2019 at 11:11 PM
hello, i know this isnt your question but are you sure your ray is working? it feels like you are missunderstabding points with directions. i will leave this line in case you need it later.
Ray ray = new Ray(transform.position, forward- transform.position);
your issue is the most common issue that i have seen working with line renderers and is understanding that the setposition works locally not in world space, can you test that exact code but with the lineRenderer in a gameobject with the rotation and position reseted?
Follow this Question
Related Questions
Moving dotted guide line 0 Answers
Line Rendering for 2D Connect the Dots Game 1 Answer
Line renderer not working 1 Answer
LineRenderer in 2D not reusing positions 0 Answers
how to draw in 3d using pipelines,drawing in 3d through pipeline 0 Answers