Why Line Renderer always move towards the same spot in perspective projection but not in orthographic projection.

When i am using perspective position of camera then no matter where i click on the screen, the ray is always goes towards a fixed point, which is (0,0,0) i think. But it is not the matter with orthographic projection. It works fine, the rays always move towards the projected position(using mouse click) in orthographic projection.

This is my script:

public class onClickShoot : MonoBehaviour
{
LineRenderer line;
public Transform initialState;
Vector3 targetState;
private WaitForSeconds shotDuration = new WaitForSeconds(.5f);

void Start()
{
    line = GetComponent<LineRenderer>();
}

void Update()
{
    
    line.SetPosition(0, initialState.position);

    if (Input.GetMouseButtonDown(0))
    {
        getTarget();
        StartCoroutine(shooting());
        
    }
    
}

void getTarget() {
    targetState = Camera.main.ScreenToWorldPoint(Input.mousePosition);
    targetState.z = 10;
    line.SetPosition(1, targetState);
}

private IEnumerator shooting()
{
    line.enabled = true;
    yield return shotDuration;
    line.enabled = false;
}

}

I used this script to solve the error.

Script:

public class getObjectPosition : MonoBehaviour
{
LineRenderer line;
private void Start()
{
line = GetComponent();
}
private void Update()
{
line.SetPosition(0, transform.position);
if (Input.GetMouseButtonDown(0))
{
float rayLength = 100.0f; // This is the length of the ray. You need to figure out how long it must be in order to hit all of the cubes in the scene.
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit hit;

        if (Physics.Raycast(ray, out hit, rayLength))
        {
            if (hit.collider != null)
            {
                Debug.Log(hit.collider.transform.position);
                line.SetPosition(1,hit.collider.transform.position);
            }
        }
    }
}

}