Как удалить объект спавна?

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

Как удалить объект спавна?

Сообщение e-x 18 фев 2023, 17:08

Добрый День!
Создал спавнер, как удалить именно объекты клоны при попадании в тригер?

Синтаксис:
Используется csharp
ublic void OnTriggerEnter(Collider other)
        {
            if (other.gameObject.tag == "participle")
                countCoreElements++;
            Destroy(gameObject);


        }
 


удаляет сам объект спама а не клоны...а надо именно клоны..помогите плиз!
Спасибо!
e-x
UNIт
 
Сообщения: 141
Зарегистрирован: 20 июн 2022, 16:47

Re: Как удалить объект спавна?

Сообщение Saltant 18 фев 2023, 18:06

Destroy(other.gameObject);
Я на Google Play _https://play.google.com/store/apps/developer?id=Saltant
Аватара пользователя
Saltant
Адепт
 
Сообщения: 2236
Зарегистрирован: 09 окт 2018, 16:40
Откуда: Химки
  • Сайт

Re: Как удалить объект спавна?

Сообщение e-x 18 фев 2023, 18:58

Удаляет сам объект спавн а не клон, в итоге у спавнера ошибка "мисинг бла бла ".
e-x
UNIт
 
Сообщения: 141
Зарегистрирован: 20 июн 2022, 16:47

Re: Как удалить объект спавна?

Сообщение Saltant 18 фев 2023, 19:01

Я же тебе выше написал что изменить в коде. Удаляй объект который попадает в триггер.
Я на Google Play _https://play.google.com/store/apps/developer?id=Saltant
Аватара пользователя
Saltant
Адепт
 
Сообщения: 2236
Зарегистрирован: 09 окт 2018, 16:40
Откуда: Химки
  • Сайт

Re: Как удалить объект спавна?

Сообщение e-x 18 фев 2023, 19:13

Ну вот
Синтаксис:
Используется csharp
public void OnTriggerEnter(Collider other)
        {
            if (other.gameObject.tag == "participle")
                countCoreElements++;
            Destroy(other.gameObject);
        }
 


удаляет сам объект а не клон
e-x
UNIт
 
Сообщения: 141
Зарегистрирован: 20 июн 2022, 16:47

Re: Как удалить объект спавна?

Сообщение Saltant 18 фев 2023, 20:09

тебе какой надо удалить, с тегом participle? ну так добавь дестрой в брекеты if
Я на Google Play _https://play.google.com/store/apps/developer?id=Saltant
Аватара пользователя
Saltant
Адепт
 
Сообщения: 2236
Зарегистрирован: 09 окт 2018, 16:40
Откуда: Химки
  • Сайт

Re: Как удалить объект спавна?

Сообщение e-x 18 фев 2023, 21:34

Так, посмотрел на тег моих спавненных объектов, и тег у каждого разный!!! , пример "participle_el (8)(Clone)"....как так?...теперь понятно почему правильный код не отлавливает, но что теперь делать? как быть?(((Как это отловить?
e-x
UNIт
 
Сообщения: 141
Зарегистрирован: 20 июн 2022, 16:47

Re: Как удалить объект спавна?

Сообщение Alkos26Rus 18 фев 2023, 21:54

e-x писал(а):Так, посмотрел на тег моих спавненных объектов, и тег у каждого разный!!! , пример "participle_el (8)(Clone)"....как так?...теперь понятно почему правильный код не отлавливает, но что теперь делать? как быть?(((Как это отловить?

Имя и тег это как бы разные вещи, participle_el (8)(Clone) это же имя объекта
Аватара пользователя
Alkos26Rus
Адепт
 
Сообщения: 1642
Зарегистрирован: 26 ноя 2020, 17:52
Откуда: Москва

Re: Как удалить объект спавна?

Сообщение e-x 19 фев 2023, 11:01

Да ,сорян, не туда посмотрел.
Все спавненные объекты имею один тег, но разные имена.
Это мой первый спавнер.
Вообщем картина такова, есть объект куб А, спавн старт...тут спавнятся сферы и движутся к кубу Б, на кубе Б тригер с кодом выше указанным, как только первый спавн объект попадает в Куб Б (тригер) то удалется спавн объект попавший в тригер и все те что еще не долетели и сам спам старт сфера, тоесть все что имеет тег participle, я же не это в коде указал, а удалить только тот что попал в триггер(((.Как так?

вот код спавн стартера

Синтаксис:
Используется csharp
public class SpawnToCore : MonoBehaviour
    {
        public Transform spawnStart;
        public GameObject spawnObject;

        public void Start()
        {
            StartCoroutine(SpawnCD());
        }
        void Repeat()
        {
            StartCoroutine(SpawnCD());
        }
        IEnumerator SpawnCD()
        {
            yield return new WaitForSeconds(3f);
            Instantiate(spawnObject, spawnStart.position, Quaternion.identity);
            Repeat();
        }
    }
 



вот код на объектах сфера, которые спавняться и движутся

Синтаксис:
Используется csharp
public class SpawnObjectToCore : MonoBehaviour
    {
        public float speed;
        public GameObject Core;
        public GameObject spawnObject;

        public void FixedUpdate()
        {
            spawnObject.transform.position = Vector3.MoveTowards(spawnObject.transform.position, Core.transform.position, speed * Time.deltaTime);
        }
    }
 


помогите плиз!
e-x
UNIт
 
Сообщения: 141
Зарегистрирован: 20 июн 2022, 16:47

Re: Как удалить объект спавна?

Сообщение Alkos26Rus 19 фев 2023, 11:29

Еще у тебя скобок не хватает, иначе Destroy(other.gameObject); не входит в условие
Синтаксис:
Используется csharp
public void OnTriggerEnter(Collider other)
        {
            if (other.gameObject.tag == "participle"){
                countCoreElements++;
            Destroy(other.gameObject);
           }

        }

 
Аватара пользователя
Alkos26Rus
Адепт
 
Сообщения: 1642
Зарегистрирован: 26 ноя 2020, 17:52
Откуда: Москва

Re: Как удалить объект спавна?

Сообщение e-x 19 фев 2023, 17:27

Скобки да...Спасибо!но все тоже!
Синтаксис:
Используется csharp
public void OnTriggerEnter(Collider other)
        {
            if (other.gameObject.tag == "participle")
            {
                Destroy(other.gameObject);
            }
        }
 

удаляется все
-----------------
MissingReferenceException: The object of type 'GameObject' has been destroyed but you are still trying to access it.
Your script should either check if it is null or you should not destroy the object.
UnityEngine.Object.Internal_InstantiateSingle (UnityEngine.Object data, UnityEngine.Vector3 pos, UnityEngine.Quaternion rot) (at <4a31731933e0419ca5a995305014ad37>:0)
----------------
что не так?
e-x
UNIт
 
Сообщения: 141
Зарегистрирован: 20 июн 2022, 16:47

Re: Как удалить объект спавна?

Сообщение Alkos26Rus 19 фев 2023, 18:01

Не говори что spawnObject у тебя это объект на сцене а не префаб из библиотеки.
Аватара пользователя
Alkos26Rus
Адепт
 
Сообщения: 1642
Зарегистрирован: 26 ноя 2020, 17:52
Откуда: Москва

Re: Как удалить объект спавна?

Сообщение e-x 19 фев 2023, 18:57

Ну у меня это некие снаряды...которые бомбардируют реактор...я сделал это как префаб, и да это префаб,и спавнеров несколько но префаб один, ну так все ж делалал по курсам-видосам, если все одинаково то префаб.Как правильно то?
e-x
UNIт
 
Сообщения: 141
Зарегистрирован: 20 июн 2022, 16:47

Re: Как удалить объект спавна?

Сообщение Alkos26Rus 19 фев 2023, 20:05

e-x писал(а):Ну у меня это некие снаряды...которые бомбардируют реактор...я сделал это как префаб, и да это префаб,и спавнеров несколько но префаб один, ну так все ж делалал по курсам-видосам, если все одинаково то префаб.Как правильно то?

Каким образом он тогда у тебя удаляется, значит ты ссылку делаешь на него из сцены а не из ресурсов
Аватара пользователя
Alkos26Rus
Адепт
 
Сообщения: 1642
Зарегистрирован: 26 ноя 2020, 17:52
Откуда: Москва

Re: Как удалить объект спавна?

Сообщение e-x 19 фев 2023, 20:45

Я не совсем понимаю что происходит, но я четко отследил, что как только первый снаряд долетает до тригера то удаляется весь спавнер, почему так происходит?Вед в тригере указано удалить объект с тегом "participle" но я не просил удалять все а только тот что попал в тригер, как тригер удаляет весь спавнер?(((
e-x
UNIт
 
Сообщения: 141
Зарегистрирован: 20 июн 2022, 16:47

След.

Вернуться в Почемучка

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 27


cron