Can't get the right position of the player

Hello, I made a laser beam that should hit the player, but it goes a little under the player:

This is the code:

private Vector3 GetPlayerPosition()
        Vector3 pos = GameObject.Find("Player").transform.position;
        return pos;

    private float GetPlayerAngulation()
        Vector3 player_pos = GetPlayerPosition();
        Vector3 direction = player_pos - transform.position;
        rotation_z = Mathf.Atan2(direction.y, direction.x) * Mathf.Rad2Deg;
        return rotation_z;

    IEnumerator FireLaser()
            if (!is_first_attack)
                is_first_attack = false;

            yield return new WaitForSeconds(laser_reload);

This part: shark_eye.GetComponent().Fire(rotation_z); only instantiate the laser in the shark’s eye.
Thank you.

Nvm I resolved this a few days ago. Simply at line 10 I had to change “transform.position” with the position of the eye.