Коллизия Unity не обнаружена

Я делаю игру 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");
    }

}

Коллизия Unity не обнаружена

Коллизия Unity не обнаружена

Коллизия Unity не обнаружена

вы установили коллайдер в качестве триггера? Вы проверили диаграмму триггера/коллайдера? вы имели в виду триггер или вы хотели столкновения?

BugFinder 30.01.2019 09:32

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

Atanas 30.01.2019 09:54

так что не отвечаю на вопрос..

BugFinder 30.01.2019 10:00
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
3
914
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Ответ принят как подходящий

вам нужно OnCollisionEnter

void OnCollisionEnter(Collision collision){

}

потому что ваши коллайдеры не триггеры.

Я так не думаю, потому что он хочет, чтобы красный куб толкал другие

Lestat 30.01.2019 10:11

Правда, я наполовину пропустил это, но тогда вы могли бы добавить скорость вручную или что-то вроде того, что она убегает или что-то в этом роде..

BugFinder 30.01.2019 10:14

Спасибо, это решает проблему, а также приводит к другой. Теперь я получаю из консоли: Имя «другое» не существует в текущем контексте. Как переписать other.gameObject.tag == "Enemy" так, чтобы other означал объект столкновения?

Atanas 30.01.2019 10:24

теперь вы должны использовать «столкновение», может быть, его столкновение.collider.gameObject.tag?

Lestat 30.01.2019 10:36

Вам необходимо реализовать OnCollisionEnter (столкновение столкновений), а не OnTriggerEnter (другой коллайдер), или установить флажок BoxCollider IsTrigger.

Есть 3 вещи, которые нужно проверить 1. Вместо OnTriggerEnter следует использовать OnCollisionEnter. 2. Флажок isTrigger должен быть включен, чтобы событие срабатывало при столкновении обоих тел с другими. 3. Самая важная вещь, которую никто не упомянул, это теги, присвоенные игровому объекту или врагам, потому что нам нужно определить игровой объект, событие которого должно срабатывать при попадании в конкретное тело, потому что игровой объект содержит коллайдер и может столкнуться с любым стена или что-то в этом роде, поэтому вам нужно правильно определить теги

Другие вопросы по теме