Line renderer hits Cinemachine camera collider

Viewed 100

I use Cinemachine camera collider for my project. This basically means that my entire game is inside a polygon collider.

With the following script my line renderer collides instantly with this camera collider:

[SerializeField] private float defDistanceRay = 10f;
public Transform laserFirePoint;
public LineRenderer m_linerenderer;
Transform m_transform;

private void Awake()
{
    m_transform = GetComponent<Transform>();
}

private void Update()
{
    ShootLaser();
}

void ShootLaser()
{
    if(Physics2D.Raycast(m_transform.position, transform.right))
    {
        RaycastHit2D _hit = Physics2D.Raycast(m_transform.position, transform.right);
        Draw2DRay(laserFirePoint.position, _hit.point);
        Debug.Log(_hit.collider.name);
    }
    else
    {
        Draw2DRay(laserFirePoint.position, laserFirePoint.transform.right * defDistanceRay);
    }
}

void Draw2DRay(Vector2 startPos, Vector2 endPos)
{
    m_linerenderer.SetPosition(0, startPos);
    m_linerenderer.SetPosition(1, endPos);

}

enter image description here

Can I somehow bypass this collider by setting a "tag" on it and in my code ignore colliders with that specific tag? Anyone have a good work around for this issue?

EDIT: Forgot to mention Im looking at: https://docs.unity3d.com/ScriptReference/Physics2D.IgnoreCollision.html

But that takes in 2 colliders I just want to ignore 1.

EDIT2: I tried to set the Cinemachine camera polygon collider as a Layermask and ignore it with the following code:

public LayerMask layerMask;
void ShootLaser()
{
    if (Physics2D.Raycast(m_transform.position, transform.right))
    {
        RaycastHit2D _hit = Physics2D.Raycast(m_transform.position, transform.right, layerMask);
        Draw2DRay(laserFirePoint.position, _hit.point);
        Debug.Log(_hit.collider.name);
    }
    else
    {
        Draw2DRay(laserFirePoint.position, laserFirePoint.transform.right * defDistanceRay);
    }
}

EDIT 3:

            RaycastHit2D _hit = Physics2D.Raycast(m_transform.position, transform.right, defDistanceRay, layerMask);

I added defDistanceRay into the Raycast and now it dosent seem to collide with the camera collider atleast! Super buggy but atleast i bypass the Cinemachine camera collider!

0 Answers
Related