Я делаю игру Unity, в которой игрок должен вытолкнуть весь объект «Враг» с самолета. Итак, чтобы иметь возможность подсчитать количество упавших объектов, я хочу, как правило, иметь возможность определить, когда произошло столкновение между красным кубом и любым другим кубом. Скрипт вроде не определяет коллизию, как исправить?
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Collide : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
}
void OnTriggerEnter(Collider other)
{
if (other.gameObject.tag == "Enemy")
Destroy(gameObject);
Debug.Log("Hit Occured");
}
}



Я хочу видеть сообщение Debug.Log после столкновения между красным кубом и любым другим кубом
так что не отвечаю на вопрос..





вам нужно OnCollisionEnter
void OnCollisionEnter(Collision collision){
}
потому что ваши коллайдеры не триггеры.
Я так не думаю, потому что он хочет, чтобы красный куб толкал другие
Правда, я наполовину пропустил это, но тогда вы могли бы добавить скорость вручную или что-то вроде того, что она убегает или что-то в этом роде..
Спасибо, это решает проблему, а также приводит к другой. Теперь я получаю из консоли: Имя «другое» не существует в текущем контексте. Как переписать other.gameObject.tag == "Enemy" так, чтобы other означал объект столкновения?
теперь вы должны использовать «столкновение», может быть, его столкновение.collider.gameObject.tag?
Вам необходимо реализовать OnCollisionEnter (столкновение столкновений), а не OnTriggerEnter (другой коллайдер), или установить флажок BoxCollider IsTrigger.
Есть 3 вещи, которые нужно проверить 1. Вместо OnTriggerEnter следует использовать OnCollisionEnter. 2. Флажок isTrigger должен быть включен, чтобы событие срабатывало при столкновении обоих тел с другими. 3. Самая важная вещь, которую никто не упомянул, это теги, присвоенные игровому объекту или врагам, потому что нам нужно определить игровой объект, событие которого должно срабатывать при попадании в конкретное тело, потому что игровой объект содержит коллайдер и может столкнуться с любым стена или что-то в этом роде, поэтому вам нужно правильно определить теги
вы установили коллайдер в качестве триггера? Вы проверили диаграмму триггера/коллайдера? вы имели в виду триггер или вы хотели столкновения?