|
I'm using a LineRenderer to trace a laser. The second point of the LineRenderer has to be wherever it's coming in contact with a collider, and if it's not contacting one, it should maintain a set length. This isn't working at all. It's just INCREDIBLY unstable and makes these weird, random movements (the end point sways around at random). Not sure what I'm doing wrong here, as the code is as basic as it gets. It pretty much works the way I need it to, except that as my character moves left and right, the end point of the laser sways GREATLY left and right, resulting in a laser that won't stay straight unless I'm in the middle of the screen.
(comments are locked)
|
|
I can only guess, but is your gameObject the parent in this situation? you may want to make sure the transform.position you are using isn't local space. If that isn't the problem, I would go through and print out just about every number in there to see where it goes wrong. print(position/rotation/collider/laserEndpoint/etc.)
(comments are locked)
|
|
Set your LineRenderer to useWorldSpace. It is also odd that you are setting transform.position when there is a hit - why it that going to matter, since your rays using global forward, not forward of the transform? (and I think you want Quaternion.identity, not the same thing calculated from Eulers).
(comments are locked)
|

And as you can see, I even tried setting the rotation to 0,0,0 every time SetLength is called (about 10 times per second) so that I could rule out that it's somehow rotating. I also neglected setting the endpoint's X and Y values and locked them to 0 to ensure the endpoint doesn't misalign from the start point. Apparently does no good.