@FrOms

Как удалить объект, когда он проходит через определенную точку?

У меня есть объект Map, на котором одеты все скрипты и внутри него помещены объекты Ground, Obstacle, также он движется назад, относительно оси Z и когда он достигает определенной точки, создаются клоны объекта Map. Мне нужно удалять объект Map если он достигает точки -100. Но когда он её достигает, то удаляются и его клоны, а мне нужно чтобы удалялся каждый по очереди.
Вот код:
Скрипт GroundMovement:
if (map.position.z <= 0 && !spawned)
        {
            FindObjectOfType<GroundSpawner>().SpawnWave();
            spawned = true;
        }

        if (map.position.z <= -100)
        {
            FindObjectOfType<GroundSpawner>().DeleteWave();
        }

Скрипт GroundSpawner:
public void SpawnWave()
    {
        Instantiate(objToSpawn, map.position + offset, Quaternion.identity);
    }

    public void DeleteWave()
    {
        Destroy(objToDelete);
    }
  • Вопрос задан
  • 72 просмотра
Пригласить эксперта
Ответы на вопрос 1
@pashara
Триггер вобще отрабатывает?)
Note: Both GameObjects must contain a Collider component. One must have Collider.isTrigger enabled, and contain a Rigidbody. If both GameObjects have Collider.isTrigger enabled, no collision happens. The same applies when both GameObjects do not have a Rigidbody component.

Логика удаления не отрабатывет как минимум по причине того, что не ловится событие в-хода в триггерную область.
P.S. Источник https://docs.unity3d.com/ScriptReference/Collider....
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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