Hi all, I need to draw some 3D lines in my scene, like GL.Lines do. But I need to change the width of the lines. I have Unity Pro, but I don´t know if it´s possible. I´ve tried to do it using GL.Quads, but my app becames very slow. Do you have some ideas? Thank you so much. ribesvictor
There isn't a way to change line width that I know of, aside from using GL.Quads, which you already tried. (There's always Vectrosity...it creates lines by using meshes.) --Eric
OK, so I got to tinkering with the concept without GL.Quads. (mostly because I dont know how to use them) and what it basically comes down to is the ability to create four points based on a width from a start point to an end point. So I made four boxes and set on the task of pin pointing where the edges of the vertices of the line should be. It is essentially a quad. In my earlier tinkerings with 3d I found a wonderful method called Cross. (or CrossProduct in Newton game dynamics) Way back in the day I used it to calculate the force making something go sideways. The better use here is to figure out the side movement of a point based on the heading of the camera. I came up with this function: Code (csharp): function GetCross(position : Vector3){ var direction=Camera.main.transform.position - position; return Vector3.Cross(Camera.main.transform.forward, direction).normalized; } This returns a normalized cross product which all you then have to do is add to a point (or subtract for the other side multiplied by the half width. This gives you the 4 points for a line of x width facing the forward direction of the camera. Incredibly simple, endless possibilities.
Thanks for the information. Eric, I´ve seen vectrosity and it seems very powerful, but I only need to draw a few simple lines. This is the reason that i´m looking for something free, but thank you, anyway, It´s possible that I´m paying for it in a close future. I´ll try your idea BigMisterB. Thank you