Camera.main es nulo al realizar raycast

Código que genera un error:

void Update()
{
    if (Input.touchCount > 0)
    {
        RaycastHit2D hit = Physics2D.Raycast(Camera.main.ScreenToWorldPoint(Input.GetTouch(0).position), Vector2.zero);
        if (hit && hit.collider != null && hit.collider.name == "leftTapArea")
        {
            hit.transform.name = "Hit";
        }
    }
}

Dice que algo está mal con esta cadena:

RaycastHit2D hit = Physics2D.Raycast (Camera.main.ScreenToWorldPoint (Input.GetTouch (0) .position), Vector2.zero);

Error:

NullReferenceException: referencia de objeto no establecida en una instancia de un objeto leftScript.Update () (en Assets / leftScript.cs: 16)

Respuestas a la pregunta(2)

Su respuesta a la pregunta