I have added a box collider to test whether the collider is present.When I tested the collider is present not the gameobject but behind the gameobject.How to add a collider to line renderer and detect collisions.
if you use edgecollider, can set the edgecollider vertices to match linerenderer points
docs,
one example
if(Input.GetMouseButtonDown(0))
{
Debug.Log("Mouse down");
currenline = Instantiate(linePrefab);
currenline.transform.SetParent(LineParent);
NewLine = currenline.GetComponent<LineRenderer>();
CurrmousePos0 = Camera.main.ScreenToWorldPoint(Input.mousePosition);
temp0 = new Vector3(CurrmousePos0.x, CurrmousePos0.y, -4);
NewLine.SetPosition(0, temp0);
NewLine.SetPosition(1, new Vector3(CurrmousePos0.x, CurrmousePos0.y, -4));
}
if(Input.GetMouseButtonUp(0))
{
CurrmousePos1 = Camera.main.ScreenToWorldPoint(Input.mousePosition);
temp1 = new Vector3(CurrmousePos1.x, CurrmousePos1.y, -4);
NewLine.SetPosition(1, temp1);
PolygonCollider2D poly=NewLine.gameObject.GetComponent<PolygonCollider2D>();
Vector2[] points = poly.points;
EdgeCollider2D collider2d = NewLine.gameObject.AddComponent<EdgeCollider2D>();
collider2d.points = points;
Destroy(poly);
}
I tried this code but not working.The collider is as shown above it is behind the gameobject on the origin.Here I added a PolygonCollider2D to the prefab.
Any idea how to adjust the z position of collider
BoxCollider3D lineCol = gameObject.AddComponent ();
lineCol.transform.position = line.transform.position;
lineCol.size = new Vector3(5f, 5f,5f);