У меня есть объект внутри границы, и я стреляю в объект (чтобы понять мой код, см. Этот урок: https://unity3d.com/learn/tutorials/projects/space-shooter/creating-hazards?playlist=17147). Shell (bullet) должен быть уничтожен после столкновения с объектом, но не мгновенно - после некоторой задержки (т. Е. Они сталкиваются и после некоторого количества секунд исчезает оболочка). Коллайдер Shell должен быть с триггером, но из-за этого она пролетает через объект. Shell должна исчезнуть после того, как она затронет объект. Я сделал задержку, чтобы успеть повлиять. Но если есть способ, он может мгновенно исчезнуть, тогда это здорово. Я просто хотел дать время оболочке, чтобы применить силу.Как заставить оболочку вытолкнуть объект после саморазрушения с задержкой (Unity3D)
void OnTriggerEnter(Collider other) {
if (other.tag == "Boundary")
{
return;
}
//Destroy (gameObject);
StartCoroutine(WaitAndDestroy());
}
IEnumerator WaitAndDestroy() {
yield return new WaitForSeconds(2);
Destroy (gameObject);
}
Что такое пуля? Что бы это ни было, вам нужно отключить его в этом состоянии. – trojanfoe
@Scott Chamberlain сделано –
Насколько велики коллайдеры для этих объектов? Иногда объекты могут «проскальзывать» друг с другом, не обнаруживаясь, если коллайдеры недостаточно велики. –