Задать вопрос
@ivangrrrr
школьник, недавно начал изучать Unity и C#

Почему в Unity3D вылазит ошибка NullReferenceException: Object reference not set to an instance of an object?

private void OnTriggerEnter(Collider other)
    {
        if (other.gameObject.GetComponent<SpawnDestroyWall>().speed > 20 && other.tag == "Wall")
        {
            other.gameObject.GetComponent<SpawnDestroyWall>().Spawn();
        }
        if (other.gameObject.GetComponent<DestroyWallSpeed>().speed > 20 && other.tag == "WallParticl")
        {
            if (!other.gameObject.GetComponent<Rigidbody>())
            {
                other.gameObject.AddComponent<Rigidbody>();
                Destroy(other, 20);
            }
        }
    }

Этот код привязан к земле(не знаю нужна ли вам эта информация, но все же). У меня есть похожий код, который привязан к подвижному объекту и все работает, нет никаких ошибок.

Вот на всякий случай код с подвижного объекта:
private void OnTriggerEnter(Collider other)
    {
        if (other.tag == "Wall" && moveSpeed > 10)
        {
            other.gameObject.GetComponent<SpawnDestroyWall>().Spawn();
            Destroy(other, 20);
        }
        if (other.tag == "WallParticl" && moveSpeed > 10)
        {
            if (!other.gameObject.GetComponent<Rigidbody>())
            {
                other.gameObject.AddComponent<Rigidbody>();
                Destroy(other, 20);
            }
        }
    }
  • Вопрос задан
  • 337 просмотров
Подписаться 1 Простой 6 комментариев
Помогут разобраться в теме Все курсы
  • Skillbox
    Профессия Разработчик игр на Unity с нуля
    10 месяцев
    Далее
  • Skillbox
    Middle-разработчик игр на Unity
    3 месяца
    Далее
  • GB (GeekBrains)
    Разработчик Игр на Unity
    10 месяцев
    Далее
Решения вопроса 1
GavriKos
@GavriKos Куратор тега Unity
Микропетпроджект - домашнее облако homeCloud
99% что какой то GetComponent вернул null, а вы дальше обращаетесь. Нет проверки на то с чем столкнулись.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы