Форум программистов, компьютерный форум, киберфорум
Unity, Unity3D
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.96/560: Рейтинг темы: голосов - 560, средняя оценка - 4.96
 Аватар для VolKra
5 / 5 / 1
Регистрация: 25.07.2014
Сообщений: 223
1

Что за ошибка: Object reference not set to an instance of an object?

11.04.2016, 12:38. Показов 105258. Ответов 11
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
NullReferenceException: Object reference not set to an instance of an object
bullet.Update () (at Assets/Script/bullet.cs:27)


C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
using UnityEngine;
using System.Collections;
 
public class bullet : MonoBehaviour {
 
    public Transform bullets;
    public Transform spawns;
    private float seeDistance = 20f;
    public float attackDistance = 20f;
    public float speed = 6;
    private Transform targets;
 
    void Shoot()
    {
        Transform fire = (Transform)Instantiate(bullets, spawns.position, spawns.rotation);
        fire.LookAt(targets);
        fire.transform.Translate(new Vector3(0, 0, speed * Time.deltaTime));
    }
 
    // Use this for initialization
    void Start () {
        targets = GameObject.FindWithTag("Enemy").transform;
    }
    
    // Update is called once per frame
    void Update () {
        if (Vector3.Distance(transform.position, targets.transform.position) < seeDistance)
        {
            if (Vector3.Distance(transform.position, targets.transform.position) > attackDistance)
            {
                transform.LookAt(targets.transform);
                Shoot();
            }
        }
        else {
 
        }
 
    }
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
11.04.2016, 12:38
Ответы с готовыми решениями:

Unity ошибка NullReferenceException: Object reference not set to an instance of an object
Сам новичок в C# и Unity. Много чего не знаю. Подскажите, пожалуйста. Столкнулся с ошибкой:...

Unity 2D | Ошибка NullReferenceException: Object reference not set to an instance of an object
При нажатии кнопки стрелять (игра на Android) выдает ошибку: NullReferenceException: Object...

Unity ошибка Object reference not set to an instance of an object
Текст ошибки: NullReferenceException: Object reference not set to an instance of an object...

Ошибка NullReferenceException: Object reference not set to an instance of an object
Юнити выдает такую ошибку NullReferenceException: Object reference not set to an instance of an...

11
 Аватар для Cr0c
753 / 600 / 204
Регистрация: 06.08.2015
Сообщений: 2,432
11.04.2016, 13:10 2
Лучший ответ Сообщение было отмечено mik-a-el как решение

Решение

VolKra, эта ошибка указывает, что ссылка на объект не существует. Запомните уже
GameObject.FindWithTag("Enemy") не находит объект, проверяйте теги у префаба.
0
 Аватар для VolKra
5 / 5 / 1
Регистрация: 25.07.2014
Сообщений: 223
11.04.2016, 13:38  [ТС] 3
Cr0c, Тег у префаба верний в том то и дело. Префаб создается каждою секунду. Что делать.

Добавлено через 6 минут
Cr0c, Виправил, другая ошибка теперь вилазит
UnassignedReferenceException: The variable targets of bullet has not been assigned.
You probably need to assign the targets variable of the bullet script in the inspector.
bullet.Update () (at Assets/Script/bullet.cs:26)
0
 Аватар для Cr0c
753 / 600 / 204
Регистрация: 06.08.2015
Сообщений: 2,432
11.04.2016, 14:54 4
VolKra, новый скрипт не видно, а телепаты в отпуске.
0
 Аватар для VolKra
5 / 5 / 1
Регистрация: 25.07.2014
Сообщений: 223
11.04.2016, 15:40  [ТС] 5
Cr0c, Ошибка в том же скрипте
0
 Аватар для Cr0c
753 / 600 / 204
Регистрация: 06.08.2015
Сообщений: 2,432
11.04.2016, 15:58 6
VolKra, а строка 26 не входит в апдейт. Между строк ошибка, что ли? Ищите переменную target, она не задана, так в ошибке указано. Возможно потому, что в момент запуска скрипта нет врага, которого можно найти. Обновляйте target в апдейте, если он null.
0
 Аватар для VolKra
5 / 5 / 1
Регистрация: 25.07.2014
Сообщений: 223
11.04.2016, 18:02  [ТС] 7
Cr0c, Все исправил, толька когда видет врага пуля не стреляет в нево, префаб задал всьо задал ошибки нет пуля не стреляет что делать? Ето код)
0
 Аватар для Cr0c
753 / 600 / 204
Регистрация: 06.08.2015
Сообщений: 2,432
11.04.2016, 18:26 8
VolKra, а кто двигает пулю?
0
 Аватар для VolKra
5 / 5 / 1
Регистрация: 25.07.2014
Сообщений: 223
11.04.2016, 23:58  [ТС] 9
Cr0c, По сути пуля должна створится и двигатся к ближайшему врагу с тегом Enemy. Как ето сделать) Помоги плиз)
0
 Аватар для Cr0c
753 / 600 / 204
Регистрация: 06.08.2015
Сообщений: 2,432
12.04.2016, 07:47 10
VolKra, при инстанцировании поворачивайте пулю, в скрипте пули делайте сдвиг в апдейте
C#
1
this.transform.Translate( this.transform.forward *speed * Time.deltaTime);
Но это неправильно: так как пуля будет попадать в коллайдер, то вешать на пулю ригидбоди и после поворота пули задавать её скорость через
C#
1
fire.GetComponent<Rigidbody>().velocity = fire.transform.forward * speed;
и она будет лететь до коллизии, которую обрабатывать в самой пуле.
0
 Аватар для VolKra
5 / 5 / 1
Регистрация: 25.07.2014
Сообщений: 223
12.04.2016, 11:13  [ТС] 11
Cr0c, Пуля не летит за юнитами. И она летит толька вверх.
Пожалуста)) Напиши весь скрипт, бо я так не понимаю....
0
 Аватар для Cr0c
753 / 600 / 204
Регистрация: 06.08.2015
Сообщений: 2,432
12.04.2016, 15:57 12
Лучший ответ Сообщение было отмечено mik-a-el как решение

Решение

C#
1
2
3
4
5
6
void Shoot()
    {
        Transform fire = (Transform)Instantiate(bullets, spawns.position, spawns.rotation);
        fire.LookAt(targets);
        fire.GetComponent<Rigidbody>().velocity = fire.transform.forward * speed;
    }
И на пуле должен быть Rigidbody с отключенной гравитацией, коллайдер с isTrigger и скриптом, в котором есть OnTriggerEnter

Добавлено через 3 часа 6 минут
Учиться надо, потому что в определённый момент Вы поймете, что вообще не знаете что это и как оно работает
1
12.04.2016, 15:57
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.04.2016, 15:57
Помогаю со студенческими работами здесь

ОШИБКА: NullReferenceException: Object reference not set to an instance of an object
Привет всем. Пытаюсь сделать двухмерную карточную игру Memory. Как делать эту игру - подробно...

Ошибка NullReferenceException: Object reference not set to an instance of an object
Пытаюсь сделать простой пул объектов, при этом выдает ошибку NullReferenceException: Object...

Ошибка: Object reference not set to an instance of an object
Юнити выдает такую ошибку NullReferenceException: Object reference not set to an instance of an...

Object reference not set to an instance of an object ошибка
Ребят, я сделала скрипт, который по идее должен из массива подгружать спрайты в задний фон с какой...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Элементы алгоритмизации
hw_wired 28.01.2025
Основы алгоритмизации В современном мире алгоритмы играют фундаментальную роль в развитии информационных технологий и программирования. Понимание основ алгоритмизации является ключевым элементом в. . .
Человек и информация
hw_wired 28.01.2025
Введение: роль информации в познании мира В современном мире информация играет фундаментальную роль в процессе познания окружающей действительности. Она представляет собой совокупность сведений об. . .
Компьютер и информация
hw_wired 28.01.2025
Эволюция вычислительных машин История развития вычислительной техники начинается задолго до появления первых электронных устройств. Человечество всегда стремилось упростить процесс вычислений и. . .
Информационные технологии
hw_wired 28.01.2025
Введение в современные технологии работы с информацией В современном мире информационные технологии стали неотъемлемой частью практически всех сфер человеческой деятельности. Они существенно. . .
Информация вокруг нас
hw_wired 28.01.2025
Основные понятия информации В современном мире понятие информации является фундаментальным и охватывает практически все сферы человеческой деятельности. Информация представляет собой совокупность. . .
Компьютер для начинающих
hw_wired 28.01.2025
Введение в мир компьютерных технологий В современном мире информация стала одним из важнейших ресурсов человечества, определяющим развитие общества и технологий. Наша жизнь неразрывно связана с. . .
[golang] 189. Rotate Array
alhaos 28.01.2025
Повороты рукоятки, целочисленный слайс нужно сдвинуть на целое положительное число. Мне очень нравится решение на GO / / https:/ / leetcode. com/ studyplan/ top-interview-150/ package topInterview . . .
КуМир: решение задач на матрицы
bytestream 28.01.2025
КуМир представляет собой среду для обучения программированию, которая включает в себя мощные инструменты для работы с матрицами. Матрица в программировании - это двумерный массив, состоящий из. . .
КуМир: решение задач на строки
bytestream 28.01.2025
В системе программирования КуМир работа со строковыми данными является одним из важнейших аспектов создания программ. Строки представляют собой последовательности символов, заключенные в кавычки,. . .
КуМир: решение геометрических задач
bytestream 28.01.2025
Программирование геометрических задач в среде КуМир становится всё более актуальным в обучении школьников и студентов. КуМир — это разработанная в России обучающая программная среда, предназначенная. . .
КуМир, исполнитель Водолей: Задачи и решения
bytestream 28.01.2025
КуМир — это образовательная среда для обучения программированию. Она предлагает пользователям разнообразные инструменты для разработки и отладки программ, что особенно ценно для студентов и. . .
КуМир, исполнитель Чертежник: Решение задач
bytestream 28.01.2025
КуМир (Комплект Учебных МИРов) представляет собой образовательную среду для обучения основам программирования и алгоритмизации. Исполнитель Чертежник работает на координатной плоскости, где может. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru