Код C # raycast не работает с Unity

Привет, я написал код для создания raycast, который следует за положением мыши на экране, у меня настроен пистолет, и у меня правильно опущен ствол с помощью коллайдера и т.д., но я продолжаю получать сообщение об ошибке: NullReferenceException: ссылка на объект не установлена к экземпляру объекта. Я просто не могу понять, в чем проблема, вот мой код:

    void Update ()
    {
        if (gun.active) {
                    if (Input.GetButtonDown ("Fire1")) {
                            Ray ray = Camera.main.ScreenPointToRay (Input.mousePosition);
                            RaycastHit hit = new RaycastHit ();
                            if (Physics.Raycast (ray, out hit)) {
                                    if (hit.collider.gameObject.name == "barrel") {
                                            Debug.Log ("Hit the Barrel");
                                            Destroy (hit.collider.gameObject);
                                    }
                            }
                    }
            }

    }

person RyanH2796    schedule 07.12.2014    source источник
comment
В какой строке кода возникает исключение?   -  person hatchet - done with SOverflow    schedule 07.12.2014
comment
@hatchet бросает на линию Ray ray = Camera.main   -  person RyanH2796    schedule 07.12.2014


Ответы (1)


Ваша Camera не помечена как main камера в редакторе.

Вот почему ваш код не может его найти и поэтому выдает исключение.

person apxcode    schedule 07.12.2014