Задать вопрос
@soks_of_fate

Как исправить ошибку NullReferenceException: Object reference not set to an instance of an object?

на камере есть код:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class user : MonoBehaviour
{
    public float Distens = 0f;
    void Update()
    {
        if (Input.GetKeyDown(KeyCode.E))
        {
            Ray ray=new Ray (transform.position, transform.forward);
            RaycastHit hit;
            if(Physics.Raycast(ray, out hit, Distens))
            {
                if (hit.collider.CompareTag("door"))
                {
                    hit.collider.transform.parent.GetComponent<DoorScript>().count_v();
                }
            }
        }
    }
}


и на предмете:
using System.Collections;
using System.Collections.Generic;
using Unity.VisualScripting;
using UnityEngine;

public class DoorScript : MonoBehaviour
{
    private int count = 3;

    public void count_v()
    {
        count--;
        print(count);
        count--;
    }
}


но при звзаимодейстии возникает ошибка
NullReferenceException: Object reference not set to an instance of an object
user.Update () (at Assets/my/script/user.cs:19)

Возможно я сильно туплю, но вроде все делал по ютубу
  • Вопрос задан
  • 117 просмотров
Подписаться 1 Средний Комментировать
Ответ пользователя Nik Faraday К ответам на вопрос (3)
NikFaraday
@NikFaraday
Student full-stack Developer
Ошибка NullReferenceException возникает, когда у вас какой-то объект, к которому вы обращаетесь, равен null. Почему он null? Потому что вы где-то не вызвали конструктор (Ключевое слово new)
Ответ написан